Advertisement
HR_Shaft

Leap-Frog v5 for Phasor v2

Mar 1st, 2014
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 11.09 KB | None | 0 0
  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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement