You should use this to get player from name.
function getPlayerFromName( partialName )
if partialName then
local matches = {}
for i, player in ipairs ( getElementsByType ( "player" ) ) do
if getPlayerName ( player ) == partialName then
return player
end
if getPlayerName ( player ) : gsub ( "#%x%x%x%x%x%x" , "" ) : lower ( ) : find ( partialName : lower ( ) ) then
table.insert ( matches , player )
end
end
if #matches == 1 then
return matches [ 1 ]
end
end
return false
end