Advertisement
Guest User

max_fall_distance_damage.lua

a guest
Feb 2nd, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.11 KB | None | 0 0
  1. -- Config
  2.  
  3. -- Damage that is applied after surpassing maximum falling distance (damage is applied once every game tick?)
  4. MAX_DISTANCE_DAMAGE_MULTIPLER = 0.005
  5.  
  6. -- End of Config
  7.  
  8. api_version = "1.9.0.0"
  9.  
  10. function OnScriptLoad()
  11.     register_callback(cb['EVENT_GAME_START'], "OnGameStart")
  12. end
  13.  
  14. function OnGameStart()
  15.     if(type(MAX_DISTANCE_DAMAGE_MULTIPLER) == "number") then
  16.         local globals_tag = lookup_tag("matg", "globals\\globals")
  17.         local globals_data = read_dword(globals_tag + 0x14)
  18.         local falling_damage_data = read_dword(globals_data + 0x18C)
  19.         local distance_dmg_meta = read_dword(falling_damage_data + 0x38)
  20.         if(distance_dmg_meta ~= 0xFFFFFFFF) then
  21.             local dmg_multiplier = MAX_DISTANCE_DAMAGE_MULTIPLER
  22.             local distance_dmg_tag = lookup_tag(distance_dmg_meta)
  23.             local distance_dmg_data = read_dword(distance_dmg_tag + 0x14)
  24.             local lower_dmg, upper_dmg_low, upper_dmg_high = read_vector3d(distance_dmg_data + 0x1D0)
  25.             write_vector3d(distance_dmg_data + 0x1D0, lower_dmg*dmg_multiplier, upper_dmg_low*dmg_multiplier, upper_dmg_high*dmg_multiplier)
  26.         end
  27.     end
  28. end
  29.  
  30. function OnScriptUnload() end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement