@Magiddo Sorry I didn't notice your post, using csay solved the problem without having to go the SendLua route!
Completed code:
function ShowKiller(victim,inflictor,killer)
if killer:IsPlayer() then
ULib.csay(victim, "You were been killed by "..killer:Nick()..". A "..killer:GetRoleString().."!")
elseif not killer:IsPlayer() then
ULib.csay(victim, "CLUMSY!")
end
end
hook.Add("PlayerDeath","killer name and roll",ShowKiller)
This will now tell a player who killed them, and what their role was in a TTT game!
I haven't done any intense testing yet, but the bug mentioned above seems to have been solved.
Thanks everyone, learned a lot on this first simple project, I'll keep all my noob questions in this thread when they come up, anyone else is welcome to use this thread, too.