Bem, eu achei um pouco simples, porem pra mim ta dificil de resolver o erro :c
Ao entrar no suposto caminhгo, simplesmente ele entra normal sem ao menos fazer qualquer tipo de verificaзгo!
Ok, pela logica seu codigo й funcional, mas acontece de dar erro na verificaзгo das organizaзхes ao entrar no veiculo.
PHP код:
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dof2>
#define QUANTIDADE_PROFS 6
new _NameProfs[QUANTIDADE_PROFS][40] = {
"Desempregado",
"Camioneiro",
"Taxista",
"Mecanico",
"Seguranзa",
"Mendigo"
};
new Float:_SpawnProfs[QUANTIDADE_PROFS][3] = {
{1958.3783,1343.1572,15.3746},
{2199.6531,1393.3678,10.8203},
{2483.5977,1222.0825,10.8203},
{2637.2712,1129.2743,11.1797},
{2000.0106,1521.1111,17.0625},
{2024.8190,1917.9425,12.3386}
};
new _CoresProfs[QUANTIDADE_PROFS] = {
0xFFFFFFFF,
0xFFFF80FF,
0x80FF80FF,
0x80FFFFFF,
0x0080FFFF,
0xFF0000FF
};
new _Profissao[MAX_PLAYERS];
new VehiclesDesempregado[5];
main()
{
print("\n----------------------------------");
print(" Prof's... LOADED!");
print("----------------------------------\n");
}
CMD:setprof(playerid, params[])
{
new xString[128];
if(sscanf(params, "ud", params[0], params[1])) return SendClientMessage(playerid, 0xFF0000FF, "/setprof [ID] [PROF]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, 0xFF0000FF, "Jogador nгo conectado.");
if(params[1] >= QUANTIDADE_PROFS || params[1] < 0) return SendClientMessage(playerid, 0xFF0000FF, ":::: 0-5 ::::");
_Profissao[params[0]] = params[1];
format(xString, sizeof(xString), "Profissгo: %s | Jogador %s", _NameProfs[_Profissao[params[0]]], iName(params[0]));
SendClientMessage(playerid, _CoresProfs[_Profissao[params[0]]], xString);
format(xString, sizeof(xString), "Sua Profissгo agora й: %s", _NameProfs[_Profissao[params[0]]]);
SendClientMessage(params[0], _CoresProfs[_Profissao[params[0]]], xString);
OnPlayerSpawn(params[0]);
return 1;
}
public OnGameModeInit()
{
SetGameModeText("Blank Script");
for(new i; i < 300; ++i) AddPlayerClass(i, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
VehiclesDesempregado[0] = CreateVehicle(498, 2039.5201, 1350.4873, 10.7161, 0.0000, -1, -1, 100);
VehiclesDesempregado[1] = CreateVehicle(498, 2039.7744, 1358.1622, 10.7161, 0.0000, -1, -1, 100);
VehiclesDesempregado[2] = CreateVehicle(498, 2039.8103, 1365.6306, 10.7161, 0.0000, -1, -1, 100);
VehiclesDesempregado[3] = CreateVehicle(498, 2039.5736, 1372.8027, 10.7161, 0.0000, -1, -1, 100);
VehiclesDesempregado[4] = CreateVehicle(504, 2039.6356, 1380.0780, 10.4746, 0.0000, -1, -1, 100);
return 1;
}
public OnGameModeExit()
{
DOF2_Exit();
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerConnect(playerid)
{
if(!DOF2_FileExists(pConta(playerid)))
{
DOF2_CreateFile(pConta(playerid));
DOF2_SetInt(pConta(playerid), "Profissao", 0);
}
_Profissao[playerid] = DOF2_GetInt(pConta(playerid), "Profissao");
new kString[128];
format(kString, sizeof(kString), "Sua profissгo: %s", _NameProfs[_Profissao[playerid]]);
SendClientMessage(playerid, _CoresProfs[_Profissao[playerid]], kString);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
DOF2_SetInt(pConta(playerid), "Profissao", _Profissao[playerid]);
_Profissao[playerid] = 0;
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerPos(playerid, _SpawnProfs[_Profissao[playerid]][0], _SpawnProfs[_Profissao[playerid]][1], _SpawnProfs[_Profissao[playerid]][2]);
SetPlayerColor(playerid, _CoresProfs[_Profissao[playerid]]);
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new VehID = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
for(new i = 0; i < sizeof(VehiclesDesempregado); i++)
{
if(VehID == VehiclesDesempregado[i] && _Profissao[playerid] != 0)
{
SendClientMessage(playerid,-1, "Este carro nгo estб disponнvel para sua organizaзгo !");
RemovePlayerFromVehicle(playerid);
}
}
}
return 1;
}
stock iName(playerid)
{
new _iNome[MAX_PLAYER_NAME];
GetPlayerName(playerid, _iNome, sizeof(_iNome));
return _iNome;
}
stock pConta(id)
{
new _cString[128];
format(_cString, sizeof(_cString), "Contas/%s", iName(id));
return _cString;
}