23.12.2013, 13:36
Iae amigos, estou tendo um problema com o meu FS, que eu nгo estou conseguindo fazer um cуdigo para o player sair de dentro da empresa, sem usar o /sairemp, e sim pela porta de saнda!
Eu tentei fazer, vejam oque eu fiz:
Porйm, nгo estб dando certo! Quando eu aperto F ou ENTER na saнda da empresa, ele nгo sai, fica parado lб, nгo acontece nada! Aн eu tenho que usar o comando de sair da empresa, que й este:
Faz 1 ano que nгo mecho com Pawn, entгo eu estou noob denovo... Desculpem se o erro que eu cometi й idiota, mas eu ainda nгo peguei o jeito!
Ficaria muito agradecido se alguйm pudesse me ajudar! Nгo estou pedindo um cуdigo pronto, e sim uma ajuda! Um dica de como fazer/resolver! ... se esqueci de postar algum outro cуdigo, me avisem! OBRIGADO!
Eu tentei fazer, vejam oque eu fiz:
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) //Callback de apertar as teclas...
{
if ((newkeys == KEY_SECONDARY_ATTACK)) //Tecla F ou ENTER
{
if(InfosEmp[playerid][DentroEmp] == true) //Se o player estiver dentro de uma empresa
{
if(IsPlayerInRangeOfPoint(playerid,2.0,InfosEmp[playerid][PosSaidaX],InfosEmp[playerid][PosSaidaY],InfosEmp[playerid][PosSaidaZ])) //Se o player estiver na porta da saida (Coordenadas getadas quando ele entra na empresa 'veja na ultima linha')
{
SetPlayerInterior(playerid,0); //Volta ao interior do mundo normal
SetPlayerPos(playerid,InfosEmp[playerid][UltimaPosX],InfosEmp[playerid][UltimaPosY],InfosEmp[playerid][UltimaPosZ]); //E volta nas coordenadas na porta da entrada da empresa
InfosEmp[playerid][DentroEmp] = false; //Nгo estб mais dentro de uma empresa
}
}
for(new e = 0; e <= MAX_EMPRESAS; ++e)
{
new Emps[128];
format(Emps,sizeof(Emps),"Empresas/%d.ini",e);
{
if(IsPlayerInRangeOfPoint(playerid,2.0,DOF2_GetFloat(Emps,"X"),DOF2_GetFloat(Emps,"Y"),DOF2_GetFloat(Emps,"Z"))) //Se o player estiver nas coordenadas da entrada de alguma empresa...
{
if(DOF2_GetInt(Emps,"IDInterior") == 0) //Se for a empresa numero 1...
{
InfosEmp[playerid][IDEmpPresente] = DOF2_GetInt(Emps,"ID"); //Guardar o numero da empresa que ele estб
SetPlayerInterior(playerid,17); //Coloca ele no interior dessa empresa
SetPlayerPos(playerid,-25.884498,-185.868988,1003.546875); //Coloca ele nas coordenadas desse interior da empresa
FuncoesEmp(playerid); //Aqui vai cobrar o valor da entrada, etc...
GetPlayerPos(playerid,InfosEmp[playerid][PosSaidaX],InfosEmp[playerid][PosSaidaY],InfosEmp[playerid][PosSaidaZ]); //E aqui, vai pegar as coordenadas de onde ele spawnou dentro da empresa, na entrada da empresa! Para poder sair por aqui!
break;
}
// Entre vбaarios outros interiores......
}
}
}
}
return 1;
}
pawn Код:
CMD:sairemp(playerid)
{
if(InfosEmp[playerid][DentroEmp] == false)
{
SendClientMessage(playerid,-1,"{FFFFFF}[ ! ] {FF0000}Vocк nгo estб dentro de uma empresa{FFFFFF}!");
}
else
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,InfosEmp[playerid][UltimaPosX],InfosEmp[playerid][UltimaPosY],InfosEmp[playerid][UltimaPosZ]);
InfosEmp[playerid][DentroEmp] = false;
}
return 1;
}
Ficaria muito agradecido se alguйm pudesse me ajudar! Nгo estou pedindo um cуdigo pronto, e sim uma ajuda! Um dica de como fazer/resolver! ... se esqueci de postar algum outro cуdigo, me avisem! OBRIGADO!