Use PlayerDeath to get the info you want and then send those to the player with a net message.
Then use a HUDPaint hook and a LocalPlayer():Alive() check to draw info to their screen when they're dead. The info you want needs to be sent from the server though.. here is a mockup..
this is VERY rough and probably (definitely) won't actually work..
SERVER CODE
util.AddNetworkString("send_death_info")
function PlayerDies( ply, infl, attacter )
local killer = attacker:Nick()
local weapon = attacker:GetActiveWeapon():GetClass()
net.Start( "send_death_info" )
net.WriteString( killer )
net.WriteString( weapon )
net.Send( ply )
end
hook.Add( "PlayerDeath", "MyPlayerDeathHook", PlayerDies )
CLIENTSIDE CODE
AddCSLuaFile()
local killer = ""
local weapon = ""
net.Receive( "send_death_info", function( ply, len )
killer = net.ReadString()
weapon = net.ReadString()
end )
function DeathScreen()
if LocalPlayer():Alive() then return end
FANCY HUD CODE HERE TO DISPLAY THE STUFF YOU WANT TO DISPLAY...
end
hook.Add( "HUDPaint", "MyDeathScreen", DeathScreen )
That will get you going.. anything more than that, and you're just asking someone to do it for you, in which case you should just come out and ask someone to do it for you...