Non, le troisième argument de hook.Add doit être une fonction. Dans ton cas c'est.. n'importe quoi.
Alors tu as deux méthodes, soit tu crée directement la fonction, et ça donne ça :
hook.Add("PlayerSpawn", "Deodex.Connard", function(ply)
ply:Kill()
end)
Ou bien tu la crée avant
local function killPlayer(ply)
ply:Kill()
end
hook.Add("PlayerSpawn", "Deodex.Connard", killPlayer)
Les arguments de la fonction que tu crée (dans ce cas, il n'y en a qu'un seul, c'est le joueur) dépendent de la hook, elles sont renseignées dans le wiki de gmod.