SA-MP Forums Archive
[Ajuda] Conflito checkpoint's - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Conflito checkpoint's (/showthread.php?tid=492558)



Conflito checkpoint's - Cidiei - 04.02.2014

Olб membros da comunidade, eu gostaria da ajuda dos senhores em relaзгo ao cуdigo abaixo, o mesmo estб resultando no seguinte problema, ao jogador ir atй o local de carregamento do caminhгo ele carrega, mas ao mesmo tempo ele descarrega, sendo que oque era para ocorrer era setar outro checkpoint para o jogador seguir e lб fazer o descarregamento.

pawn Код:
public OnPlayerEnterCheckpoint(playerid){
    if(EncomendaMarcada[playerid] == 1){
        EmEntrega[playerid] = 1;
        EncomendaMarcada[playerid] = 0;
        SetPlayerCheckpoint(playerid,368.2944,-2045.4547,7.6719,10.0);
        SendClientMessage(playerid,0xFF9900AA,"[S.A Trucker's]: {FFFFFF}Encomenda obtida, siga o checkpoint para chegar ao local de descarregamento!");
    }
    else if(EncomendaMarcada[playerid] == 2){
        EmEntrega[playerid] = 2;
        EncomendaMarcada[playerid] = 0;
        SetPlayerCheckpoint(playerid,1936.1621,-1772.8190,13.3828,10.0);
        SendClientMessage(playerid,0xFF9900AA,"[S.A Trucker's]: {FFFFFF}Encomenda obtida, siga o checkpoint para chegar ao local de descarregamento!");
    }
    else if(EncomendaMarcada[playerid] == 3){
        EmEntrega[playerid] = 3;
        EncomendaMarcada[playerid] = 0;
        SetPlayerCheckpoint(playerid,2050.6885,-2039.7441,13.5469,10.0);
        SendClientMessage(playerid,0xFF9900AA,"[S.A Trucker's]: {FFFFFF}Encomenda obtida, siga o checkpoint para chegar ao local de descarregamento!");
    }
    if(EmEntrega[playerid] == 1){
        DisablePlayerCheckpoint(playerid);
        TogglePlayerControllable(playerid,0);
        SetTimerEx("Descarregando",10000,0,"d",playerid);
        SendClientMessage(playerid,0xFF9900AA,"[S.A Trucker's]: {FFFFFF}Descarregando a encomenda... Aguarde 10 segundos.");
    }
    else if(EmEntrega[playerid] == 2){
        DisablePlayerCheckpoint(playerid);
        TogglePlayerControllable(playerid,0);
        SetTimerEx("Descarregando",10000,0,"d",playerid);
        SendClientMessage(playerid,0xFF9900AA,"[S.A Trucker's]: {FFFFFF}Descarregando a encomenda... Aguarde 10 segundos.");
    }
    else if(EmEntrega[playerid] == 3){
        DisablePlayerCheckpoint(playerid);
        TogglePlayerControllable(playerid,0);
        SetTimerEx("Descarregando",10000,0,"d",playerid);
        SendClientMessage(playerid,0xFF9900AA,"[S.A Trucker's]: {FFFFFF}Descarregando a encomenda... Aguarde 10 segundos.");
    }
    return 1;
}
Aguardo a ajuda de cada um dos membros desta comunidade, para a resoluзгo do problema por mim enfrentado.


Re: Conflito checkpoint's - FrostyWolf - 04.02.2014

Belo portuguкs, parabйns.

Quanto ao tуpico:

Acho que isso deve resolver, jб tive vбrios problemas semelhantes.

pawn Код:
public OnPlayerEnterCheckpoint(playerid)
{
    if(EncomendaMarcada[playerid] == 1)
    {
        EmEntrega[playerid] = 1;
        EncomendaMarcada[playerid] = 0;
        SetPlayerCheckpoint(playerid,368.2944,-2045.4547,7.6719,10.0);
        SendClientMessage(playerid,0xFF9900AA,"[S.A Trucker's]: {FFFFFF}Encomenda obtida, siga o checkpoint para chegar ao local de descarregamento!");
        return 1;
    }
    else if(EncomendaMarcada[playerid] == 2)
    {
        EmEntrega[playerid] = 2;
        EncomendaMarcada[playerid] = 0;
        SetPlayerCheckpoint(playerid,1936.1621,-1772.8190,13.3828,10.0);
        SendClientMessage(playerid,0xFF9900AA,"[S.A Trucker's]: {FFFFFF}Encomenda obtida, siga o checkpoint para chegar ao local de descarregamento!");
        return 1;
    }
    else if(EncomendaMarcada[playerid] == 3)
    {
        EmEntrega[playerid] = 3;
        EncomendaMarcada[playerid] = 0;
        SetPlayerCheckpoint(playerid,2050.6885,-2039.7441,13.5469,10.0);
        SendClientMessage(playerid,0xFF9900AA,"[S.A Trucker's]: {FFFFFF}Encomenda obtida, siga o checkpoint para chegar ao local de descarregamento!");
        return 1;
    }
    if(EmEntrega[playerid] == 1)
    {
        DisablePlayerCheckpoint(playerid);
        TogglePlayerControllable(playerid,0);
        SetTimerEx("Descarregando",10000,0,"d",playerid);
        SendClientMessage(playerid,0xFF9900AA,"[S.A Trucker's]: {FFFFFF}Descarregando a encomenda... Aguarde 10 segundos.");
        return 1;
    }
    else if(EmEntrega[playerid] == 2)
    {
        DisablePlayerCheckpoint(playerid);
        TogglePlayerControllable(playerid,0);
        SetTimerEx("Descarregando",10000,0,"d",playerid);
        SendClientMessage(playerid,0xFF9900AA,"[S.A Trucker's]: {FFFFFF}Descarregando a encomenda... Aguarde 10 segundos.");
        return 1;
    }
    else if(EmEntrega[playerid] == 3)
    {
        DisablePlayerCheckpoint(playerid);
        TogglePlayerControllable(playerid,0);
        SetTimerEx("Descarregando",10000,0,"d",playerid);
        SendClientMessage(playerid,0xFF9900AA,"[S.A Trucker's]: {FFFFFF}Descarregando a encomenda... Aguarde 10 segundos.");
        return 1;
    }
    return 1;
}
Apenas adicionei retorno nas funзхes, perceba que quando vocк altera a variбvel do jogador ele automбticamente jб salta para outra, jб que a primeira se tornou a segunda e assim por diante (se o retorno estiver ausente).

Espero que dк certo, abraзos.


Re: Conflito checkpoint's - Cidiei - 04.02.2014

Obrigado @FrostyWolf. Vossa ajuda resultou em уtimos frutos.


Re: Conflito checkpoint's - FrostyWolf - 05.02.2014

Quote:
Originally Posted by Cidiei
Посмотреть сообщение
Obrigado @FrostyWolf. Vossa ajuda resultou em уtimos frutos.
Nгo foi nada, estou aqui para ajudar. Fico feliz que tenha conseguido!