[Ajuda] Ajuste em uma funзгo !
#1

Bem galera, eu fiz um cуdigo de "reconhecimento de entrega da mercadoria" e o meu objetivo й que uma organizaзгo vб na base da outra, pegue o caminhao deles e entrega na 'sua' respectiva base. acho que pela logica meu cуdigo ta certo, acontece que eu me embolei infelizmente e acabei me perdendo no cуdigo na hora de fazer as verificaзхes, poderiam me ajudar ?

Orgs:

PHP код:
new Org[MAX_PLAYERS] = 0;
//----------------------------------ORGS--------------------------------------//
#define Mercenario                                                              0
#define Agente                                                                    1
#define sOrg                                                                    2 
Caminhхes:

PHP код:
//----------------------CARROS-MERCENARIOS--------------------------------//
     
Caminhao[0] = AddStaticVehicle(455,868.1748,-1211.1238,16.9766,178.8500,3,3);//caminhao
//------------------------CARROS-AGENTES----------------------------------//
     
Caminhao[1] = AddStaticVehicle(455,2873.1750,921.2672,10.7500,95.2536,0,0);//caminhao 
Public OnPlayerEnterCheckpoint:

PHP код:
public OnPlayerEnterCheckpoint(playerid)
{
    new 
pName[MAX_PLAYER_NAME], info[128];
    new 
VehID GetPlayerVehicleID(playerid);
    if(
VehID == Caminhao[0])
    {
        if(
Org[playerid] == 1)
         {
            if(
CPS_IsPlayerInCheckpoint(playeridCheckMerc))
            {
                if(
IsPlayerInAnyVehicle(playerid))
                {
                
SendClientMessage(playerid,-1"| ERRO | Esse nгo й o caminhгo que entrega nessa posiзгo!");
                }
                    else
                {
                if(
CPS_IsPlayerInCheckpoint(playeridCheckAg))
                {
                    
GetPlayerName(playeridpNameMAX_PLAYER_NAME);
                    
format(infosizeof(info), "| ENTREGA | O Caminhгo dos Agentes foi entregue pelo player %s ao seu destino!"pName);
                    
SendClientMessageToAll(AzulClaro,info);
                     
SetPlayerScore(playeridGetPlayerScore(playerid) +1);
                     
SetVehicleToRespawn(Caminhao[0]);
                    
DisablePlayerCheckpoint(playerid);
                    return 
1;
                    }
                }
            }
        }
    }
    if(
VehID == Caminhao[1])
    {
        if(
Org[playerid] == 0)
         {
            if(
CPS_IsPlayerInCheckpoint(playeridCheckAg))
            {
                if(
IsPlayerInAnyVehicle(playerid))
                {
                
SendClientMessage(playerid,-1"| ERRO | Esse nгo й o caminhгo que entrega nessa posiзгo!");
                }
                    else
                {
                if(
CPS_IsPlayerInCheckpoint(playeridCheckMerc))
                {
                    
GetPlayerName(playeridpNameMAX_PLAYER_NAME);
                    
format(infosizeof(info), "| ENTREGA | O Caminhгo dos Mercenбrios foi entregue pelo player %s ao seu destino!"pName);
                    
SendClientMessageToAll(AzulClaro,info);
                    
SetPlayerScore(playeridGetPlayerScore(playerid) +1);
                    
SetVehicleToRespawn(Caminhao[0]);
                    
DisablePlayerCheckpoint(playerid);
                    return 
1;
                    }
                }
            }
        }
    }
    return 
1;

Obrigado !

@Edit

Alguйm me ajuda por favor ? :/
Reply
#2

Especifique melhor o que estб dando de problema.
Reply
#3

voce precisa criar no inicio do gm new caminhao[2];
Reply
#4

Estб tudo definido, eu apenas quero fazer com que a organizaзгo dos Mercenбrios pegue o caminhгo dos agentes e traga-o para a HQ dos Mercenбrios e vice-versa. Mas meu cуdigo nгo estб funcionando na parte "positiva" apenas estб reconhecendo que ele nгo pode entregar o caminhгo na propria HQ
Reply
#5

O seu erro foi utilizar o if incorretamente, e tambйm vocк estб fazendo checagens desnecessбrias.
Eu corrigi o cуdigo pra vocк, espero que funcione (nгo posso testar eu mesmo porque nгo tenho o script todo), e tambйm espero que nгo esqueci de nada aqui, ai vai:

PHP код:
public OnPlayerEnterCheckpoint(playerid)
{
    new 
pName[MAX_PLAYER_NAME], info[128];
    new 
VehID GetPlayerVehicleID(playerid);
    if(
VehID == Caminhao[0])
    {
        if(
Org[playerid] == Agente)
        {
            if(
CPS_IsPlayerInCheckpoint(playeridCheckMerc))
            {
                
SendClientMessage(playerid,-1"| ERRO | Esse nгo й o caminhгo que entrega nessa posiзгo!");
            }
            else if(
CPS_IsPlayerInCheckpoint(playeridCheckAg))
            {
                
GetPlayerName(playeridpNameMAX_PLAYER_NAME);
                
format(infosizeof(info), "| ENTREGA | O Caminhгo dos Agentes foi entregue pelo player %s ao seu destino!"pName);
                
SendClientMessageToAll(AzulClaro,info);
                
SetPlayerScore(playeridGetPlayerScore(playerid) +1);
                
SetVehicleToRespawn(Caminhao[0]);
                
DisablePlayerCheckpoint(playerid);
            }
        }
    }
    else if(
VehID == Caminhao[1])
    {
        if(
Org[playerid] == Mercenario)
        {
            if(
CPS_IsPlayerInCheckpoint(playeridCheckAg))
            {
                
SendClientMessage(playerid,-1"| ERRO | Esse nгo й o caminhгo que entrega nessa posiзгo!");
            }
            else if(
CPS_IsPlayerInCheckpoint(playeridCheckMerc))
            {
                
GetPlayerName(playeridpNameMAX_PLAYER_NAME);
                
format(infosizeof(info), "| ENTREGA | O Caminhгo dos Mercenбrios foi entregue pelo player %s ao seu destino!"pName);
                
SendClientMessageToAll(AzulClaro,info);
                
SetPlayerScore(playeridGetPlayerScore(playerid) +1);
                
SetVehicleToRespawn(Caminhao[0]);
                
DisablePlayerCheckpoint(playerid);
            }
        }
    }
    return 
1;

PS: Eu tambйm corrigi a indentaзгo do cуdigo pra vocк... Ficaria mais fбcil pra gente aqui se vocк indentasse o seu cуdigo corretamente usando TAB e nгo espaзo, sу dando a dica pra vocк mesmo... Se vocк tiver o hбbito de indentar o cуdigo, vai ajudar vocк tambйm e muito! E tambйm vocк definiu as organizaзхes usando #define, entгo use elas no seu cуdigo e nгo os nъmeros em si, como fiz ao corrigir o seu cуdigo.
Reply
#6

Eu tinha conseguido arrumar o cуdigo antes de vocк responder, mas, obrigado de qualquer forma. Ajudou muito!
Reply
#7

Nossa, depois de ver o meu post denovo eu vi que esqueci de tirar uma checagem desnecessбria... Editei o meu post corrigindo meu erro. Mas enfim, que bom que vocк conseguiu ajeitar o seu cуdigo. Sу lembre-se do que falei no final do meu post anterior.
Reply
#8

Lembrarei disso, obrigado amigo !
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)