[Ajuda] Pequeno problema !!!
#1

Imagem de quando digito /dominar atй ai tudo certo:

Imagem de quando o player termina de dominar que deveria chamar a callback ExercitoGanhouAero:

Alguem sabe o por que disso?
Obrigado pela atenзгo

pawn Код:
//Comando /dominar
    if(strcmp(cmd, "/dominar", true) == 0)
    {
        if(GetPlayerTeam(playerid) == 1)//Exercito
        {
            if(JogadorEstaNoAero(playerid))
            {
                if(Dominando[playerid] == 1)
                {
                    SendClientMessage(playerid, grad5, "Vocк jб estб dominando um territorio.");
                    return 1;
                }
                if(GuerraNoAero == 1)
                {
                    SendClientMessage(playerid, grad5, "Jб estб tendo uma guerra nesse territorio.");
                    return 1;
                }
                if(donoAero == 1)
                {
                    SendClientMessage(playerid, grad5, "O Aeroporto jб estб sob domнnio do Exйrcito.");
                    return 1;
                }
                MensagemT(-1, ""CorExercito"%s "Grad5"e o "CorExercito"Exйrcito "Grad5"estгo tentando dominar o "Azulzinho"Aeroporto Abandonado"Grad5"!",Nome(playerid));
                SendClientMessage(playerid, grad3, "Espere completar a barra para dominar o "Laranja" Aeroporto Abandonado"Grad5".");
                GangZoneFlashForAll(GZAeroporto, cExercito);
                ExercitoDominandoAero = 0;
                TerroristaDominandoAero = 0;
                Dominando[playerid] = 1;
                ProvocoAero[playerid] = 1;
                GuerraNoAero = 1;
                TempoAero = SetTimer("AumentarProgressBar", 1000, true);
                return 1;
            }
        }
    }
    return 1
}
//Funзгo onde aumenta a progressbar
forward AumentarProgressBar();
public AumentarProgressBar()
{
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
        if(GuerraNoAero == 1)
        {
            if(GetPlayerTeam(i) == 1)
            {
                if(JogadorEstaNoAero(i))//Gangzone Aeroporto
                {
                    if(ExercitoDominandoAero < 5)
                    {
                        ExercitoDominandoAero++;
                    }
                    else if(ExercitoDominandoAero >= 5)
                    {
                        ExercitoGanhouAero(i);
                    }
                    ShowProgressBarForPlayer(i, Dominio_E[0]);
                    ShowProgressBarForPlayer(i, Dominio_T[0]);
                }
                else
                {
                    HideProgressBarForPlayer(i, Dominio_E[0]);
                    HideProgressBarForPlayer(i, Dominio_T[0]);
                }
            }
            if(GetPlayerTeam(i) == 2)
            {
                if(JogadorEstaNoAero(i))//Gangzone Aeroporto
                {
                    if(TerroristaDominandoAero < 5)
                    {
                        TerroristaDominandoAero++;
                    }
                    else if(TerroristaDominandoAero >= 5)
                    {
                        TerroristaGanhouAero(i);
                    }
                    ShowProgressBarForPlayer(i, Dominio_E[0]);
                    ShowProgressBarForPlayer(i, Dominio_T[0]);
                }
                else
                {
                    HideProgressBarForPlayer(i, Dominio_E[0]);
                    HideProgressBarForPlayer(i, Dominio_T[0]);
                }
            }
            SetProgressBarValue(Dominio_E[0], ExercitoDominandoAero);
            SetProgressBarValue(Dominio_T[0], TerroristaDominandoAero);
        }
    }
    return 1;
}
//Callback chamado quando o valor da progressbar se iguala 5, OBS: essa e a de terrorista й a msm sу muda os valores e textos
public ExercitoGanhouAero(playerid)
{
    MensagemT(-1, ""CorExercito"%s "Grad5"e o "CorExercito"Exйrcito "Grad5"dominaram o "Azulzinho"Aeroporto Abandonado"Grad5"! Ele e o "CorExercito"Exйrcito "Grad5"ganharam "VerdeC1"R$5000 "Grad5"e "Laranja"5 Pontos ",Nome(playerid));
    GangZoneStopFlashForAll(GZAeroporto);
    GangZoneShowForAll(GZAeroporto,cExercito);
    Dominando[playerid] = 0;
    ProvocoAero[playerid] = 0;
    GuerraNoAero = 0;
    donoAero = 1;
    HideProgressBarForPlayer(playerid, Dominio_E[0]);
    HideProgressBarForPlayer(playerid, Dominio_T[0]);
    DarGrana(Org[playerid]=1, 5000);
    jinfo[Org[playerid]=1][pPontos] += 5;
    KillTimer(TempoAero);
    return 1;
}
Reply
#2

tente trocar esta condicional removendo o 'else'
pawn Код:
else if(ExercitoDominandoAero >= 5)
por

pawn Код:
if(ExercitoDominandoAero >= 5)
{
      HideProgressBarForPlayer(playerid, Dominio_E[0]);/*remova da callback ExercitoDominadoAero*/
      HideProgressBarForPlayer(playerid, Dominio_T[0]);/*remova da callback ExercitoDominadoAero*/
      TerroristaGanhouAero(i);
}
Reply
#3

Quote:
Originally Posted by Schocc
Посмотреть сообщение
tente trocar esta condicional removendo o 'else'
pawn Код:
else if(ExercitoDominandoAero >= 5)
por

pawn Код:
if(ExercitoDominandoAero >= 5)
{
      HideProgressBarForPlayer(playerid, Dominio_E[0]);/*remova da callback ExercitoDominadoAero*/
      HideProgressBarForPlayer(playerid, Dominio_T[0]);/*remova da callback ExercitoDominadoAero*/
      TerroristaGanhouAero(i);
}
ok vou tentar aqui Schocc


@Edit
Velho nгo deu certo '-' vou testar de outra forma aqui
Reply
#4

Quote:
Originally Posted by Schocc
Посмотреть сообщение
tente trocar esta condicional removendo o 'else'
pawn Код:
else if(ExercitoDominandoAero >= 5)
por

pawn Код:
if(ExercitoDominandoAero >= 5)
{
      HideProgressBarForPlayer(playerid, Dominio_E[0]);/*remova da callback ExercitoDominadoAero*/
      HideProgressBarForPlayer(playerid, Dominio_T[0]);/*remova da callback ExercitoDominadoAero*/
      TerroristaGanhouAero(i);
}
Mas daн nгo fica o caso contrбrio


_
Reply
#5

Quote:
Originally Posted by Obama
Посмотреть сообщение
Mas daн nгo fica o caso contrбrio


_
Sim Obama eu testei das duas formas, porйm nгo some, e agora eu adicionei um textdraw para informar quantos players da mesma equipe estгo dentro e quantos % jб foi dominado por cada equipe, mas agora nem o textdraw nem a progressbar somem, nгo to intendendo por que, como uso a variбvel i para checar todos os players do server, eu uso HideProgressBarForPlayer(i, id da progress); e para o textdraw a mesma coisa, jб tentei usar HideProgressBarForAll mas tambйm nгo adianta, e tipo c eu for dominar outra gangzone, ele cria uma nova progressbar em cima da anterior :/
Reply
#6

UP....
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)