#define MAX_FUEGOS 250 new FuegoInfo[MAX_FUEGOS][rInfo]; stock CreateFuego(Object,Float,Float:y,Float:z,Float:A ngle) { for(new i = 0; i < sizeof(FuegoInfo); i++) { if(FuegoInfo[i][sCreated] == 0) { FuegoInfo[i][sCreated]=1; FuegoInfo[i][sX]=x; FuegoInfo[i][sY]=y; FuegoInfo[i][sZ]=z-0.7; FuegoInfo[i][sObject] = CreateDynamicObject(Object, x, y, z-0.9, 0, 0, Angle); return 1; } } return 0; } stock DeleteAllFuego() { for(new i = 0; i < sizeof(FuegoInfo); i++) { if(FuegoInfo[i][sCreated] == 1) { FuegoInfo[i][sCreated]=0; FuegoInfo[i][sX]=0.0; FuegoInfo[i][sY]=0.0; FuegoInfo[i][sZ]=0.0; DestroyDynamicObject(FuegoInfo[i][sObject]); } } return 0; } stock DeleteClosestFuego(playerid) { for(new i = 0; i < sizeof(FuegoInfo); i++) { if(IsPlayerInRangeOfPoint(playerid, 2.0, FuegoInfo[i][sX], FuegoInfo[i][sY], FuegoInfo[i][sZ])) { if(FuegoInfo[i][sCreated] == 1) { FuegoInfo[i][sCreated]=0; FuegoInfo[i][sX]=0.0; FuegoInfo[i][sY]=0.0; FuegoInfo[i][sZ]=0.0; DestroyDynamicObject(FuegoInfo[i][sObject]); return 1; } } } return 0; } CMD:fuego(playerid,params[]) //Cambiй esto { if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid][pJDS] >= 1) { if(!sscanf(params,"i",params[0])) //Usй SSCANF para simplificar todo { new rb = params[0]; //Y cambiй strval por params if (rb == 1) { PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); new Floatlocx,Floatlocy,Floatlocz,Floatloca; GetPlayerPos(playerid, plocx, plocy, plocz); GetPlayerFacingAngle(playerid,ploca); CreateFuego(18691,plocx,plocy,plocz,ploca); CreateFuego(18688,plocx,plocy,plocz,ploca); GameTextForPlayer(playerid,"/w/Fuego /b/Colocado!",3000,1); return 1; } else if (rb == 2) { PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); new Floatlocx,Floatlocy,Floatlocz,Floatloca; GetPlayerPos(playerid, plocx, plocy, plocz); GetPlayerFacingAngle(playerid,ploca); CreateFuego(18688,plocx,plocy,plocz,ploca); CreateFuego(18689,plocx,plocy,plocz,ploca); GameTextForPlayer(playerid,"/w/Fuego /b/Colocado!",3000,1); return 1; } else if (rb == 3) { PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); new Floatlocx,Floatlocy,Floatlocz,Floatloca; GetPlayerPos(playerid, plocx, plocy, plocz); GetPlayerFacingAngle(playerid,ploca); CreateFuego(18694,plocx,plocy,plocz,ploca); CreateFuego(18679,plocx,plocy,plocz,ploca); CreateExplosion(plocx,plocy,plocz, 1, 80); GameTextForPlayer(playerid,"/w/Fuego /b/Colocado!",3000,1); return 1; } } } else SendClientMessage(playerid,-1,"Uso: /fuego [ID(1-3)]"); } return 1; } |
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); new Floatlocx,Floatlocy,Floatlocz,Floatloca; GetPlayerPos(playerid, plocx, plocy, plocz); GetPlayerFacingAngle(playerid,ploca); CreateFuego(18694,plocx,plocy,plocz,ploca); CreateFuego(18679,plocx,plocy,plocz,ploca); CreateExplosion(plocx,plocy,plocz, 1, 80); GameTextForPlayer(playerid,"/w/Fuego /b/Colocado!",3000,1); |
// en OnGameModeInit
SetTimer("CrearFuegoCadaHora", 3600, true);
// en cualquier parte
forward CrearFuegoCadaHora();
public CrearFuegoCadaHora()
{
new Floatlocx = COORDENADAS X; // Sustituir por las coordenadas deseadas...
new Floatlocy = COORDENADAS Y; // Sustituir por las coordenadas deseadas...
new Floatlocz = COORDENADAS Z; // Sustituir por las coordenadas deseadas...
new Floatloca = ANGULO; // Sustituir por las coordenadas deseadas...
CreateFuego(18694,plocx,plocy,plocz,ploca);
CreateFuego(18679,plocx,plocy,plocz,ploca);
CreateExplosion(plocx,plocy,plocz, 1, 80);
}