Advertisement
dann1s

Speed-UP

Jul 3rd, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.45 KB | None | 0 0
  1. //credits: Slice
  2. #include <a_samp>
  3. #define SPEED_MULTIPLIER 1.020
  4. #define SPEED_THRESHOLD  0.4
  5.  
  6. new
  7.           g_SpeedUpTimer = -1,
  8.     Float:g_SpeedThreshold,
  9.           PLAYER_SLOTS
  10. ;
  11.  
  12. new const
  13.           KEY_VEHICLE_FORWARD  = 0b001000,
  14.           KEY_VEHICLE_BACKWARD = 0b100000
  15. ;
  16.  
  17. public OnFilterScriptInit() {
  18.     PLAYER_SLOTS = GetMaxPlayers();
  19.  
  20.     g_SpeedUpTimer = SetTimer("SpeedUp", 220, true);
  21.     g_SpeedThreshold = SPEED_THRESHOLD * SPEED_THRESHOLD;
  22. }
  23.  
  24. public OnFilterScriptExit() {
  25.     KillTimer(g_SpeedUpTimer);
  26. }
  27.  
  28. forward SpeedUp();
  29. public SpeedUp() {
  30.     new
  31.         vehicleid,
  32.         keys,
  33.         Float:vx,
  34.         Float:vy,
  35.         Float:vz
  36.     ;
  37.     for (new playerid = 0; playerid < PLAYER_SLOTS; playerid++) {
  38.         if (!IsPlayerConnected(playerid))
  39.             continue;
  40.  
  41.         if ((vehicleid = GetPlayerVehicleID(playerid))) {
  42.             GetPlayerKeys(playerid, keys, _:vx, _:vx);
  43.  
  44.             if ((keys & (KEY_VEHICLE_FORWARD | KEY_VEHICLE_BACKWARD | KEY_HANDBRAKE)) == KEY_VEHICLE_FORWARD) {
  45.                 GetVehicleVelocity(vehicleid, vx, vy, vz);
  46.                
  47.                 if (vx * vx + vy * vy < g_SpeedThreshold)
  48.                     continue;
  49.  
  50.                 vx *= SPEED_MULTIPLIER;
  51.                 vy *= SPEED_MULTIPLIER;
  52.  
  53.                 if (vz > 0.04 || vz < -0.04)
  54.                     vz -= 0.020;
  55.  
  56.                 SetVehicleVelocity(vehicleid, vx, vy, vz);
  57.             }
  58.         }
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement