LUA 203
V2+ Leap Frog 5.0 By xdedeone on 26th February 2019 05:07:38 PM
  1. --[[ ###         Leap-Frog v5         ###]]--
  2. --[[ ###   by H® Shaft, AelitePrime   ###]]--
  3. --[[ ###        for Phasor v2         ###]]--
  4.  
  5. -- PC and CE version 5 3/1/2014
  6.  
  7. -- Enables drivers to leap hogs into the air by pressing the space bar/jump key and -  also,
  8. -- enables walking players to jump a bit higher to be able to jump over hogs coming at them.
  9.  
  10. -- do not touch --
  11. enable_vehicle_leap = {}
  12. enable_player_leap = {}
  13. player_velocity = {}
  14. pause_time_players = {}
  15. pause_time_vehicles = {}
  16. vehicle_velocity = {}
  17. emergency_brake = {}
  18. brakes = {}
  19. jumps = {}
  20. pos_multiplier = 0.9
  21. neg_multiplier = -0.09
  22. brk_multiplier = 0.05
  23.  
  24.  -- edit below as you see fit --
  25.  
  26. -- If the boolean is true for the map then leap-frog for vehicles will be enabled for the map
  27. --                                              Map:                                            Boolean:
  28. enable_vehicle_leap.    beavercreek             =               false           -- battle creek
  29. enable_vehicle_leap.    bloodgulch                      =               true
  30. enable_vehicle_leap.    boardingaction          =               true                           
  31. enable_vehicle_leap.    carousel                        =               false           -- derelict
  32. enable_vehicle_leap.    chillout                        =               false                          
  33. enable_vehicle_leap.    damnation                       =               false                          
  34. enable_vehicle_leap.    dangercanyon            =               true                           
  35. enable_vehicle_leap.    deathisland             =               true                   
  36. enable_vehicle_leap.    gephyrophobia           =               true                           
  37. enable_vehicle_leap.    hangemhigh                      =               false                          
  38. enable_vehicle_leap.    icefields                       =               true                           
  39. enable_vehicle_leap.    infinity                        =               true                           
  40. enable_vehicle_leap.    longest                         =               false                          
  41. enable_vehicle_leap.    prisoner                        =               false                          
  42. enable_vehicle_leap.    putput                          =               false           -- chiron tl34
  43. enable_vehicle_leap.    ratrace                         =               false                          
  44. enable_vehicle_leap.    sidewinder                      =               true                           
  45. enable_vehicle_leap.    timberland                      =               true                           
  46. enable_vehicle_leap.    wizard                          =               false
  47.  
  48. -- If the boolean is true for the map then leap-frog for players will be enabled for the map
  49. --                                              Map:                                            Boolean:
  50. enable_player_leap.             beavercreek             =               false           -- battle creek
  51. enable_player_leap.             bloodgulch                      =               false
  52. enable_player_leap.             boardingaction          =               false
  53. enable_player_leap.             carousel                        =               false           -- derelict
  54. enable_player_leap.             chillout                        =               false
  55. enable_player_leap.             damnation                       =               false
  56. enable_player_leap.             dangercanyon            =               false
  57. enable_player_leap.             deathisland             =               false
  58. enable_player_leap.             gephyrophobia           =               false
  59. enable_player_leap.             hangemhigh                      =               false                          
  60. enable_player_leap.             icefields                       =               false
  61. enable_player_leap.             infinity                        =               false
  62. enable_player_leap.             longest                         =               false
  63. enable_player_leap.             prisoner                        =               false
  64. enable_player_leap.             putput                          =               false           -- chiron tl34
  65. enable_player_leap.             ratrace                         =               false
  66. enable_player_leap.             sidewinder                      =               false
  67. enable_player_leap.             timberland                      =               false
  68. enable_player_leap.             wizard                          =               false
  69.  
  70. -- Specify the velocity that you want leap-frog to go at for vehicles
  71. --                                              Map:                                            Velocity:
  72. vehicle_velocity.               beavercreek             =               0                       -- battle creek
  73. vehicle_velocity.               bloodgulch                      =               1.85
  74. vehicle_velocity.               boardingaction          =               0
  75. vehicle_velocity.               carousel                        =               0                       -- derelict
  76. vehicle_velocity.               chillout                        =               0
  77. vehicle_velocity.               damnation                       =               0                              
  78. vehicle_velocity.               dangercanyon            =               1.65
  79. vehicle_velocity.               deathisland             =               1.8
  80. vehicle_velocity.               gephyrophobia           =               1.9
  81. vehicle_velocity.               hangemhigh                      =               0
  82. vehicle_velocity.               icefields                       =               1.8
  83. vehicle_velocity.               infinity                        =               1.85
  84. vehicle_velocity.               longest                         =               0
  85. vehicle_velocity.               prisoner                        =               0
  86. vehicle_velocity.               putput                          =               0                       -- chiron tl34
  87. vehicle_velocity.               ratrace                         =               0
  88. vehicle_velocity.               sidewinder                      =               2.2
  89. vehicle_velocity.               timberland                      =               1.8
  90. vehicle_velocity.               wizard                          =               0
  91.  
  92. -- Specify the velocity that you want leap-frog to go at for players
  93. --                                              Map:                                            Velocity:
  94. player_velocity.                beavercreek             =               1.5                     -- battle creek
  95. player_velocity.                bloodgulch                      =               1.5                            
  96. player_velocity.                boardingaction          =               1.5                            
  97. player_velocity.                carousel                        =               1.5                     -- derelict
  98. player_velocity.                chillout                        =               1.5                            
  99. player_velocity.                damnation                       =               1.5                            
  100. player_velocity.                dangercanyon            =               1.5                            
  101. player_velocity.                deathisland             =               1.5                    
  102. player_velocity.                gephyrophobia           =               1.5                            
  103. player_velocity.                hangemhigh                      =               1.5                            
  104. player_velocity.                icefields                       =               1.5                            
  105. player_velocity.                infinity                        =               1.5                            
  106. player_velocity.                longest                         =               1.5                            
  107. player_velocity.                prisoner                        =               1.5                            
  108. player_velocity.                putput                          =               1.5                     -- chiron tl34
  109. player_velocity.                ratrace                         =               1.5                            
  110. player_velocity.                sidewinder                      =               1.5                            
  111. player_velocity.                timberland                      =               1.5                            
  112. player_velocity.                wizard                          =               1.5
  113.  
  114.  
  115. -- Specify the amount of time between leap-frogs for players
  116. --                                              Map:                                            Time(In Seconds):
  117. pause_time_players.             beavercreek             =               4                       -- battle creek
  118. pause_time_players.             bloodgulch                      =               4                              
  119. pause_time_players.             boardingaction          =               2.5                            
  120. pause_time_players.             carousel                        =               2.5                     -- derelict
  121. pause_time_players.             chillout                        =               2.5                            
  122. pause_time_players.             damnation                       =               2.5                            
  123. pause_time_players.             dangercanyon            =               4                              
  124. pause_time_players.             deathisland             =               4                      
  125. pause_time_players.             gephyrophobia           =               4                              
  126. pause_time_players.             hangemhigh                      =               2.5                            
  127. pause_time_players.             icefields                       =               4                              
  128. pause_time_players.             infinity                        =               4                              
  129. pause_time_players.             longest                         =               2.5                            
  130. pause_time_players.             prisoner                        =               2.5                            
  131. pause_time_players.             putput                          =               2.5                     -- chiron tl34
  132. pause_time_players.             ratrace                         =               2.5                            
  133. pause_time_players.             sidewinder                      =               4                              
  134. pause_time_players.             timberland                      =               4                              
  135. pause_time_players.             wizard                          =               2.5
  136.  
  137. -- Specify the amount of time between leap-frogs for vehicles
  138. --                                              Map:                                            Time(In Seconds):
  139. pause_time_vehicles.    beavercreek             =               4               -- battle creek
  140. pause_time_vehicles.    bloodgulch                      =               4
  141. pause_time_vehicles.    boardingaction          =               4                              
  142. pause_time_vehicles.    carousel                        =               4               -- derelict
  143. pause_time_vehicles.    chillout                        =               4                              
  144. pause_time_vehicles.    damnation                       =               4                              
  145. pause_time_vehicles.    dangercanyon            =               4                              
  146. pause_time_vehicles.    deathisland             =               4                      
  147. pause_time_vehicles.    gephyrophobia           =               4                              
  148. pause_time_vehicles.    hangemhigh                      =               4                              
  149. pause_time_vehicles.    icefields                       =               4                              
  150. pause_time_vehicles.    infinity                        =               4                              
  151. pause_time_vehicles.    longest                         =               4                              
  152. pause_time_vehicles.    prisoner                        =               4                              
  153. pause_time_vehicles.    putput                          =               4               -- chiron tl34
  154. pause_time_vehicles.    ratrace                         =               4                              
  155. pause_time_vehicles.    sidewinder                      =               4                              
  156. pause_time_vehicles.    timberland                      =               4                              
  157. pause_time_vehicles.    wizard                          =               4
  158.  
  159. -- If this is set to true then If the driver clicks their crouch key the vehicle will come to a complete stop.
  160. --                                      Map:                                            Boolean:
  161. emergency_brake.                beavercreek             =               false -- battle creek
  162. emergency_brake.                bloodgulch                      =               true
  163. emergency_brake.                boardingaction          =               false
  164. emergency_brake.                carousel                        =               false -- derelict
  165. emergency_brake.                chillout                        =               false
  166. emergency_brake.                damnation                       =               false
  167. emergency_brake.                dangercanyon            =               true
  168. emergency_brake.                deathisland             =               true
  169. emergency_brake.                gephyrophobia           =               true
  170. emergency_brake.                hangemhigh                      =               false
  171. emergency_brake.                icefields                       =               true
  172. emergency_brake.                infinity                        =               true
  173. emergency_brake.                longest                         =               false
  174. emergency_brake.                prisoner                        =               false
  175. emergency_brake.                putput                          =               false -- chiron tl34
  176. emergency_brake.                ratrace                         =               false
  177. emergency_brake.                sidewinder                      =               true   
  178. emergency_brake.                timberland                      =               true           
  179. emergency_brake.                wizard                          =               false
  180.  
  181. function GetRequiredVersion()
  182.         return 200
  183. end
  184.  
  185. function OnScriptLoad(process, game, persistent)
  186.         if game == "PC" then
  187.                 GAME = "PC"
  188.                 Map = readstring(0x698F21)
  189.         else
  190.                 GAME = "CE"
  191.                 Map = readstring(0x61D151)
  192.         end
  193.         for i=0,15 do
  194.                 if getplayer(i) then
  195.                         brakes[i] = 0
  196.                         jumps[i] = 0
  197.                 end
  198.         end            
  199. end
  200.  
  201. function OnNewGame(map)
  202.         if GAME == "PC" then
  203.                 Map = readstring(0x698F21)
  204.         else
  205.                 Map = readstring(0x61D151)
  206.         end
  207.         for i=0,15 do
  208.                 if getplayer(i) then
  209.                         brakes[i] = 0
  210.                         jumps[i] = 0
  211.                 end
  212.         end    
  213. end    
  214.  
  215. function OnPlayerJoin(player)
  216.         if getplayer(player) then
  217.                 brakes[player] = 0
  218.                 jumps[player] = 0
  219.                 announce = registertimer(6000, "timedannounce", player)
  220.         end    
  221. end
  222.  
  223.  
  224. function OnGameEnd(stage)
  225.         if stage == 1 then
  226.                 if announce then
  227.                         removetimer(announce)
  228.                         announce = nil
  229.                 end
  230.         end
  231. end
  232.  
  233. function OnClientUpdate(player)
  234.         if brakes[player] > 0 then brakes[player] = brakes[player] - 1 end
  235.         if jumps[player] > 0 then jumps[player] = jumps[player] - 1 end
  236.         local m_playerObjId = getplayerobjectid(player)
  237.         if m_playerObjId then
  238.                 local m_object = getobject(m_playerObjId)
  239.                 if isinvehicle(player) then
  240.                         if enable_vehicle_leap[Map] then
  241.                                 local m_vehicle = getobject(getplayervehicleid(player))
  242.                                 if brakes[player] == 0 and getdriverplayer(m_vehicle) == player and readbit(m_object + 0x208, 1) then
  243.                                         sendconsoletext(player, "Leap Frog!")
  244.                                         brakes[player] = math.floor(pause_time_vehicles[Map]*30)
  245.                                         writebit(m_vehicle + 0x10, 5, 0)
  246.                                         writefloat(m_vehicle + 0x70, vehicle_velocity[Map]/10)
  247.                                         if readfloat(m_vehicle, 0x8C) > 0 then
  248.                                         writefloat(m_vehicle + 0x8C, readfloat(m_vehicle, 0x8C)*neg_multiplier)
  249.                                         else
  250.                                         writefloat(m_vehicle + 0x8C, readfloat(m_vehicle, 0x8C)*pos_multiplier)
  251.                                         end
  252.                                         writefloat(m_vehicle + 0x90, readfloat(m_vehicle, 0x90)*pos_multiplier)
  253.                                         writefloat(m_vehicle + 0x94, readfloat(m_vehicle, 0x94)*pos_multiplier)                                
  254.                                 end
  255.                         end
  256.                         if emergency_brake[Map] then
  257.                                 local m_vehicle = getobject(getplayervehicleid(player))
  258.                                 if getdriverplayer(m_vehicle) == player and readbit(m_object + 0x208, 0) then
  259.                                         writefloat(m_vehicle + 0x68, readfloat(m_vehicle + 0x68)*brk_multiplier)
  260.                                         writefloat(m_vehicle + 0x6C, readfloat(m_vehicle + 0x6C)*brk_multiplier)                               
  261.                                 end    
  262.                         end
  263.                 else
  264.                         if enable_player_leap[Map] then
  265.                                 if jumps[player] == 0 and readbyte(m_object + 0x4CC) == 1 and readbit(m_object + 0x208, 1) then
  266.                                         sendconsoletext(player, "Leap Frog!")
  267.                                         jumps[player] = math.floor(pause_time_players[Map]*30)
  268.                                         writebit(m_object + 0x10, 5, 0)
  269.                                         writefloat(m_object + 0x70, player_velocity[Map]/10)
  270.                                 end
  271.                         end
  272.                 end
  273.         end
  274. end
  275.  
  276. function getdriverplayer(m_vehicle)
  277.      local obj_id = readdword(m_vehicle + 0x324)
  278.     if obj_id ~= 0xFFFFFFFF then return objectidtoplayer(obj_id) end
  279. end
  280.  
  281. function timedannounce(id, count, player)
  282.         if getplayer(player) then
  283.                 if enable_vehicle_leap[Map] then sendconsoletext(player, "Vehicle Leap-Frog is Enabled.") end
  284.                 if enable_player_leap[Map] then sendconsoletext(player, "Player Leap-Frog is Enabled.") end
  285.         end
  286.         return false   
  287. end
  288.  
  289. function getplayervehicleid(player)
  290.         return readdword(getobject(getplayerobjectid(player)) + 0x11C)
  291. end
  292.  
  293. -- This script, was made by myself H® Shaft and Aelite, but did not duplicate any portion of OUR original script from 5/2012 written by Wizard and H® Shaft.
  294.  
  295. -- Created by H® Shaft thank you to Oxide, AelitePrime, Nugget & Wizard.
  296. -- Visit http://halorace.org/forum/index.php?topic=514.0 or
  297. -- Visit http://pastebin.com/u/HR_Shaft for more phasor scripts

HaloNet.Net is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

Login or Register to edit or fork this paste. It's free.