[Ajuda] Verificar placa
#1

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
Reply
#2

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.
Reply
#3

nгo quero que faзa o sistema, mas poderia me dar um exemplo ?
Reply
#4

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(playeridparams[])
{
    new 
placa[9], Str[64], 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(
!= VEICULOS && strcmp(vPlacas[i], placatrue) != 0)
        
i++;
    if(
strcmp(vPlacas[i], placatrue) == 0)//Caso encontre um veiculo com a placa
    
{
        
format(Strsizeof(Str),"Veiculo %d Dono: %s Placa %s"ivPlacas[i], vDono[i]);
        
SendClientMessage(playerid, -1Str);
    }
    else
//caso nгo encontre
    
{
        
format(Strsizeof(Str),"Nгo hб um veiculo com placas [%s]!"placa);
        
SendClientMessage(playerid, -1Str);
    }
    return 
1;

Reply
#5

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<= MAX_VEICULOS_CONCEc++)
  {
    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<= MAX_VEICULOS_CONCEc++){
    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, -1string);
    }
  }
  return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)