Advertisement
HR_Shaft

Death Messages V5 for stock PC/CE maps for SAPP

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