[AJUDA] COm INCENDIO!
#1

Galera, o meu sistema de incendio ta com 1 problema.
O problema й na hora de apagar o fogo!

Eu digito /incendiar ai crio certinho, CODE DO /incendiar:

pawn Код:
if(strcmp("/incendiar", cmdtext, true, 10) == 0)
        {
        if(IsPlayerInWater(playerid))
        {
        SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode fazer incendios na бgua!");
        return 1;
        }
        if(GetPlayerInterior(playerid) >= 1)
        {
        SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode colocar fogo em interiores!");
        return 1;
        }
        if(!IsAMember(playerid))
        {
        SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo й um Criminoso!");
        return 1;
        }
        if(IncendioAcontecendo == true) return SendClientMessage(playerid, COLOR_GRAD1, "Alguem jб colocou fogo em algum lugar!");
        new Float:PlayerX, Float:PlayerY, Float:PlayerZ;
        GetPlayerPos(playerid,PlayerX,PlayerY,PlayerZ);
        FogoX[0]=PlayerX+-1.9826;   FogoY[0]=PlayerY+-1.5052;   FogoZ[0]=PlayerZ-2;
        FogoX[1]=PlayerX+-1.9816;   FogoY[1]=PlayerY+-0.1017;   FogoZ[1]=PlayerZ-2;
        FogoX[2]=PlayerX+-3.2436;   FogoY[2]=PlayerY+-1.5876;   FogoZ[2]=PlayerZ-2;
        FogoX[3]=PlayerX+-1.9826;   FogoY[3]=PlayerY+-1.5052;   FogoZ[3]=PlayerZ-2;
        FogoX[4]=PlayerX+-1.7868;   FogoY[4]=PlayerY+-2.4806;   FogoZ[4]=PlayerZ-2;
        FogoX[5]=PlayerX+-1.1713;   FogoY[5]=PlayerY+-0.6008;   FogoZ[5]=PlayerZ-2;
        FogoX[6]=PlayerX+-2.4602;   FogoY[6]=PlayerY+0.0455;    FogoZ[6]=PlayerZ-2;
        FogoX[7]=PlayerX+-2.7717;   FogoY[7]=PlayerY+-0.6095;   FogoZ[7]=PlayerZ-2;
        FogoX[8]=PlayerX+-2.4602;   FogoY[8]=PlayerY+0.0455;    FogoZ[8]=PlayerZ-2;
        IncendioAcontecendo = true;
        SendClientMessage(playerid, COLOR_DBLUE, "AVISO: O Local a sua frente irб ser incendiado dentro de 2 segundos, corra para nгo morrer queimado!");
        SetTimerEx("Incendio", 2000, false, "i", playerid);
        return 1;
        }

Atй ai tudo bem, mas o problema й que quando o bombeiro chega la e tenta usar o extintor ele nгo tem efeito O.o:

Aqui o code:

