Miért van == egy table értékadásnál? 
És azt honnan veszed hogy a source épp egy játékos lesz abban a scopeban ahová ez a kód bekerül? 
elnézést kérek, itt kicsit nehezebb volt, nem tudom miért, talán C#-ban, megszoktam hogy hasonló karakterek közt == van, de ez csak az én hülyeségem, de véleményem szerint ha egy ilyen gate rendszert megírt, akkor egy apró kis ilyen elírást ki tud javítani...

source mindenképpen jó lesz itt, ha commandhandlert használunk akkor a funkció paraméterei közt az első argumentumot is beírhatjuk:
function kapu(jatekos, parancs, ertek)
local engedelyezettJatekosok = {[\"Te_Neved\"] = true}
local jatekosNev = getPlayerName (jatekos)
if engedelyezettJatekosok[jatekosNev] then --esetleg még az érték lehetne egyfajta kapu (and ertek then)
--te kódod
end
end
addCommandHandler (\"kapu\", kapu)