[Ajuda] Identificar se o player entrou no carro dele ou nгo
#1

Queria que quando o player entra-se no veнculo ' sу se for da concessionбria ' identificar se й dele ou nгo .

Fiz assim mas nгo to conseguindo, ele funciona, mais se o player entrar em veiculo nгo relacionado a concessionбria da a mensagem e tira o jogador do veнculo. queria que funciona-se so nos carros da concessionбria 'carros/%s'



pawn Код:
if(newstate == PLAYER_STATE_DRIVER)
      {
      new aname[MAX_PLAYER_NAME];
      GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
      format(carros2,sizeof(carros2),"carros/%s.txt", aname);
      new car;
      car= GetPlayerVehicleID(playerid);
      if(DOF2_FileExists(carros2))
      {
      if(car == Info[playerid][CarDono])
       {
       format(msg,sizeof(msg),"{76EE00}| INFO | Bem-Vindo ao seu veнculo %s",aname);
       SendClientMessage(playerid,-1,msg);
       }
       else
       {
       SendClientMessage(playerid,-1,"| ERRO | Esse veнculo nгo pertence a vocк.");
       RemovePlayerFromVehicle(playerid);
       }
       }
       }
Reply
#2

vocк nгo esta colocando a variбvel dos veiculos da concessionбria

essa variбvel verifica se o arquivo "carros2" existe
pawn Код:
if(DOF2_FileExists(carros2))
o cуdigo inteiro para eu poder ajuda-lo
Reply
#3

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
       if(newstate == PLAYER_STATE_DRIVER)
      {
      new aname[MAX_PLAYER_NAME];
      GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
      format(carros2,sizeof(carros2),"carros/%s.txt", aname);
            new vid;
            vid = GetPlayerVehicleID(playerid);
      if(DOF2_FileExists(carros2))
       {
      if(vid == Info[playerid][CarDono])
       {
       format(msg,sizeof(msg),"{76EE00}| INFO | Bem-Vindo ao seu veнculo %s",aname);
       SendClientMessage(playerid,-1,msg);
       }
       else
       {
       SendClientMessage(playerid,-1,"| ERRO | Esse veнculo nгo pertence a vocк.");
       RemovePlayerFromVehicle(playerid);
       }
       }
       }
      return 1;
}
dentro da pasta carros ta assim

http://prntscr.com/a32u6m
Reply
#4

Quote:
Originally Posted by ERICcartmanN
Посмотреть сообщение
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
       if(newstate == PLAYER_STATE_DRIVER)
      {
      new aname[MAX_PLAYER_NAME];
      GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
      format(carros2,sizeof(carros2),"carros/%s.txt", aname);
            new vid;
            vid = GetPlayerVehicleID(playerid);
      if(DOF2_FileExists(carros2))
       {
      if(vid == Info[playerid][CarDono])
       {
       format(msg,sizeof(msg),"{76EE00}| INFO | Bem-Vindo ao seu veнculo %s",aname);
       SendClientMessage(playerid,-1,msg);
       }
       else
       {
       SendClientMessage(playerid,-1,"| ERRO | Esse veнculo nгo pertence a vocк.");
       RemovePlayerFromVehicle(playerid);
       }
       }
       }
      return 1;
}
dentro da pasta carros ta assim

http://prntscr.com/a32u6m
eu posso ta falando bobagem mas vocк poderia criar uma condicional para identificar se esse carro й ou nгo da concessionaria e outra para identificar se o carro pertence ao player, assim ele verifica as duas possibilidades.

Aqui um tutorial de estruturas condicionais.
Reply
#5

ok agora eu sу nгo consigo verificar se e o carro e da concessionбria ou й um pъblico, na vdd nгo sei como faзo '-'

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
       new aname[MAX_PLAYER_NAME];
       GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
       new vehicle;
       vehicle = GetPlayerVehicleID(playerid);
       if(newstate == PLAYER_STATE_DRIVER)
       {
       format(carros2, sizeof(carros2),"carros/%s.txt", aname);
       if(DOF2_GetInt(carros2,"CarroDaConce") == 1)
       {
       if(vehicle == Info[playerid][CarDono])
       {
       format(msg,sizeof(msg),"{76EE00}| INFO | Bem-Vindo ao seu veнculo %s",aname);
       SendClientMessage(playerid,-1,msg);
       }
       else
       {
       SendClientMessage(playerid,-1,"| ERRO | Esse veнculo nгo pertence a vocк.");
       RemovePlayerFromVehicle(playerid);
       }
       }
       else
       {
       SendClientMessage(playerid ,-1,"carro pъblico");
       }
       }
      return 1;
}
foi esse fs que eu achei e to editando, o onplayerstate desse fs n funciona http://pastebin.com/YJspnNim
Reply
#6

Quote:
Originally Posted by ERICcartmanN
Посмотреть сообщение
ok agora eu sу nгo consigo verificar se e o carro e da concessionбria ou й um pъblico, na vdd nгo sei como faзo '-'

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
       new aname[MAX_PLAYER_NAME];
       GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
       new vehicle;
       vehicle = GetPlayerVehicleID(playerid);
       if(newstate == PLAYER_STATE_DRIVER)
       {
       format(carros2, sizeof(carros2),"carros/%s.txt", aname);
       if(DOF2_GetInt(carros2,"CarroDaConce") == 1)
       {
       if(vehicle == Info[playerid][CarDono])
       {
       format(msg,sizeof(msg),"{76EE00}| INFO | Bem-Vindo ao seu veнculo %s",aname);
       SendClientMessage(playerid,-1,msg);
       }
       else
       {
       SendClientMessage(playerid,-1,"| ERRO | Esse veнculo nгo pertence a vocк.");
       RemovePlayerFromVehicle(playerid);
       }
       }
       else
       {
       SendClientMessage(playerid ,-1,"carro pъblico");
       }
       }
      return 1;
}
foi esse fs que eu achei e to editando, o onplayerstate desse fs n funciona http://pastebin.com/YJspnNim
eu nгo sei se ta certo eu fiz agora pelo celular mas vк ai:
PHP код:
public OnPlayerStateChange(playeridnewstateoldstate)
{
    new 
aname[MAX_PLAYER_NAME];
     
GetPlayerName(playeridanameMAX_PLAYER_NAME);
      new 
vehicle;
       
vehicle GetPlayerVehicleID(playerid);
    if(
newstate == PLAYER_STATE_DRIVER)
    {
           
format(carros2sizeof(carros2),"carros/%s.txt"aname);
         if(
DOF2_GetInt(carros2,"CarroDaConce") == 1)
          {
               if(
DonoCarro[GetPlayerVehicleID(playerid)] != INVALID_PLAYER_ID && DonoCarro[GetPlayerVehicleID(playerid)] != playerid)
               {
                   
SendClientMessage(playerid,-1,"| ERRO | Esse veнculo nгo pertence a vocк.");
                   
RemovePlayerFromVehicle(playerid);
               }
              else
               {
                   
format(msg,sizeof(msg),"{76EE00}| INFO | Bem-Vindo ao seu veнculo %s",aname);
                   
SendClientMessage(playerid,-1,msg);
               }
         }
            else
           {
               
SendClientMessage(playerid ,-1,"carro pъblico");
           }
        return 
1;

Reply
#7

Quote:
Originally Posted by DarthVeider
Посмотреть сообщение
eu nгo sei se ta certo eu fiz agora pelo celular mas vк ai:
PHP код:
public OnPlayerStateChange(playeridnewstateoldstate)
{
    new 
aname[MAX_PLAYER_NAME];
     
GetPlayerName(playeridanameMAX_PLAYER_NAME);
      new 
vehicle;
       
vehicle GetPlayerVehicleID(playerid);
    if(
newstate == PLAYER_STATE_DRIVER)
    {
           
format(carros2sizeof(carros2),"carros/%s.txt"aname);
         if(
DOF2_GetInt(carros2,"CarroDaConce") == 1)
          {
               if(
DonoCarro[GetPlayerVehicleID(playerid)] != INVALID_PLAYER_ID && DonoCarro[GetPlayerVehicleID(playerid)] != playerid)
               {
                   
SendClientMessage(playerid,-1,"| ERRO | Esse veнculo nгo pertence a vocк.");
                   
RemovePlayerFromVehicle(playerid);
               }
              else
               {
                   
format(msg,sizeof(msg),"{76EE00}| INFO | Bem-Vindo ao seu veнculo %s",aname);
                   
SendClientMessage(playerid,-1,msg);
               }
         }
            else
           {
               
SendClientMessage(playerid ,-1,"carro pъblico");
           }
        return 
1;

ficou a mesma coisa :/
Reply
#8

Quote:
Originally Posted by ERICcartmanN
Посмотреть сообщение
ficou a mesma coisa :/
Faзa o que eu disse crie uma condicional para identificar se o veiculo e da concessionaria ou nгo

PHP код:
public OnPlayerStateChange(playeridnewstateoldstate)
{
    new 
aname[MAX_PLAYER_NAME];
    
GetPlayerName(playeridanameMAX_PLAYER_NAME);
    new 
vehicle;
    
vehicle GetPlayerVehicleID(playerid);
    if(
newstate == PLAYER_STATE_DRIVER)
    {
        
format(carros2sizeof(carros2),"carros/%s.txt"aname);
         if(
DOF2_GetInt(carros2,"CarroDaConce") == 1)
          {
            if (
CarroConssecionaria(playerid)) //Verifica se o carro pertence a concessionбria
            
{
                   if(
DonoCarro[GetPlayerVehicleID(playerid)] != INVALID_PLAYER_ID && DonoCarro[GetPlayerVehicleID(playerid)] != playerid)
                 {
                      
SendClientMessage(playerid,-1,"| ERRO | Esse veнculo nгo pertence a vocк.");
                    
RemovePlayerFromVehicle(playerid);
                }
                else
                {
                    
format(msg,sizeof(msg),"{76EE00}| INFO | Bem-Vindo ao seu veнculo %s",aname);
                     
SendClientMessage(playerid,-1,msg);
                }
           }
           }
        else
        {
            
SendClientMessage(playerid ,-1,"carro pъblico");
        }
    }
     return 
1;

Reply
#9

O que eu faзo com esse
pawn Код:
CarroConssecionaria
crio uma stock ou uma variavel
Reply
#10

UP
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)