[Pedido] Veiculo com dono
#1

To usando este comando para criar veiculos, alguem poderia me fazer um sistema para que quando um player cria o veiculo , sу ele pode entrar dentro?



PHP код:
CMD:cv(playerid, params[])
{
    new 
idcar, cor1, cor2, Float:x, Float:y, Float:z, Float:Angle, string[128];
    if(
pAdmin[playerid][Level] < 2) return SendClientMessage(playerid, -1, "Vocк nгo tem permissгo para usar este comando!");
    if(
IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Saia deste veнculo para criar outro.");
    if(
sscanf(params, "ddd", idcar, cor1, cor2)) return SendClientMessage(playerid, vermelho, "Digite: /cv [idcar] [cor1] [cor2]");
    if(
idcar < 400 || idcar > 611) return SendClientMessage(playerid, vermelho, "Id de veiculo invбlido. Use de 400 a 611");
    if(
cor1 < 0 || cor1 > 255) return SendClientMessage(playerid, vermelho, "Cor 1 invбlida. Use de 0 a 255");
    if(
cor2 < 0 || cor2 > 255) return SendClientMessage(playerid, vermelho, "Cor 2 invбlida. Use de 0 a 255");
    
GetPlayerPos(playerid, x, y, z);
    
GetPlayerFacingAngle(playerid, Angle);
    
CreateVehicle(idcar, x, y, z, Angle, cor1, cor2, 180000);
    
format(string, sizeof string, "Veiculo criado com sucesso!");
    
SendClientMessage(playerid, azul, string);
    return 
1;
} 
Reply
#2

Crie um ID para o veiculo, sera mais facil.

por exemplo:

pawn Код:
// nas News da GM
new CarrosCriados[500]; // 500 й o maximo de carros criados

new DonoCarrosCriados[500]; // aki define o dono do carro pelo ID do player, se quiser por nome, depois eu deixo o code.

quando vocк criar seu carro:
for(new i; i<500; i++)
{
    if(i == INVALID_VEHICLE_ID)
    {
        CarrosCriados[i] = CreateVehicle .......
        DonoCarrosCriados[i] = playerid;
        return 1;
    }
}

em OnPlayerStateChange ..

new vehicleid = GetPlayerVehicleID(playerid);

if(newstate == PLAYER_STATE_DRIVER )
{
    for(new i; i<500; i++)
    {
        if(CarrosCriados[i] != INVALID_VEHICLE_ID)
        {
            if(vehicleid ==  CarrosCriados[i] && DonoCarrosCriados[i] != playerid)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, -1, "Vocк nгo й o dono desse Veiculo !");
            }
        }
    }
}
// espero que fucione
Reply
#3

Nгo funcionou , ele compila normal , mais quando crio o veiculo e outro player entra nele ele simplesmente nгo acontece nd
Reply
#4

acho melhor vocк salvar em variaveis, enum no caso.
Reply
#5

PHP код:
new Dono[MAX_VEHICLES][24], bool:Ecriado[MAX_VEHICLES]; 
No comando de criar:
PHP код:
new vehicleid = CreateVehicle(.....
new 
Name[24];
GetPlayerName(playerid, Name, 24);
format(Dono[vehicleid], 24, "%s", Name);
Ecriado[vehicleid] = true; 
PHP код:
public OnPlayerStateChange(playerid, newstate, oldstate){
 if (
newstate == PLAYER_STATE_DRIVER){
  new 
vehicleid = GetPlayerVehicleID(playerid), Name[24];
  
GetPlayerName(playerid, Name, 24);
  if (
Ecriado[vehicleid] == true){
   if (
strcmp(Dono[vehicleid], Name, false) != 0){
     
SendClientMessage(playerid, 0xFF00000FF, "Vocк с criou este veiculo. Ele nгo lhe pertence.");
     
RemovePlayerFromVehicle(playerid);
   }
  }
 }
 return 
1;
} 
Reply
#6

Quote:
Originally Posted by capron
Посмотреть сообщение
PHP код:
new Dono[MAX_VEHICLES][24], bool:Ecriado[MAX_VEHICLES]; 
No comando de criar:
PHP код:
new vehicleid = CreateVehicle(.....
new 
Name[24];
GetPlayerName(playerid, Name, 24);
format(Dono[vehicleid], 24, "%s", Name);
Ecriado[vehicleid] = true; 
PHP код:
public OnPlayerStateChange(playerid, newstate, oldstate){
 if (
newstate == PLAYER_STATE_DRIVER){
  new 
vehicleid = GetPlayerVehicleID(playerid), Name[24];
  
GetPlayerName(playerid, Name, 24);
  if (
Ecriado[vehicleid] == true){
   if (
strcmp(Dono[vehicleid], Name, false) != 0){
     
SendClientMessage(playerid, 0xFF00000FF, "Vocк с criou este veiculo. Ele nгo lhe pertence.");
     
RemovePlayerFromVehicle(playerid);
   }
  }
 }
 return 
1;
} 
Ae funcionou , vlw man
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)