Ajuste em uma funзгo ! -
Yak - 02.04.2015
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(playerid, CheckMerc))
{
if(IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid,-1, "| ERRO | Esse nгo й o caminhгo que entrega nessa posiзгo!");
}
else
{
if(CPS_IsPlayerInCheckpoint(playerid, CheckAg))
{
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(info, sizeof(info), "| ENTREGA | O Caminhгo dos Agentes foi entregue pelo player %s ao seu destino!", pName);
SendClientMessageToAll(AzulClaro,info);
SetPlayerScore(playerid, GetPlayerScore(playerid) +1);
SetVehicleToRespawn(Caminhao[0]);
DisablePlayerCheckpoint(playerid);
return 1;
}
}
}
}
}
if(VehID == Caminhao[1])
{
if(Org[playerid] == 0)
{
if(CPS_IsPlayerInCheckpoint(playerid, CheckAg))
{
if(IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid,-1, "| ERRO | Esse nгo й o caminhгo que entrega nessa posiзгo!");
}
else
{
if(CPS_IsPlayerInCheckpoint(playerid, CheckMerc))
{
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(info, sizeof(info), "| ENTREGA | O Caminhгo dos Mercenбrios foi entregue pelo player %s ao seu destino!", pName);
SendClientMessageToAll(AzulClaro,info);
SetPlayerScore(playerid, GetPlayerScore(playerid) +1);
SetVehicleToRespawn(Caminhao[0]);
DisablePlayerCheckpoint(playerid);
return 1;
}
}
}
}
}
return 1;
}
Obrigado !
@Edit
Alguйm me ajuda por favor ? :/
Re: Ajuste em uma funзгo ! -
Hardware - 02.04.2015
Especifique melhor o que estб dando de problema.
Re: Ajuste em uma funзгo ! -
loukofire - 02.04.2015
voce precisa criar no inicio do gm new caminhao[2];
Re: Ajuste em uma funзгo ! -
Yak - 02.04.2015
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
Re: Ajuste em uma funзгo ! -
BCG2000 - 02.04.2015
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(playerid, CheckMerc))
{
SendClientMessage(playerid,-1, "| ERRO | Esse nгo й o caminhгo que entrega nessa posiзгo!");
}
else if(CPS_IsPlayerInCheckpoint(playerid, CheckAg))
{
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(info, sizeof(info), "| ENTREGA | O Caminhгo dos Agentes foi entregue pelo player %s ao seu destino!", pName);
SendClientMessageToAll(AzulClaro,info);
SetPlayerScore(playerid, GetPlayerScore(playerid) +1);
SetVehicleToRespawn(Caminhao[0]);
DisablePlayerCheckpoint(playerid);
}
}
}
else if(VehID == Caminhao[1])
{
if(Org[playerid] == Mercenario)
{
if(CPS_IsPlayerInCheckpoint(playerid, CheckAg))
{
SendClientMessage(playerid,-1, "| ERRO | Esse nгo й o caminhгo que entrega nessa posiзгo!");
}
else if(CPS_IsPlayerInCheckpoint(playerid, CheckMerc))
{
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(info, sizeof(info), "| ENTREGA | O Caminhгo dos Mercenбrios foi entregue pelo player %s ao seu destino!", pName);
SendClientMessageToAll(AzulClaro,info);
SetPlayerScore(playerid, GetPlayerScore(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.
Re: Ajuste em uma funзгo ! -
Yak - 02.04.2015
Eu tinha conseguido arrumar o cуdigo antes de vocк responder, mas, obrigado de qualquer forma.
Ajudou muito!
Re: Ajuste em uma funзгo ! -
BCG2000 - 03.04.2015
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.
Re: Ajuste em uma funзгo ! -
Yak - 03.04.2015
Lembrarei disso, obrigado amigo !