HR_Shaft

Emergency Brakes for Phasor v2

Apr 17th, 2014
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.99 KB | None | 0 0
  1. --[[ ###       Emergency Brakes       ###]]--
  2. --[[ ###   by H® Shaft, AelitePrime   ###]]--
  3. --[[ ###        for Phasor v2         ###]]--
  4.  
  5. -- Emergency Brakes: As a driver of a vehicle, press your flashlight/q button to apply emergency brakes
  6. -- braking multipliers added for stability during braking.
  7. -- Note: holding the emergency brake may make it appear to lag or lurch, should only be pressed once, not held down.
  8.  
  9. -- If this is set to true then emergency brakes are enabled.
  10. --                      Map:                        Boolean:
  11. emergency_brake.        beavercreek         =       false -- battle creek
  12. emergency_brake.        bloodgulch          =       true
  13. emergency_brake.        boardingaction      =       false
  14. emergency_brake.        carousel            =       false -- derelict
  15. emergency_brake.        chillout            =       false
  16. emergency_brake.        damnation           =       false
  17. emergency_brake.        dangercanyon        =       true
  18. emergency_brake.        deathisland         =       true
  19. emergency_brake.        gephyrophobia       =       true
  20. emergency_brake.        hangemhigh          =       false
  21. emergency_brake.        icefields           =       true
  22. emergency_brake.        infinity            =       true
  23. emergency_brake.        longest             =       false
  24. emergency_brake.        prisoner            =       false
  25. emergency_brake.        putput              =       false -- chiron tl34
  26. emergency_brake.        ratrace             =       false
  27. emergency_brake.        sidewinder          =       true   
  28. emergency_brake.        timberland          =       true       
  29. emergency_brake.        wizard              =       false
  30.  
  31. -- don't edit --
  32. emergency_brake = {}
  33. brakes = {}
  34. brk_multiplier = 0.05
  35.  
  36. function GetRequiredVersion()
  37.     return 200
  38. end
  39.  
  40. function OnScriptLoad(process, game, persistent)
  41.     if game == "PC" then
  42.         Map = readstring(0x698F21)
  43.     else
  44.         Map = readstring(0x61D151)
  45.     end
  46.     GAME = game
  47.     for i=0,15 do
  48.         if getplayer(i) then
  49.             brakes[i] = 0
  50.         end
  51.     end    
  52. end
  53.  
  54. function OnNewGame(map)
  55.     if GAME == "PC" then
  56.         Map = readstring(0x698F21)
  57.     else
  58.         Map = readstring(0x61D151)
  59.     end
  60. end
  61.  
  62. function OnPlayerJoin(player)
  63.     if getplayer(player) then
  64.         brakes[player] = 0
  65.     end
  66. end
  67.  
  68. function OnClientUpdate(player)
  69.     if brakes[player] > 0 then brakes[player] = brakes[player] - 1 end
  70.     local m_playerObjId = getplayerobjectid(player)
  71.     if m_playerObjId then
  72.         local m_object = getobject(m_playerObjId)
  73.         if isinvehicle(player) then
  74.             if emergency_brake[Map] then
  75.                 local m_vehicle = getobject(getplayervehicleid(player))
  76.                 if getdriverplayer(m_vehicle) == player and readbit(m_object + 0x208, 0) then
  77.                     writefloat(m_vehicle + 0x68, readfloat(m_vehicle + 0x68)*brk_multiplier)
  78.                     writefloat(m_vehicle + 0x6C, readfloat(m_vehicle + 0x6C)*brk_multiplier)               
  79.                 end
  80.             end
  81.         end
  82.     end
  83. end
  84.  
  85. function getdriverplayer(m_vehicle)
  86.     local obj_id = readdword(m_vehicle + 0x324)
  87.     if obj_id ~= 0xFFFFFFFF then return objectidtoplayer(obj_id) end
  88. end
  89.  
  90. function getplayervehicleid(player)
  91.     return readdword(getobject(getplayerobjectid(player)) + 0x11C)
  92. end
  93.  
  94.  
  95. -- Created by H® Shaft thank you to Oxide, AelitePrime, Nugget & Wizard.
  96. -- Visit http://halorace.org/forum/index.php?topic=514.0 or
  97. -- Visit http://pastebin.com/u/HR_Shaft for more phasor scripts
Advertisement
Add Comment
Please, Sign In to add comment