[Ajuda] Conflito checkpoint's
#1

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.
Reply
#2

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.
Reply
#3

Obrigado @FrostyWolf. Vossa ajuda resultou em уtimos frutos.
Reply
#4

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!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)