[Ajuda] Carro Proprio
#1

estou tento problemas com o sistema de carro proprio ele fica checando se o carro e do player em qualquer carro ate nos publicos entao se o player nao tiver um carro proprio ele nao consegue entra em nenhum a new nickpc carrega o nome do player dono do carro entao e isso os carros sao criados sem problemas mas so o dono entra em qualquer carro nao sei oque ta acontecendo quem poder ajudar vo fica muito agradecido desde ja Obrigado a todos.

os carros sao criados assim
PHP код:
donodocarroc[playerid] =  CarroI[casaid][CarroCasa] = CreateVehicle(CarroI[casaid][CarroModelo], CarroPosXCarroPosYCarroPosZAnguloPosCor1Cor2temporespawn); //cada variavel ja diz tudo 
o If da OnPlayerStateChange fica assim \/

PHP код:

 
new nickpc[MAX_PLAYER_NAME];
     
GetPlayerName(playeridnickpcMAX_PLAYER_NAME);
    if(
newstate == PLAYER_STATE_DRIVER)
    {
      if(
nickpc[playerid] != donodocarroc[playerid])
      {
        
SendClientMessage(playeridCOR_RED"[x] Este veiculo nao e seu");
        
RemovePlayerFromVehicle(playerid);
      }
      else
      {
           
SendClientMessage(playeridAmarelo"[x] Bem Vindo ao seu veiculo");
      }
    } 
Reply
#2

Comparaзгo de strings.

pawn Код:
if (!strcmp(string1, string2)){}

E por favor faзa uma boa leitura sobre esta funзгo.

https://sampwiki.blast.hk/wiki/GetPlayerName
Reply
#3

eu ja fiz uma boa leitura sobre a funзao so nao consegui aplicar o srtcmp nao entendi como ele e poderia dar um exemplo?
Reply
#4

Exemplo tosco e sem sentido.
pawn Код:
stock CompararNomes(playerid, OutroID){

    new NomePlayer[MAX_PLAYER_NAME], NomeOutroID[MAX_PLAYER_NAME];
    GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME);
    GetPlayerName(OutroID, NomeOutroID, MAX_PLAYER_NAME);

    if(!strcmp(NomePlayer, NomeOutroID))
        return SendClientMessage(playerid, -1, "Nomes iguais!");

    else return SendClientMessage(playerid, -1, "Nomes diferentes!");

    return true;
}

Usando:

pawn Код:
CMD:compararmeunome(playerid, params[]{
    if(isnull(params))
        return SendClientMessage(playerid, -1, "Uso: /compararmeunome [Outro Id]");
    CompararNomes(playerid, strval(params));
    return true;
}
Reply
#5

mas isso do getplayername eu ate entendi mas uma coisa que eu fikei em duvida e pq toda vez que o carra entra em qualquer veiculo seja ele veiculo casa ow nao ele fica checkando se o cara e dono do veiculo tipo se ele nao tiver nenhum veiculo casa ele nao consegue andar nem nos veiculos publicos do servidor se vc poder me ajudar com isso eu ficarei muito grato e Obrigado ate agora ja me ajudou bastante.
Reply
#6

Quote:
Originally Posted by iCracker
Посмотреть сообщение
mas isso do getplayername eu ate entendi mas uma coisa que eu fikei em duvida e pq toda vez que o carra entra em qualquer veiculo seja ele veiculo casa ow nao ele fica checkando se o cara e dono do veiculo tipo se ele nao tiver nenhum veiculo casa ele nao consegue andar nem nos veiculos publicos do servidor se vc poder me ajudar com isso eu ficarei muito grato e Obrigado ate agora ja me ajudou bastante.
Por causa disso! \/

Quote:
Originally Posted by iCracker
Посмотреть сообщение
o If da OnPlayerStateChange fica assim \/

PHP код:

 
new nickpc[MAX_PLAYER_NAME];
     
GetPlayerName(playeridnickpcMAX_PLAYER_NAME);
    if(
newstate == PLAYER_STATE_DRIVER)
    {
      if(
nickpc[playerid] != donodocarroc[playerid])
      {
        
SendClientMessage(playeridCOR_RED"[x] Este veiculo nao e seu");
        
RemovePlayerFromVehicle(playerid);
      }
      else
      {
           
SendClientMessage(playeridAmarelo"[x] Bem Vindo ao seu veiculo");
      }
    } 
Reply
#7

sim o problemas esta nesse trecho do codigo mas como eu coloco pra ele checkar somente so for veiculo casa ele e da profissao de motorista de onibus do meu gm e ele funciona corretamente eu tentei adaptalo mas nao tive suceso e nao encontrei conteudo sobre o assunto tambem se poder ajudar ficarei grato.

eu tentei com o codigo abaixo \/

PHP код:
 new carbus GetPlayerVehicleID(playerid);//armazena na vбriavel car o carro em q ele estб.
    
if(newstate == PLAYER_STATE_DRIVER)//se O Player entrar como motorista
    
{
        for(new 
0sizeof(cbus); ++)
        {
//realizara um loop na Array cars
            
if(carbus == cbus[i])
            {
//se o carro em que vocк estб for igual б algum da array
                
if(Profissao[playerid] != busao)
                {
//se a profissгo do cara for diferente da citada acima
                    
SendClientMessage(playerid, -1"[x] Este veнculo й reservado para os(as) {FFAEB9FF}Motoristas de фnibus ");
                    
RemovePlayerFromVehicle(playerid);//irб removelo do carro e mandar a mensagem.
                
}
            }
        }
    } 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)