Advertisement
HR_Shaft

Death Messages V6 for SAPP It WORKS!

Jul 20th, 2016
325
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 20.38 KB | None | 0 0
  1. -- Death Messages V6 for stock PC/CE maps for SAPP
  2. -- by H® Shaft
  3.  
  4. -- V6 Changelog:
  5.     -- added teamkiller kill,
  6.     -- fixed melee,
  7.     -- suicide was fixed,
  8.     -- added show team switch variable,
  9.     -- changed metaid method
  10.     -- updated function isinvehicle
  11.     -- updated say messages to use sapps execute_command function
  12.  
  13. -- Script will show how players were killed/died: Normal death messages are blocked (no chat spam), examples :
  14. -- "H® Shaft was blasted by sehé°°'s banshee plasma cannon."
  15. -- "H® Shaft was blown-up by sehé°°'s's frag grenade."
  16. -- "H® Shaft was shot by Btcc22's sniper rifle."
  17. -- "H® Shaft was melee'd by Btcc22!"
  18. -- Will tell Killer and Victim if they were killed by Headshot (pistol and sniper only) "BOOM! You were headshot! by H® Shaft"
  19. -- Will show when a player died by: Falling, by Vehicle or Team Change, will not show if killed by the server
  20. -- Will show player their combination kills, and announce to everyone your sprees: "H® Shaft is on a Killing Spree!"
  21. -- Allows server admins to turn fall damage on/off PER map: see LoadDefaults() true, fall damage is on, false it is off
  22.  
  23. -- specify the amount of damage done by melee: 0 = disable melee kill, 1 = normal, 2 = double, 3 = triple, 4 = quadruple
  24. melee_damage = 2
  25.  
  26. -- specify the amount of damage done by melee or backtap: 0 = disable backtap kill, 1 = normal, 2 = double, 3 = triple, 4 = quadruple
  27. backtap_damage = 4  -- note: this is disabled/commented out on lines 327-330
  28.  
  29. -- Should a team killer be killed?  (true = they will be killed, false they will not be killed)
  30. team_kill_karma = true
  31.  
  32. -- message shown to team killer
  33. tk_message = "PLEASE DON'T KILL OR ATTACK YOUR OWN TEAM!"
  34.  
  35. -- should team-switch message be shown? true = show message, false = don't show  (set to false if using another script which shows team-switch)
  36. show_teamswitch = true
  37.  
  38. -- don't edit --
  39. team_play = false
  40. last_damage = {}
  41. head_shot = {}
  42. back_tap = {}
  43. killed_by_nothing = {}
  44. api_version = "1.9.0.0"
  45.  
  46. function OnScriptLoad()
  47.     register_callback(cb['EVENT_GAME_START'], "OnNewGame")
  48.     register_callback(cb['EVENT_PRESPAWN'], "OnPlayerPreSpawn")
  49.     register_callback(cb['EVENT_DAMAGE_APPLICATION'], "OnDamageApplication")
  50.     register_callback(cb['EVENT_DIE'], "OnPlayerDie")
  51.     register_callback(cb['EVENT_KILL'], "OnPlayerKill")
  52.     register_callback(cb['EVENT_TEAM_SWITCH'], "OnTeamSwitch") 
  53.     register_callback(cb['EVENT_GAME_END'], "OnGameEnd")       
  54.     register_callback(cb['EVENT_LEAVE'], "OnPlayerLeave")
  55.    
  56.     -- suppress halo's death messages
  57.     disable_killmsg_addr = sig_scan("8B42348A8C28D500000084C9") + 3
  58.     original_code_1 = read_dword(disable_killmsg_addr)
  59.     safe_write(true)
  60.     write_dword(disable_killmsg_addr, 0x03EB01B1)
  61.     safe_write(false)
  62.     execute_command("var_add kname 3") -- name of the killer
  63.  
  64.     -- if a game is already running when loaded, do this   
  65.     if get_var(0, "$gt") ~= "n/a" then 
  66.         game_started = true
  67.         team_play = getteamplay()
  68.         LoadDefaults()
  69.         map_name = get_var(1,"$map")
  70.         for i=1,16 do
  71.             if player_present(i) then
  72.                 last_damage[i] = 0
  73.                 killed_by_nothing[i] = false
  74.                 head_shot[i] = false
  75.                 back_tap[i] = false
  76.             end
  77.         end    
  78.     end    
  79. end
  80.  
  81. function OnScriptUnload()
  82.     execute_command("var_del kname")
  83.     safe_write(true)
  84.     write_dword(disable_killmsg_addr, original_code_1)
  85.     safe_write(false)
  86.     killed_by_nothing = {}
  87.     last_damage = {}
  88.     head_shot = {}
  89.     back_tap = {}
  90. end
  91.  
  92. function OnPlayerPreSpawn(PlayerIndex)
  93.     last_damage[PlayerIndex] = 0
  94.     head_shot[PlayerIndex] = false
  95.     back_tap[PlayerIndex] = false
  96. end
  97.  
  98. function OnNewGame()
  99.     game_started = true
  100.     team_play = getteamplay()
  101.     map_name = get_var(1,"$map")
  102.     if get_var(0, "$gt") ~= "n/a" then
  103.         LoadDefaults() 
  104.     end
  105.     for i=1,16 do
  106.         if player_present(i) then  
  107.             last_damage[i] = 0
  108.             killed_by_nothing[i] = false
  109.             head_shot[i] = false
  110.             back_tap[i] = false
  111.         end
  112.     end    
  113. end
  114.  
  115. function OnPlayerLeave(PlayerIndex)
  116.     last_damage[PlayerIndex] = nil
  117.     killed_by_nothing[PlayerIndex] = nil
  118.     head_shot[PlayerIndex] = nil
  119.     back_tap[PlayerIndex] = nil
  120. end
  121.  
  122. function OnGameEnd()
  123.     game_started = false
  124.     for i=1,16 do
  125.         if player_present(i) then      
  126.             last_damage[i] = 0
  127.             killed_by_nothing[i] = false
  128.             head_shot[i] = false
  129.             back_tap[i] = false
  130.         end
  131.     end
  132. end
  133.  
  134. function OnPlayerDie(PlayerIndex, KillerIndex)
  135.     -- Killer Index is: -- falling = -1, server = -1, team-switch = -1, vehicle = 0, other players = 1 or greater
  136.     if game_started then
  137.         local vname = get_var(PlayerIndex, "$name")
  138.         local vteam = get_var(PlayerIndex, "$team")
  139.         local killer = tonumber(KillerIndex)
  140.  
  141.         if (killer == -1) then -- killer is the server
  142.             if last_damage[PlayerIndex] == 0 then
  143.                 killed_by_nothing[PlayerIndex] = true
  144.                 rprint(PlayerIndex, vname.. " - You were killed by the server.")
  145.             elseif last_damage[PlayerIndex] == falling_damage or last_damage[PlayerIndex] == distance_damage then
  146.                 execute_command('say * "$name fell and died."', PlayerIndex)
  147.                 last_damage[PlayerIndex] = 0
  148.                 killed_by_nothing[PlayerIndex] = false             
  149.             end
  150.            
  151.         elseif (killer == 0) then -- killer is a vehicle
  152.             if last_damage[PlayerIndex] == veh_damage then
  153.                 execute_command('say * "$name was killed by a vehicle."', PlayerIndex)
  154.                 last_damage[PlayerIndex] = 0           
  155.             end
  156.            
  157.         elseif (killer == nil) then -- killer is unknown/glitch
  158.             if last_damage[PlayerIndex] == 0 then
  159.                 execute_command('say * "$name was killed by the guardians."', PlayerIndex)
  160.             end
  161.            
  162.         elseif (killer > 0) then -- killer is a player
  163.             local kteam = get_var(KillerIndex, "$team")
  164.             -- set default in case of glitch or reload
  165.             if kname == nil then kname = "the server" end
  166.             if kteam == nil then kteam = " " end
  167.            
  168.             if PlayerIndex == killer then -- suicide - killer was self
  169.                 execute_command('say * "$name committed suicide."', PlayerIndex)
  170.                
  171.             elseif (team_play and (kteam == vteam) and (PlayerIndex ~= KillerIndex)) then -- teamkill/betray
  172.            
  173.                 execute_command('var_set kname "$name" '..PlayerIndex, killer)
  174.                
  175.                 execute_command('say * "$name was betrayed by $kname"', PlayerIndex)
  176.                 rprint(KillerIndex, tk_message)
  177.                 if team_kill_karma then
  178.                     kill(KillerIndex)
  179.                     rprint(KillerIndex, "Karma is a bitch!")
  180.                 end
  181.            
  182.             elseif PlayerIndex ~= KillerIndex  then -- killed by another player
  183.            
  184.                 execute_command('var_set kname "$name" '..PlayerIndex, killer)
  185.                
  186.                 if last_damage[PlayerIndex] == veh_damage then -- killed by a vehicle
  187.                     if isinvehicle(KillerIndex) then
  188.                         execute_command('say * "$name was run over by $kname"', PlayerIndex)
  189.                     else
  190.                         say_all(vname.. " was killed by a vehicle.")
  191.                     end
  192.                 elseif last_damage[PlayerIndex] == banshee_bolt then
  193.                     execute_command('say * "$name was shot by $kname\'s banshee gun."', PlayerIndex)
  194.                 elseif last_damage[PlayerIndex] == banshee_explode then
  195.                     execute_command('say * "$name was shot by $kname\'s banshee plasma cannon."', PlayerIndex)
  196.                 elseif last_damage[PlayerIndex] == turret_bolt then
  197.                     say_all(vname.. " was shot by " .. kname .. "'s turret. ")
  198.                     execute_command('say * "$name was shot by $kname\'s turret gun."', PlayerIndex)
  199.                 elseif last_damage[PlayerIndex] == ghost_bolt then
  200.                     execute_command('say * "$name was shot by $kname\'s ghost gun."', PlayerIndex)
  201.                 elseif last_damage[PlayerIndex] == tank_shell then
  202.                     execute_command('say * "$name was shot by $kname\'s tank shell."', PlayerIndex)                
  203.                 elseif last_damage[PlayerIndex] == tank_bullet then
  204.                     execute_command('say * "$name was shot by $kname\'s tank gun."', PlayerIndex)
  205.                 elseif last_damage[PlayerIndex] == chain_bullet then
  206.                     execute_command('say * "$name was shot by $kname\'s chain gun."', PlayerIndex)
  207.                 elseif last_damage[PlayerIndex] == assault_bullet then
  208.                     execute_command('say * "$name was shot by $kname\'s assault rifle."', PlayerIndex)
  209.                 elseif last_damage[PlayerIndex] == flame_explode then
  210.                     execute_command('say * "$name was toasted by $kname\'s flame-thrower."', PlayerIndex)
  211.                 elseif last_damage[PlayerIndex] == frag_explode then
  212.                     execute_command('say * "$name was blown-up by $kname\'s frag grenade."', PlayerIndex)
  213.                 elseif last_damage[PlayerIndex] == needle_detonate then
  214.                     execute_command('say * "$name was shot by $kname\'s needler."', PlayerIndex)
  215.                 elseif last_damage[PlayerIndex] == needle_explode then
  216.                     execute_command('say * "$name was shot by $kname\'s needler."', PlayerIndex)
  217.                 elseif last_damage[PlayerIndex] == needle_impact then
  218.                     execute_command('say * "$name was shot by $kname\'s needler."', PlayerIndex)       
  219.                 elseif last_damage[PlayerIndex] == pistol_bullet then
  220.                     execute_command('say * "$name was shot by $kname\'s pistol."', PlayerIndex)
  221.                     if head_shot[PlayerIndex] then  -- only the pistol and sniper actually cause fatal headshots
  222.                         execute_command('say me "BOOM! You were You were headshot by $kname!"', PlayerIndex)
  223.                         execute_command('say me "BOOM! HEADSHOT!"', killer)
  224.                         head_shot[PlayerIndex] = false
  225.                     end                
  226.                 elseif last_damage[PlayerIndex] == plasma_attach then
  227.                     execute_command('say * "$name was stickied by $kname\'s plasma grenade."', PlayerIndex)
  228.                 elseif last_damage[PlayerIndex] == plasma_explode then
  229.                     execute_command('say * "$name was blown-up by $kname\'s plasma grenade."', PlayerIndex)
  230.                 elseif last_damage[PlayerIndex] == ppistol_bolt then
  231.                     execute_command('say * "$name was shot by $kname\'s plasma pistol."', PlayerIndex)
  232.                 elseif last_damage[PlayerIndex] == ppistol_charged then
  233.                     execute_command('say * "$name was shot by $kname\'s plasma pistol."', PlayerIndex)
  234.                 elseif last_damage[PlayerIndex] == prifle_bolt then
  235.                     execute_command('say * "$name was shot by $kname\'s plasma rifle."', PlayerIndex)
  236.                 elseif last_damage[PlayerIndex] == pcannon_explode then
  237.                     execute_command('say * "$name was shot by $kname\'s plasma cannon."', PlayerIndex)
  238.                 elseif last_damage[PlayerIndex] == rocket_explode then
  239.                     -- rocket warthog and rocket launcher use the same projectile, this will show different message for each
  240.                     if isinvehicle(KillerIndex) then
  241.                         execute_command('say * "$name was blown-up by $kname\'s warthog rocket."', PlayerIndex)
  242.                     else   
  243.                         execute_command('say * "$name was blown-up by $kname\'s rocket."', PlayerIndex)
  244.                     end
  245.                 elseif last_damage[PlayerIndex] == shotgun_pellet then
  246.                     execute_command('say * "$name was gutted by $kname\'s shotgun."', PlayerIndex)
  247.                 elseif last_damage[PlayerIndex] == sniper_bullet then
  248.                     execute_command('say * "$name was sniped by $kname"', PlayerIndex)
  249.                     if head_shot[PlayerIndex] then -- only the pistol and sniper actually cause fatal headshots
  250.                         execute_command('say me "BOOM! You were You were headshot by $kname!"', PlayerIndex)
  251.                         execute_command('say me "BOOM! HEADSHOT!"', killer)
  252.                         head_shot[PlayerIndex] = false
  253.                     end
  254.                    
  255.                 elseif last_damage[PlayerIndex] == assault_melee or
  256.                     last_damage[PlayerIndex] == assault_melee or
  257.                     last_damage[PlayerIndex] == ball_melee or
  258.                     last_damage[PlayerIndex] == flag_melee or
  259.                     last_damage[PlayerIndex] == flame_melee or
  260.                     last_damage[PlayerIndex] == needle_melee or
  261.                     last_damage[PlayerIndex] == pistol_melee or
  262.                     last_damage[PlayerIndex] == ppistol_melee or
  263.                     last_damage[PlayerIndex] == prifle_melee or
  264.                     last_damage[PlayerIndex] == pcannon_melee or
  265.                     last_damage[PlayerIndex] == rocket_melee or
  266.                     last_damage[PlayerIndex] == shotgun_melee or
  267.                     last_damage[PlayerIndex] == sniper_melee then
  268.                     execute_command('say * "$name was melee\'d $kname"', PlayerIndex)
  269.                     if back_tap[PlayerIndex] then -- backtap: melee from behind/top (rarely registers, if ever)
  270.                         execute_command('say me "BOOM! You were Bitch-slapped by $kname!"', PlayerIndex)
  271.                         execute_command('say me "BOOM! BITCH-SLAP!"', killer)                  
  272.                         back_tap[PlayerIndex] = false
  273.                     end
  274.                    
  275.                 -- if damage type was not recorded then
  276.                 elseif last_damage[PlayerIndex] == 0 then
  277.                     execute_command('say * "$name was killed by $kname"', PlayerIndex) 
  278.                 end
  279.                
  280.             else
  281.                 -- if killer was none of the above, blame the guardians
  282.                 execute_command('say * "$name was killed by the guardians."', PlayerIndex)
  283.                
  284.             end
  285.         end
  286.         last_damage[PlayerIndex] = 0
  287.         head_shot[PlayerIndex] = false
  288.         back_tap[PlayerIndex] = false
  289.     end
  290. end
  291.  
  292. function OnTeamSwitch(PlayerIndex)
  293.     if game_started then
  294.         if team_play then
  295.             if (killed_by_nothing[PlayerIndex] == true) then
  296.                 if show_teamswitch then
  297.                     say_all(get_var(PlayerIndex,"$name") .. " switched to the " .. get_var(PlayerIndex,"$team") .. " team.")
  298.                 end    
  299.                 killed_by_nothing[PlayerIndex] = false             
  300.             end    
  301.         end
  302.     end
  303. end
  304.  
  305. function OnDamageApplication(PlayerIndex, CauserIndex, MetaID, Damage, HitString, Backtap)
  306.     if game_started then
  307.         -- record players last damage
  308.         last_damage[PlayerIndex] = MetaID
  309.         -- if damage was to the head, record it
  310.         if (HitString == "head") then
  311.             head_shot[PlayerIndex] = true
  312.         end
  313.         -- melee damage? if so, apply modified amount  
  314.         if MetaID == assault_melee or
  315.             MetaID == assault_melee or
  316.             MetaID == ball_melee or
  317.             MetaID == flag_melee or
  318.             MetaID == flame_melee or
  319.             MetaID == needle_melee or
  320.             MetaID == pistol_melee or
  321.             MetaID == ppistol_melee or
  322.             MetaID == prifle_melee or
  323.             MetaID == pcannon_melee or
  324.             MetaID == rocket_melee or
  325.             MetaID == shotgun_melee or
  326.             MetaID == sniper_melee then
  327.             back_tap[PlayerIndex] = true
  328.             return true, Damage * melee_damage
  329.         end
  330.         -- if player dies from falling (too far) or from fall impact (distance), and fall damage is OFF, block all damage
  331.         if MetaID == falling_damage then
  332.             last_damage[PlayerIndex] = falling_damage
  333.             if not fall_damage[map_name] then
  334.                 return true, 0
  335.             end
  336.         elseif MetaID == distance_damage then
  337.             last_damage[PlayerIndex] = distance_damage
  338.             if not fall_damage[map_name] then
  339.                 return true, 0
  340.             end
  341.         end
  342.         -- disabled for now/commented out
  343.         -- backtap - (melee'd from behind) - this function *rarely* works with phasor, this function was taken from phasor
  344.         --if Backtap then
  345.             --back_tap[PlayerIndex] = true
  346.             --return true, Damage * backtap_damage
  347.         --end      
  348.     end
  349. end
  350.  
  351. function get_tag_info(tagclass,tagname) -- Thanks to 002, return metaid
  352.     local tagarray = read_dword(0x40440000)
  353.     for i=0,read_word(0x4044000C)-1 do
  354.         local tag = tagarray + i * 0x20
  355.         local class = string.reverse(string.sub(read_string(tag),1,4))
  356.         if (class == tagclass) then
  357.             if (read_string(read_dword(tag + 0x10)) == tagname) then
  358.                 return read_dword(tag + 0xC)
  359.             end
  360.         end
  361.     end
  362.     return nil
  363. end
  364.  
  365. function OnPlayerKill(PlayerIndex, VictimIndex)
  366.     local combo = tonumber(get_var(PlayerIndex, "$combo"))
  367.     local spree = tonumber(get_var(PlayerIndex, "$streak"))
  368.     local Name = get_var(PlayerIndex, "$name")
  369.    
  370.     if combo == 2 then
  371.         rprint(PlayerIndex, "|r" .. "Double Kill!")
  372.     elseif combo == 3 then
  373.         rprint(PlayerIndex, "|r" .. "Triple Kill!")
  374.     elseif combo == 4 then
  375.         rprint(PlayerIndex, "|r" .. "Overkill!")   
  376.     elseif combo == 5 then
  377.         rprint(PlayerIndex, "|r" .. "Killtacular!")
  378.     elseif combo == 6 then
  379.         rprint(PlayerIndex, "|r" .. "Killtrocity!")
  380.     elseif combo == 7 then
  381.         rprint(PlayerIndex, "|r" .. "Killimanjaro!")   
  382.     elseif combo == 8 then
  383.         rprint(PlayerIndex, "|r" .. "Killtastrophe!")  
  384.     elseif combo == 9 then
  385.         rprint(PlayerIndex, "|r" .. "Killpocalypse!")  
  386.     elseif combo == 10 then
  387.         rprint(PlayerIndex, "|r" .. "Killionaire!")
  388.     end
  389.    
  390.     if spree == 5 then
  391.         AnnounceSpree(Name, "is on a Killing Spree!")
  392.     elseif spree == 10 then
  393.         AnnounceSpree(Name, "is in a Killing Frenzy!")
  394.     elseif spree == 15 then
  395.         AnnounceSpree(Name, "just got a Running Riot!")
  396.     elseif spree == 20 then
  397.         AnnounceSpree(Name, "is on a Rampage!")
  398.     elseif spree == 25 then
  399.         AnnounceSpree(Name, "is Untouchable!")
  400.     elseif spree == 30 then
  401.         AnnounceSpree(Name, "is Inconceivable!")
  402.     elseif spree == 35 then
  403.         AnnounceSpree(Name, "is Unfrigginbelievable!")
  404.     elseif spree == 40 then
  405.         AnnounceSpree(Name, "is running AMOK!")
  406.     elseif spree >= 50 then
  407.         AnnounceSpree(Name, "is going BESERK!")    
  408.     end
  409. end
  410.  
  411. function AnnounceSpree(Name, Message)
  412.     for i = 1,16 do
  413.         if player_present(i) then
  414.             rprint(i, "|r" .. "" .. Name .. " " .. Message)
  415.         end
  416.     end
  417. end
  418.  
  419. function isinvehicle(PlayerIndex)  -- edited 7/20/2016
  420.     local player_object = get_dynamic_player(PlayerIndex)
  421.     if player_object ~= 0 then
  422.         local vehicleId = read_dword(player_object + 0x11C)
  423.         if vehicleId == 0xFFFFFFFF then
  424.             return false
  425.         else
  426.             return true
  427.         end
  428.     else
  429.         return false
  430.     end
  431. end
  432.  
  433. function getteamplay()
  434.     if get_var(0,"$ffa") == "0" then
  435.         return true
  436.     else
  437.         return false
  438.     end
  439. end
  440.  
  441. function LoadDefaults()
  442.     -- turn fall damage on (true) or off (false) for each map,
  443.     -- note: damnation & gephyrophobia players can get stuck on bottom if it's turned off (set to false)
  444.     fall_damage = {
  445.         ["beavercreek"] = true,
  446.         ["bloodgulch"] = true,
  447.         ["boardingaction"] = true,
  448.         ["carousel"] = true,
  449.         ["chillout"] = true,
  450.         ["damnation"] = true,
  451.         ["dangercanyon"] = true,
  452.         ["deathisland"] = true,
  453.         ["gephyrophobia"] = true,
  454.         ["hangemhigh"] = true,
  455.         ["icefields"] = true,
  456.         ["infinity"] = true,
  457.         ["longest"] = true,
  458.         ["prisoner"] = true,
  459.         ["putput"] = true,
  460.         ["ratrace"] = true,
  461.         ["sidewinder"] = true,
  462.         ["timberland"] = true,
  463.         ["wizard"] = true
  464.     }
  465.     if game_started then   
  466.         if get_var(0, "$gt") ~= "n/a" then
  467.             falling_damage = get_tag_info("jpt!", "globals\\falling")
  468.             distance_damage = get_tag_info("jpt!", "globals\\distance")
  469.             veh_damage = get_tag_info("jpt!", "globals\\vehicle_collision")
  470.             banshee_bolt = get_tag_info("jpt!", "vehicles\\banshee\\banshee bolt")
  471.             banshee_explode = get_tag_info("jpt!", "vehicles\\banshee\\mp_fuel rod explosion")
  472.             turret_bolt = get_tag_info("jpt!", "vehicles\\c gun turret\\mp bolt")
  473.             ghost_bolt = get_tag_info("jpt!", "vehicles\\ghost\\ghost bolt")
  474.             tank_shell = get_tag_info("jpt!", "vehicles\\scorpion\\shell explosion")
  475.             tank_bullet = get_tag_info("jpt!", "vehicles\\scorpion\\bullet")
  476.             chain_bullet = get_tag_info("jpt!", "vehicles\\warthog\\bullet")
  477.             assault_bullet = get_tag_info("jpt!", "weapons\\assault rifle\\bullet")
  478.             assault_melee = get_tag_info("jpt!", "weapons\\assault rifle\\melee")
  479.             ball_melee = get_tag_info("jpt!", "weapons\\ball\\melee")
  480.             flag_melee = get_tag_info("jpt!", "weapons\\flag\\melee")
  481.             flame_explode = get_tag_info("jpt!", "weapons\\flamethrower\\explosion")
  482.             flame_melee = get_tag_info("jpt!", "weapons\\flamethrower\\melee")
  483.             frag_explode = get_tag_info("jpt!", "weapons\\frag grenade\\explosion")
  484.             needle_detonate = get_tag_info("jpt!", "weapons\\needler\\detonation damage")
  485.             needle_explode = get_tag_info("jpt!", "weapons\\needler\\explosion")
  486.             needle_impact = get_tag_info("jpt!", "weapons\\needler\\impact damage")
  487.             needle_melee = get_tag_info("jpt!", "weapons\\needler\\melee")
  488.             pistol_bullet = get_tag_info("jpt!", "weapons\\pistol\\bullet")
  489.             pistol_melee = get_tag_info("jpt!", "weapons\\pistol\\melee")
  490.             plasma_attach = get_tag_info("jpt!", "weapons\\plasma grenade\\attached")
  491.             plasma_explode = get_tag_info("jpt!", "weapons\\plasma grenade\\explosion")
  492.             ppistol_bolt = get_tag_info("jpt!", "weapons\\plasma pistol\\bolt")
  493.             ppistol_charged = get_tag_info("jpt!", "weapons\\plasma rifle\\charged bolt")
  494.             ppistol_melee = get_tag_info("jpt!", "weapons\\plasma pistol\\melee")
  495.             prifle_bolt = get_tag_info("jpt!", "weapons\\plasma rifle\\bolt")
  496.             prifle_melee = get_tag_info("jpt!", "weapons\\plasma rifle\\melee")
  497.             pcannon_explode = get_tag_info("jpt!", "weapons\\plasma_cannon\\effects\\plasma_cannon_explosion")
  498.             pcannon_melee = get_tag_info("jpt!", "weapons\\plasma_cannon\\effects\\plasma_cannon_melee")
  499.             rocket_explode = get_tag_info("jpt!", "weapons\\rocket launcher\\explosion")
  500.             rocket_melee = get_tag_info("jpt!", "weapons\\rocket launcher\\melee")
  501.             shotgun_pellet = get_tag_info("jpt!", "weapons\\shotgun\\pellet")
  502.             shotgun_melee = get_tag_info("jpt!", "weapons\\shotgun\\melee")
  503.             sniper_bullet = get_tag_info("jpt!", "weapons\\sniper rifle\\sniper bullet")
  504.             sniper_melee = get_tag_info("jpt!", "weapons\\sniper rifle\\melee")
  505.         end
  506.     end
  507. end
  508.  
  509. function OnError(Message)
  510.     print(debug.traceback())
  511. end
  512.  
  513. -- Created by H® Shaft
  514. -- Visit http://halorace.org/forum/index.php
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement