Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[ ### Death-Kill Messages ###]]--
- --[[ ### v3 by H® Shaft ###]]--
- --[[ ### for Phasor v2 ###]]--
- --[[ ### thanks to Aelite ###]]--
- team_change = {}
- last_damage = {}
- function GetRequiredVersion()
- return 200
- end
- function OnScriptLoad(process, game, persistent)
- for i=0,15 do
- if getplayer(i) then
- team_change[i] = false
- end
- end
- end
- function OnNewGame(map)
- for i=0,15 do
- if getplayer(i) then
- team_change[i] = false
- end
- end
- last_damage = {}
- team_change = {}
- end
- function OnPlayerJoin(player)
- team_change[player] = false
- end
- -- Thanks to Elite Prime for this
- function OnDamageApplication(receiving, causing, tagid, hit, backtap)
- if receiving then
- local r_object = getobject(receiving)
- if r_object then
- local receiver = objectaddrtoplayer(r_object)
- if receiver then
- if not backtap then
- local r_hash = gethash(receiver)
- local tagname,tagtype = gettaginfo(tagid)
- last_damage[r_hash] = tagname
- else
- last_damage[r_hash] = "backtap"
- end
- end
- end
- end
- end
- function OnPlayerSpawnEnd(player, m_objectId)
- local hash = gethash(player)
- last_damage[hash] = nil
- end
- function OnPlayerKill(killer, victim, mode)
- local response = false
- if mode == 0 then
- response = false
- local killedmsg = generatekilltype(killslang)
- say(getname(victim) .. " was terminated by the server script or an admin. ")
- elseif mode == 1 then -- player was killed by falling or team-change
- local vhash = gethash(victim)
- if not team_change[victim] then
- response = false
- if last_damage[vhash] == "globals\\distance" or last_damage[vhash] == "globals\\falling" then
- say(getname(victim) .. " fell and died. ")
- end
- else
- response = false
- say(getname(victim) .. " changed teams.")
- team_change[victim] = false
- end
- elseif mode == 2 then -- player was killed by the guardians
- response = false
- say(getname(victim) .. " was killed by the guardians. ")
- elseif mode == 3 then -- player was killed by vehicle
- local v_name = getname(victim)
- local vhash = gethash(victim)
- response = false
- say(getname(victim) .. " was killed by a vehicle. ")
- elseif mode == 4 then -- player was killed by another player
- local vhash = gethash(victim)
- local killedmsg = generatekilltype(killslang)
- response = false
- if killer == nil then k_name = "UNKNOWN" else k_name = getname(killer) end
- if gethash(killer) == nil then khash = "XOXO10101010101OXOX" else khash = gethash(killer) end
- if last_damage[vhash] then
- if string.find(last_damage[vhash], "melee") then
- say(k_name .. " smacked " .. getname(victim) .. " upside the head! ")
- elseif last_damage[vhash] == "globals\\distance" or last_damage[vhash] == "globals\\falling" then
- say(getname(victim) .. " fell and died. ")
- elseif last_damage[vhash] == "globals\\vehicle_collision" then
- say(k_name .. " ran over " .. getname(victim))
- elseif string.find(last_damage[vhash], "banshee") then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with a banshee. ")
- elseif last_damage[vhash] == "vehicles\\c gun turret\\mp bolt" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with the covenant turret. ")
- elseif last_damage[vhash] == "vehicles\\ghost\\ghost bolt" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with the ghost plasma guns. ")
- elseif last_damage[vhash] == "vehicles\\scorpion\\bullet" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with the scorpion guns. ")
- elseif last_damage[vhash] == "vehicles\\scorpion\\shell explosion" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with the scorpion cannon. ")
- elseif last_damage[vhash] == "vehicles\\warthog\\bullet" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with a warthog chain-gun. ")
- elseif last_damage[vhash] == "weapons\\assault rifle\\bullet" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with an assault rifle. ")
- elseif last_damage[vhash] == "weapons\\flamethrower\\burning" or last_damage[vhash] == "weapons\\flamethrower\\explosion" or last_damage[vhash] == "weapons\\flamethrower\\impact damage" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with a flame-thrower. ")
- elseif last_damage[vhash] == "weapons\\frag grenade\\explosion" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with a frag grenade. ")
- elseif last_damage[vhash] == "weapons\\needler\\detonation damage" or last_damage[vhash] == "weapons\\needler\\explosion" or last_damage[vhash] == "weapons\\needler\\impact damage" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with a needler. ")
- elseif last_damage[vhash] == "weapons\\pistol\\bullet" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with a pistol. ")
- elseif last_damage[vhash] == "weapons\\plasma grenade\\attached" or last_damage[vhash] == "weapons\\plasma grenade\\explosion" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with a plasma grenade. ")
- elseif last_damage[vhash] == "weapons\\plasma pistol\\bolt" or last_damage[vhash] == "weapons\\plasma rifle\\charged bolt" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with a plasma pistol. ")
- elseif last_damage[vhash] == "weapons\\plasma rifle\\bolt" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with a plasma rifle. ")
- elseif last_damage[vhash] == "weapons\\plasma_cannon\\effects\\plasma_cannon_explosion" or last_damage[vhash] == "weapons\\plasma_cannon\\impact damage" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with a fuel-rod gun. ")
- elseif last_damage[vhash] == "weapons\\rocket launcher\\explosion" then
- if isinvehicle(killer) then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with a warthog rocket. ")
- else
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with a rocket launcher. ")
- end
- elseif last_damage[vhash] == "weapons\\shotgun\\pellet" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with a shotgun. ")
- elseif last_damage[vhash] == "weapons\\sniper rifle\\sniper bullet" then
- say(k_name .. " " .. killedmsg .. " " .. getname(victim) .. " with a sniper rifle. ")
- end
- end
- elseif mode == 5 then -- player was killed by teammate
- response = true
- if killer then
- privatesay(killer, " -- DON'T BETRAY! --")
- end
- elseif mode == 6 then --suicides
- response = true
- end
- return response
- end
- function OnTeamChange(player, old_team, new_team, relevant)
- team_change[player] = true
- return nil
- end
- function generatekilltype(killslang)
- local killcount = #killtype
- local kill_verb = getrandomnumber(1, killcount+1)
- local kill_type = string.format("%s", killtype[kill_verb])
- if kill_type then
- return kill_type
- else
- return "killed"
- end
- end
- killtype = {"destroyed", "fubbared", "disemboweled", "violated", "eviscerated", "assassinated", "slaughtered", "exterminated", "murdered", "dispatched", "eradicated", "executed", "snuffed", "eliminated", "liquidated"}
- -- Created by H® Shaft thank you to Oxide, AelitePrime, Nugget & Wizard.
- -- Visit http://halorace.org/forum/index.php?topic=514.0 or
- -- Visit http://pastebin.com/u/HR_Shaft for more phasor scripts
Advertisement
Add Comment
Please, Sign In to add comment