[Ajuda] Oque tem de errado no Comando
#1

Tem o comando /dominar e й chamada esta public se for IVagosxBallas!
o problema й que to com um sйrio problema nessa Public que nгo da certo nunca :
pawn Код:
public IVagosxBallas(playerid)
{
    BallasEmIdlewood = 0;
    VagosEmIdlewood = 0;
    new string[128];
    if(provocoidlewood[playerid] == 1)
    {
        for (new i = 0; i < MAX_PLAYERS; i++)
        {
            if (IsPlayerConnected(i))
            {
                if (IsPlayerInPlace(i, 1905.908, -1810.773, 2227.908, -1530.773))
                {
                    if (PlayerInfo[i][pMembro] == 10 || PlayerInfo[i][pLider] == 10)
                    {
                        VagosEmIdlewood++;
                    }
                    else if (PlayerInfo[i][pMembro] == 11 || PlayerInfo[i][pLider] == 11)
                    {
                        BallasEmIdlewood++;
                    }
                }
            }
            if(BallasEmIdlewood != 0 && VagosEmIdlewood != 0)
            {
                SendVagosMessage(COLOR_WHITE, "[TERRITУRIO]: O combate em Idlewood foi prolongado. ", 1);
                SendBallasMessage(COLOR_WHITE, "[TERRITУRIO]: O combate em Idlewood foi prolongado.", 1);
                tempoidlewood = SetTimerEx("IVagosxBallas", 120000, 0, "i", i);
                return 1;
            }
            else if(BallasEmIdlewood == 0 && VagosEmIdlewood != 0)
            {
                SendClientMessageToAll(COLOR_YELLOW, "[TERRITУRIO]: Vagos conseguiram tomar o controle de Idlewood.");
                GangZoneStopFlashForAll(Idlewood);
                GangZoneShowForAll(Idlewood, COR_VAGOS);
                Dominando[i] = 0;
                provocoidlewood[i] = 0;
                guerraemidlewood = 0;
                donoidlewood = 4;
                KillTimer(tempoidlewood);
                return 1;
            }
            else if (BallasEmIdlewood != 0 && VagosEmIdlewood == 0) // 5750
            {
                format(string, sizeof(string), "[TERRITУRIO]: Ballas consegue manter o controle de Idlewood. ");
                SendClientMessageToAll(COLOR_YELLOW, string);
                GangZoneStopFlashForAll(Idlewood);
                GangZoneShowForAll(Idlewood, COR_BALLAS);
                Dominando[i] = 0;
                provocoidlewood[i] = 0;
                guerraemidlewood = 0;
                donoidlewood = 2;
                KillTimer(tempoidlewood);
                return 1;
            }
            else if(BallasEmIdlewood == 0 && VagosEmIdlewood == 0) //5763
            {
                SendClientMessageToAll(COLOR_YELLOW, "[TERRITУRIO]: O territуrio em Idlewood estб livre de Gangsters!");
                GangZoneStopFlashForAll(Idlewood);
                GangZoneShowForAll(Idlewood, Cinza);
                Dominando[i] = 0;
                provocoidlewood[i] = 0;
                guerraemidlewood = 0;
                donoidlewood = 0;
                KillTimer(tempoidlewood);
                return 1;
            }
        }
    }
    return 1;
}
O negуcio й o seguinte, parece que ele nгo faz a parte de incrementar +1 a cada player e org definida, ele vai direto pro Vagos conseguiram tomar o controle de Idlewood.

Eu acho que й porque onde ele estб posicionado em um lugar errado, mas nгo tenho outra ideia de colocar ele.


Alguem pode ajudar?

@Obs: Me desculpem por criar mais um tуpic com isso aqui, mais й que ja pedi varias ajudas todos ajudaram mais nгo da certo

@Creditos pela ajuda (nгo funciono infelizmente): Don_Speed e [THs]ShadoW, se tiver outros que nгo mencionei foi malz
Reply
#2

nao entendi bem oque acontece tem como explicar melhor?
Reply
#3

