Playerentity kann nicht übergeben werden?
Aus einem mir unerklärlichen Grund, ist es dem Script nicht möglich das Playerentity durch den timer.Simple zu übergeben...
Automatisch bei jedem connect bekomme ich den unten angegebenen Fehler.
Code:
function SteamIDGet( ply )
local steamID = ply:SteamID() //Zeile 25
ply:SetNWString("SteamID", SteamID)
spieler_gibts(ply)
end
function PlayerInitialSpawn( ply )
timer.Simple(2.0, SteamIDGet, ply)
end
hook.Add("PlayerInitialSpawn", "Player Betritt Server", PlayerInitialSpawn)
Code:
[ERROR] gamemodes/millerrp/gamemode/sql.lua:25: attempt to index local 'ply' (a
nil value)
1. unknown - gamemodes/millerrp/gamemode/sql.lua:25
Ich hoffe ihr könnt mir sagen was ich da übersehe... und meinen Sonntag retten :D
AW: Playerentity kann nicht übergeben werden?
Funktioniert dein Script auch ohne timer.Simple nicht?
AW: Playerentity kann nicht übergeben werden?
Du übergibst "ply" nicht an SteamIDGet.
..sollte gehen.
Und warum machst du überhaupt einen Networked String namens SteamID auf den Player? Die Funktion ply:SteamID ist doch ohnehin shared, also client- und serverseitig nutzbar.
Und ich weiß zwar nicht was die Funktion spieler_gibts tut, aber du kannst auch zu jedem Zeitpunkt nach den InitialSpawn per bereits vorhandener Funktionen überprüfen, ob ein spezifischer Spieler/welche Spieler noch zu dem Server connected ist/sind.
Sonntag gerettet? :D