pawn Код:
public ApagarFogo(playerid)
{
    new string[150];
    if(Extintor[playerid] > 0 && ApagandoIncendio[playerid] == true && MeioDeApagar[playerid] > 0)
    {
        if(MeioDeApagar[playerid] == EXTINTOR)
        {
            for(new e = 0; e < 9; e++)
            {
                if(IsPlayerInRangeOfPoint(playerid, 20.0, FogoX[e], FogoY[e], FogoZ[e]))
                {
                    DestroyObject(FogoID[e]);
                    FogoApagado[e] = true;
                }
            }
            if(FogoApagado[8] == true)
            {
                IncendioAcontecendo = false;
                ApagandoIncendio[playerid] = false;
                Extintor[playerid] = 0;
                format(string, sizeof(string), "[Central]: Os bombeiros apagaram o fogo que estava ativo e receberam 10000 de prйmio!");
                SendClientMessageToAll(0x33FF00FF, string);
                MeioDeApagar[playerid] = 0;
                KillTimer(SetTimerEx("ApagarFogo", 100, false, "i", playerid));
                for(new i=0; i<MAX_SLOTS; i++)
                {
                if(PlayerInfo[i][pLider] == 21 || PlayerInfo[i][pMembro] == 21)
                {
                GivePlayerMoney(i, 10000);
                DisablePlayerCheckpoint(i);
                SendClientMessage(i, COLOR_LIGHTRED, "[Central]: Obrigado pelo vosso trabalho, mais uma vez a cidade foi protegida!");
                }
               }
            }
        }
        if(MeioDeApagar[playerid] == CAMINHAO && IsPlayerInRangeOfPoint(playerid, 10.0, FogoX[1]-8.3718,FogoY[1]-8.429,FogoZ[1]))
        {
            for(new e = 0; e < 9; e++)
            {
                DisablePlayerCheckpoint(playerid);
                DestroyObject(FogoID[e]);
                FogoApagado[e] = true;
            }
            if(FogoApagado[8] == true)
            {
                IncendioAcontecendo = false;
                ApagandoIncendio[playerid] = false;
                Extintor[playerid] = 0;
                format(string, sizeof(string), "[Central]: Os bombeiros apagaram o fogo que estava ativo e receberam 10000 de prйmio!");
                SendClientMessageToAll(0x33FF00FF, string);
                MeioDeApagar[playerid] = 0;
                KillTimer(SetTimerEx("ApagarFogo", 100, false, "i", playerid));
                for(new i=0; i<MAX_SLOTS; i++)
                {
                if(PlayerInfo[i][pLider] == 21 || PlayerInfo[i][pMembro] == 21)
                {
                GivePlayerMoney(i, 10000);
                DisablePlayerCheckpoint(i);
                SendClientMessage(i, COLOR_LIGHTRED, "[Central]: Obrigado pelo vosso trabalho, mais uma vez a cidade foi protegida!");
                }
               }
            }
        }
    }
    return 1;
}


Se quiserem que eu poste mais algo me avisem porfavor!
Reply
#2

Ups!
Reply
#3

Usa do jeito que o rjjj postou, sem ediзхes ...
Reply
#4

Ele postou onde? Aqui nao? O.o
Reply
#5

pawn Код:
public ApagarFogo(playerid)
{
    new string[150];
//    if(Extintor[playerid] > 0 && ApagandoIncendio[playerid] == true && MeioDeApagar[playerid] > 0)
    if(GetPlayerWeapon(playerid) == 42 && ApagandoIncendio[playerid] == true)
    {
        {
            for(new e = 0; e < 9; e++)
            {
                if(IsPlayerInRangeOfPoint(playerid, 20.0, FogoX[e], FogoY[e], FogoZ[e]))
                {
                    DestroyObject(FogoID[e]);
                    FogoApagado[e] = true;
                }
            }
            if(FogoApagado[8] == true)
            {
                IncendioAcontecendo = false;
                ApagandoIncendio[playerid] = false;
                Extintor[playerid] = 0;
                format(string, sizeof(string), "[Central]: Os bombeiros apagaram o fogo que estava ativo e receberam 10000 de prйmio!");
                SendClientMessageToAll(0x33FF00FF, string);
                MeioDeApagar[playerid] = 0;
                KillTimer(SetTimerEx("ApagarFogo", 100, false, "i", playerid));
                for(new i=0; i<MAX_SLOTS; i++)
                {
                if(PlayerInfo[i][pLider] == 21 || PlayerInfo[i][pMembro] == 21)
                {
                GivePlayerMoney(i, 10000);
                DisablePlayerCheckpoint(i);
                SendClientMessage(i, COLOR_LIGHTRED, "[Central]: Obrigado pelo vosso trabalho, mais uma vez a cidade foi protegida!");
                }
               }
            }
        }
        if(MeioDeApagar[playerid] == CAMINHAO && IsPlayerInRangeOfPoint(playerid, 10.0, FogoX[1]-8.3718,FogoY[1]-8.429,FogoZ[1]))
        {
            for(new e = 0; e < 9; e++)
            {
                DisablePlayerCheckpoint(playerid);
                DestroyObject(FogoID[e]);
                FogoApagado[e] = true;
            }
            if(FogoApagado[8] == true)
            {
                IncendioAcontecendo = false;
                ApagandoIncendio[playerid] = false;
                Extintor[playerid] = 0;
                format(string, sizeof(string), "[Central]: Os bombeiros apagaram o fogo que estava ativo e receberam 10000 de prйmio!");
                SendClientMessageToAll(0x33FF00FF, string);
                MeioDeApagar[playerid] = 0;
                KillTimer(SetTimerEx("ApagarFogo", 100, false, "i", playerid));
                for(new i=0; i<MAX_SLOTS; i++)
                {
                if(PlayerInfo[i][pLider] == 21 || PlayerInfo[i][pMembro] == 21)
                {
                GivePlayerMoney(i, 10000);
                DisablePlayerCheckpoint(i);
                SendClientMessage(i, COLOR_LIGHTRED, "[Central]: Obrigado pelo vosso trabalho, mais uma vez a cidade foi protegida!");
                }
               }
            }
        }
    }
    return 1;
}}
/\ tenta
Reply
#6