Quote:
Originally Posted by P1c4550
Посмотреть сообщение
nao entendi bem oque acontece tem como explicar melhor?
Na primeira parte ele tem que pegar todos que estгo no quadrado e verificar se forem das orgs 10 aumenta o Vagos se for da 11 aumenta o ballas
pawn Код:
public IVagosxBallas(playerid)
{
    BallasEmIdlewood = 0;
    VagosEmIdlewood = 0;
    new string[128];
    if(provocoidlewood[playerid] == 1)
    {
        for (new i = 0; i < MAX_PLAYERS; i++)
        {
            if (IsPlayerConnected(i))
            {
                if (IsPlayerInPlace(i, 1905.908, -1810.773, 2227.908, -1530.773))
                {
                    if (PlayerInfo[i][pMembro] == 10 || PlayerInfo[i][pLider] == 10)
                    {
                        VagosEmIdlewood++;
                    }
                    else if (PlayerInfo[i][pMembro] == 11 || PlayerInfo[i][pLider] == 11)
                    {
                        BallasEmIdlewood++;
                    }
                }
            }
Tipo й uma gz prolongбvel entгo й assim:
Vagos x Ballas
Se tiver + de 1 membro ballas e + de 1 membro Vagos, a gz prolonga.
pawn Код:
if(BallasEmIdlewood != 0 && VagosEmIdlewood != 0)
            {
                SendVagosMessage(COLOR_WHITE, "[TERRITУRIO]: O combate em Idlewood foi prolongado. ", 1);
                SendBallasMessage(COLOR_WHITE, "[TERRITУRIO]: O combate em Idlewood foi prolongado.", 1);
                tempoidlewood = SetTimerEx("IVagosxBallas", 120000, 0, "i", i);
                return 1;
            }
Se tiver + de 1 membro Vagos e nenhum Ballas, quem vence a gz й o Vagos.
pawn Код:
else if(BallasEmIdlewood == 0 && VagosEmIdlewood != 0)
            {
                SendClientMessageToAll(COLOR_YELLOW, "[TERRITУRIO]: Vagos conseguiram tomar o controle de Idlewood.");
                GangZoneStopFlashForAll(Idlewood);
                GangZoneShowForAll(Idlewood, COR_VAGOS);
                Dominando[i] = 0;
                provocoidlewood[i] = 0;
                guerraemidlewood = 0;
                donoidlewood = 4;
                KillTimer(tempoidlewood);
                return 1;
            }
Se tiver + de 1 membro Ballas e nenhum vagos, quem vence a gz й os Ballas.
pawn Код:
else if (BallasEmIdlewood != 0 && VagosEmIdlewood == 0) // 5750
            {
                format(string, sizeof(string), "[TERRITУRIO]: Ballas consegue manter o controle de Idlewood. ");
                SendClientMessageToAll(COLOR_YELLOW, string);
                GangZoneStopFlashForAll(Idlewood);
                GangZoneShowForAll(Idlewood, COR_BALLAS);
                Dominando[i] = 0;
                provocoidlewood[i] = 0;
                guerraemidlewood = 0;
                donoidlewood = 2;
                KillTimer(tempoidlewood);
                return 1;
            }
E se nгo tiver nem vagos e nem ballas no territуrio, o territorio n tem mais gangsters.
pawn Код:
else if(BallasEmIdlewood == 0 && VagosEmIdlewood == 0) //5763
            {
                SendClientMessageToAll(COLOR_YELLOW, "[TERRITУRIO]: O territуrio em Idlewood estб livre de Gangsters!");
                GangZoneStopFlashForAll(Idlewood);
                GangZoneShowForAll(Idlewood, Cinza);
                Dominando[i] = 0;
                provocoidlewood[i] = 0;
                guerraemidlewood = 0;
                donoidlewood = 0;
                KillTimer(tempoidlewood);
                return 1;
            }
E eu nгo sei qual й o problema porque ele nгo ta fazendo isto certo :S.
Tipo se eu ataco com o Vagos e tem vagos e ballas no territуrio ele diz que vagos ganhou :S
Alguem porfavor ajuda aquiii
Reply
#4

@Upp alguem ajuda ai porfavor
Reply
#5

Faz tempo que eu nгo mexo muito com pawn, mas se for o que eu entendi, vocк terб que fechar esse loop ae. Porque ele deve estar fazendo a verificaзгo na primeira "volta" do loop. E acho que para dar o resultado que deseja, ele terб que "rodar" atй acabar
Reply
#6

tem um exemplo ai?
Reply
#7

Vк se assim dб certo:
pawn Код:
public IVagosxBallas(playerid)
{
    BallasEmIdlewood = 0;
    VagosEmIdlewood = 0;
    new string[128];
    if(provocoidlewood[playerid] == 1)
    {
        for (new i = 0; i < MAX_PLAYERS; i++)
        {
            if (IsPlayerConnected(i))
            {
                if (IsPlayerInPlace(i, 1905.908, -1810.773, 2227.908, -1530.773))
                {
                    if (PlayerInfo[i][pMembro] == 10 || PlayerInfo[i][pLider] == 10)
                    {
                        VagosEmIdlewood++;
                    }
                    else if (PlayerInfo[i][pMembro] == 11 || PlayerInfo[i][pLider] == 11)
                    {
                        BallasEmIdlewood++;
                    }
                }
            }
        }
        if(BallasEmIdlewood != 0 && VagosEmIdlewood != 0)
        {
            SendVagosMessage(COLOR_WHITE, "[TERRITУRIO]: O combate em Idlewood foi prolongado. ", 1);
            SendBallasMessage(COLOR_WHITE, "[TERRITУRIO]: O combate em Idlewood foi prolongado.", 1);
            tempoidlewood = SetTimerEx("IVagosxBallas", 120000, 0, "i", i);
            return 1;
        }
        else if(BallasEmIdlewood == 0 && VagosEmIdlewood != 0)
        {
            SendClientMessageToAll(COLOR_YELLOW, "[TERRITУRIO]: Vagos conseguiram tomar o controle de Idlewood.");
            GangZoneStopFlashForAll(Idlewood);
            GangZoneShowForAll(Idlewood, COR_VAGOS);
            donoidlewood = 4;
        }
        else if (BallasEmIdlewood != 0 && VagosEmIdlewood == 0) // 5750
        {
            format(string, sizeof(string), "[TERRITУRIO]: Ballas consegue manter o controle de Idlewood. ");
            SendClientMessageToAll(COLOR_YELLOW, string);
            GangZoneStopFlashForAll(Idlewood);
            GangZoneShowForAll(Idlewood, COR_BALLAS);
            donoidlewood = 2;
        }
        else if(BallasEmIdlewood == 0 && VagosEmIdlewood == 0) //5763
        {
            SendClientMessageToAll(COLOR_YELLOW, "[TERRITУRIO]: O territуrio em Idlewood estб livre de Gangsters!");
            GangZoneStopFlashForAll(Idlewood);
            GangZoneShowForAll(Idlewood, Cinza);
            donoidlewood = 0;
        }
        guerraemidlewood = 0;
        KillTimer(tempoidlewood);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            Dominando[i] = 0;
            provocoidlewood[i] = 0;
        }
    }
    return 1;
}
Reply
#8

Quote:
Originally Posted by humildadeforever
Посмотреть сообщение
Vк se assim dб certo:
pawn Код:
public IVagosxBallas(playerid)
{
    BallasEmIdlewood = 0;
    VagosEmIdlewood = 0;
    new string[128];
    if(provocoidlewood[playerid] == 1)
    {
        for (new i = 0; i < MAX_PLAYERS; i++)
        {
            if (IsPlayerConnected(i))
            {
                if (IsPlayerInPlace(i, 1905.908, -1810.773, 2227.908, -1530.773))
                {
                    if (PlayerInfo[i][pMembro] == 10 || PlayerInfo[i][pLider] == 10)
                    {
                        VagosEmIdlewood++;
                    }
                    else if (PlayerInfo[i][pMembro] == 11 || PlayerInfo[i][pLider] == 11)
                    {
                        BallasEmIdlewood++;
                    }
                }
            }
        }
        if(BallasEmIdlewood != 0 && VagosEmIdlewood != 0)
        {
            SendVagosMessage(COLOR_WHITE, "[TERRITУRIO]: O combate em Idlewood foi prolongado. ", 1);
            SendBallasMessage(COLOR_WHITE, "[TERRITУRIO]: O combate em Idlewood foi prolongado.", 1);
            tempoidlewood = SetTimerEx("IVagosxBallas", 120000, 0, "i", i);
            return 1;
        }
        else if(BallasEmIdlewood == 0 && VagosEmIdlewood != 0)
        {
            SendClientMessageToAll(COLOR_YELLOW, "[TERRITУRIO]: Vagos conseguiram tomar o controle de Idlewood.");
            GangZoneStopFlashForAll(Idlewood);
            GangZoneShowForAll(Idlewood, COR_VAGOS);
            donoidlewood = 4;
        }
        else if (BallasEmIdlewood != 0 && VagosEmIdlewood == 0) // 5750
        {
            format(string, sizeof(string), "[TERRITУRIO]: Ballas consegue manter o controle de Idlewood. ");
            SendClientMessageToAll(COLOR_YELLOW, string);
            GangZoneStopFlashForAll(Idlewood);
            GangZoneShowForAll(Idlewood, COR_BALLAS);
            donoidlewood = 2;
        }
        else if(BallasEmIdlewood == 0 && VagosEmIdlewood == 0) //5763
        {
            SendClientMessageToAll(COLOR_YELLOW, "[TERRITУRIO]: O territуrio em Idlewood estб livre de Gangsters!");
            GangZoneStopFlashForAll(Idlewood);
            GangZoneShowForAll(Idlewood, Cinza);
            donoidlewood = 0;
        }
        guerraemidlewood = 0;
        KillTimer(tempoidlewood);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            Dominando[i] = 0;
            provocoidlewood[i] = 0;
        }
    }
    return 1;
}
PQP! mano se tu for menina eu dava um beijo(no rosto) caraaaaaca funfo!!!
Obrigado +rep pra tu ^^!
Muito obrigado mesmo te amo cara! kkkk
Reply
#9

Quote:
Originally Posted by ViniKuliveguisky
Посмотреть сообщение
PQP! mano se tu for menina eu dava um beijo(no rosto) caraaaaaca funfo!!!
Obrigado +rep pra tu ^^!
Muito obrigado mesmo te amo cara! kkkk
De nada kkk'
E eu sou menina sim. Meu nome й Ana
Reply
#10

Ana ee.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)