Advertisement
Nyft_

Trancar e Destrancar Veículos ~Nyft

Jun 8th, 2021
610
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include a_samp
  2. #include sscanf2
  3. #include pawn.cmd
  4.  
  5. static
  6.     bool:gVehicleLocked[MAX_PLAYERS][MAX_VEHICLES];
  7.  
  8. main(){}
  9.  
  10. GetVehicleNearPlayer(playerid, Float:range = 3.0)
  11. {
  12.     new Float:x, Float:y, Float:z;
  13.  
  14.     for(new i, j = GetVehiclePoolSize(); i <= j; ++i)
  15.     {
  16.         GetVehiclePos(i, x, y, z);
  17.  
  18.         if(IsPlayerInRangeOfPoint(playerid, range, x, y, z))
  19.             return i;
  20.     }
  21.     return -1;
  22. }
  23.  
  24. CMD:trancar(playerid)
  25. {
  26.     if(IsPlayerInAnyVehicle(playerid))
  27.         return SendClientMessage(playerid, -1, "* Você está conduzindo um veículo.");
  28.  
  29.     if(GetVehicleNearPlayer(playerid) == -1)
  30.         return SendClientMessage(playerid, -1, "* Você não está perto de um veículo.");
  31.  
  32.     new vehicleid = GetVehicleNearPlayer(playerid), engine, lights, alarm, doors, bonnet, boot, objective;
  33.     GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  34.  
  35.     if(gVehicleLocked[playerid][vehicleid])
  36.         return SendClientMessage(playerid, -1, "* Esse veículo está trancado.");
  37.  
  38.     gVehicleLocked[playerid][vehicleid] = true;
  39.     SetVehicleParamsEx(vehicleid, engine, lights, alarm, VEHICLE_PARAMS_ON, bonnet, boot, objective);
  40.     SendClientMessage(playerid, -1, "* Veículo trancado com sucesso.");
  41.     return 1;
  42. }
  43. CMD:destrancar(playerid)
  44. {
  45.     if(IsPlayerInAnyVehicle(playerid))
  46.         return SendClientMessage(playerid, -1, "* Você está conduzindo um veículo.");
  47.  
  48.     if(GetVehicleNearPlayer(playerid) == -1)
  49.         return SendClientMessage(playerid, -1, "* Você não está perto de um veículo.");
  50.  
  51.     new vehicleid = GetVehicleNearPlayer(playerid), engine, lights, alarm, doors, bonnet, boot, objective;
  52.     GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  53.  
  54.     if(!gVehicleLocked[playerid][vehicleid])
  55.         return SendClientMessage(playerid, -1, "* Esse veículo não está trancado.");
  56.  
  57.     gVehicleLocked[playerid][vehicleid] = false;
  58.     SetVehicleParamsEx(vehicleid, engine, lights, alarm, VEHICLE_PARAMS_OFF, bonnet, boot, objective);
  59.     SendClientMessage(playerid, -1, "* Veículo destrancado com sucesso.");
  60.     return 1;
  61. }
  62. CMD:v(playerid, params[])
  63. {
  64.     new modelid;
  65.  
  66.     if(sscanf(params, "i", modelid))
  67.         return SendClientMessage(playerid, -1, "* Use: /v [modelo]");
  68.  
  69.     if(!(400 <= modelid <= 611))
  70.         return SendClientMessage(playerid, -1, "* Use modelos entre 400 à 611.");
  71.  
  72.     new vehicleid, Float:x, Float:y, Float:z, Float:a;
  73.     GetPlayerPos(playerid, x, y, z);
  74.     GetPlayerFacingAngle(playerid, a);
  75.  
  76.     vehicleid = CreateVehicle(modelid, x, y, z, a, -1, -1, -1);
  77.     PutPlayerInVehicle(playerid, vehicleid, 0);
  78.     return 1;
  79. }
Advertisement
RAW Paste Data Copied
Advertisement