Lanзamentos/Releases.
Reply
#7

Vlw Garfield, funfo!
Reply
#8

Estava me referindo а isto: https://sampforum.blast.hk/showthread.php?tid=212831

Seu codigo foi originado deste FS.
Reply
#9

Ahh, nem sabia porque meu amigo que me passo esse FS. Malz! Vo deixa os creditos do Rjjj no GM !
ALias, quem qusier entrar no server \/!
Reply
#10

pra nгo criar outro tуpico. vou postar aki mesmo galera to com o mesmo problema meu incendio nao apaga.


Sу consegui apagar 1 vez. E nunca mais.


pawn Код:
public ApagarFogo(playerid)
{
    new string[150], NickName[MAX_PLAYER_NAME];
    if(Extintor[playerid] > 0 && ApagandoIncendio[playerid] == true && MeioDeApagar[playerid] > 0)
    {
        if(MeioDeApagar[playerid] == EXTINTOR)
        {
            for(new e = 0; e < 9; e++)
            {
                if(IsPlayerInRangeOfPoint(playerid, 10.0, FogoX[e], FogoY[e], FogoZ[e]))
                {
                    DestroyObject(FogoID[e]);
                    FogoApagado[e] = true;
                }
            }
            if(FogoApagado[8] == true)
            {
                IncendioAcontecendo = false;
                ApagandoIncendio[playerid] = false;
                Extintor[playerid] = 0;
                GetPlayerName(playerid, NickName, sizeof(NickName));
                format(string, sizeof(string), "[AVISO] Uma Salva de Palmas para Quem Apagou o Fogo, %s !", NickName);
                SendClientMessageToAll(0x33FF00FF, string);
                GivePlayerMoney(playerid, 25000);
                MeioDeApagar[playerid] = 0;
                SendClientMessage(playerid, 0x33CCFFAA, "[INFO] Vocк Recebeu uma Quantia de 25000 Mil como Prкmio !");
                KillTimer(SetTimerEx("ApagarFogo", 12000, false, "i", playerid));
            }
        }
        if(MeioDeApagar[playerid] == CAMINHAO && IsPlayerInRangeOfPoint(playerid, 10.0, FogoX[1]-8.3718,FogoY[1]-8.429,FogoZ[1]))
        {
            for(new e = 0; e < 9; e++)
            {
                DisablePlayerCheckpoint(playerid);
                DestroyObject(FogoID[e]);
                FogoApagado[e] = true;
            }
            if(FogoApagado[8] == true)
            {
                IncendioAcontecendo = false;
                ApagandoIncendio[playerid] = false;
                Extintor[playerid] = 0;
                GetPlayerName(playerid, NickName, sizeof(NickName));
                format(string, sizeof(string), "[AVISO] Uma Salva de Palmas para Quem Apagou o Fogo, %s !", NickName);
                SendClientMessageToAll(0x33FF00FF, string);
                GivePlayerMoney(playerid, 25000);
                MeioDeApagar[playerid] = 0;
                SendClientMessage(playerid, 0x33CCFFAA, "[INFO] Vocк Recebeu uma Quantia de 25000 Mil como Prкmio !");
                KillTimer(SetTimerEx("ApagarFogo", 12000, false, "i", playerid));
            }
        }
    }
    return 1;
}


alguem pode ajudar?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)