Verificar placa -
Santso - 27.07.2018
no meu sistema de concessionaria os dados fica salvo assim:
Modelo = 411
Dono = Gabriel_SaS
Placa = JMN-740
Cor1 = 2
Cor2 = 2
CorX = -1936.38940429
CorY = 272.61898803
CorZ = 40.77399826
Angulo = 359.16729736
eu queria que quando o policial digita-se a placa do carro no caso "JMN-740" mostra-se quem й o dono, alguem poderia me dizer como faзo isso ? o sistema й em DOF2, o arquivo fica salvo na pasta assim: "Gabriel_SaS", +rep pra quem ajudar
Re: Verificar placa -
augustogdo - 27.07.2018
Quando o servidor carregar os veнculos armazene informaзхes como placa, modelo, dono etc em uma matriz.
Quando o policial der o comando que vocк falou, faзa um loop pelas placas para ver se alguma bate com a que o policial digitou e, caso alguma bata, pegue o nome do dono.
Re: Verificar placa -
Santso - 27.07.2018
nгo quero que faзa o sistema, mas poderia me dar um exemplo ?
Re: Verificar placa -
AdrianoStk - 27.07.2018
Caso nгo consiga imprementa-lo a seu sistema, seria interessante vocк disponibilizar o codigo onde os veiculos sгo carregado! Lembrando que esse sistema funciona tendo em mente que as placas serгo colocadas manualmente no arquivo!
PHP код:
//TOPO
#define VEICULOS 100
new vPlacas[VEICULOS][9];
new vDono[VEICULOS][24];
//Onde os veiculos sгo carregados... coloque isso
strcat(vPlacas[i], DOF2_GetString(StrCaminho, "Placa"));//i = ID do veiculo StrCaminho й o endereзo do arquvio
strcat(vDono[i], DOF2_GetString(StrCaminho, "Dono"));
//Comando
CMD:verplaca(playerid, params[])
{
new placa[9], Str[64], i = 0;
if(sscanf(params,"s", placa)) return SendClientMessage(playerid, -1, "Use /verplaca [PLACA] ex: ABC-1234");
if(strlen(placa) != 8) return SendClientMessage(playerid, -1, "A placa deve conter 8 caracteres!");
while(i != VEICULOS && strcmp(vPlacas[i], placa, true) != 0)
i++;
if(strcmp(vPlacas[i], placa, true) == 0)//Caso encontre um veiculo com a placa
{
format(Str, sizeof(Str),"Veiculo %d Dono: %s Placa %s", i, vPlacas[i], vDono[i]);
SendClientMessage(playerid, -1, Str);
}
else//caso nгo encontre
{
format(Str, sizeof(Str),"Nгo hб um veiculo com placas [%s]!", placa);
SendClientMessage(playerid, -1, Str);
}
return 1;
}
Re: Verificar placa -
augustogdo - 28.07.2018
Fiz esse cуdigo pensando no sistema que fiz uma vez pra mim. Mas vocк teria que passar a salvar os arquivos dos veнculos como "veiculo0","veiculo1","veiculo2" e assim por diante. Assim fica mais fбcil de pegar as informaзхes dos veнculos com os loops.
Nгo testei o cуdigo, entгo pode ter erros, principalmente de digitaзгo.
PHP код:
#define MAX_VEICULOS_CONCE 50
enum vInfo
{
vModelo,
vDono[MAX_PLAYER_NAME],
vPlaca[7],
Float:vPosX,
Float:vPosY,
Float:vPosZ,
Float:vAng
}
new VeiculoInfo[MAX_VEICULOS_CONCE][vInfo],
VeiculoConce[MAX_VEICULOS_CONCE];
public public OnGameModeInit()
{
for(int c = 0; c <= MAX_VEICULOS_CONCE; c++)
{
new arquivo_veiculo[x]; // Trocar x pelo numero de caracteres
format(pasta_veiculos,sizeof(pasta_veiculos),"Veiculos/veiculo%i.ini",c)
if(!DOF2_FileExists(pasta_veiculos)) break;
//Cуdigo para pegar infos do arquivo do veнculo e armazenar em
// VeiculoInfo[c][vModelo], VeiculoInfo[c][vPosX], VeiculoInfo[c][vPosY] etc.
VeiculoConce[c] = CreateDynamicVehicle(VeiculoInfo[c][vModelo], VeiculoInfo[c][vPosX], VeiculoInfo[c][vPosY], VeiculoInfo[c][vPosZ], VeiculoInfo[c][vAng], VeiculoInfo[c][vCor1], VeiculoInfo[c][vCor2], 50000);
}
return 1;
}
cmd:placa(playerid,params[]){
new placa[7]
if(sscanf(params,"s[7]",placa)) return SendClientMessage(playerid, -1,"Comando digitado errado.");
for(int c = 0; c <= MAX_VEICULOS_CONCE; c++){
if(!strcmp(VeiculoInfo[c][vPlaca],placa)){
new string[MAX_PLAYER_NAME +21]
format(string,sizeof(string),"O dono do veнculo й: %s",VeiculoInfo[c][VDono]);
return SendClientMessage(playerid, -1, string);
}
}
return 1;
}