DrTight
10.07.2008, 11:44
Hallo, ich bin dabei den Stranded Gamemode zu verändern.
Und zwar möchte ich das bei Charakterspeichern die Weapons auch in den Table geschrieben werden.
Leider erhalte ich immer method "GetPrintName" <a nil value> und ich weiss nicht warum.
function GM.SaveCharacter(ply,cmd,args)
if !file.IsDir("GMStranded") then file.CreateDir("GMStranded") end
if !file.IsDir("GMStranded/Saves") then file.CreateDir("GMStranded/Saves") end
local tbl = {}
tbl["skills"] = {}
tbl["experience"] = {}
tbl["unlocks"] = {}
tbl["resources"] = {}
tbl["weapons"] = {}
tbl["date"] = os.date("%A %m/%d/%y")
tbl["name"] = ply:Nick()
for k,v in pairs(ply.Skills) do
tbl["skills"][k] = v
end
for k,v in pairs(ply.Experience) do
tbl["experience"][k] = v
end
for k,v in pairs(ply.Resources) do
tbl["resources"][k] = v
end
for k,v in pairs(ply:GetWeapons()) do
tbl["weapons"][k] = v:GetPrintName()
end
for k,v in pairs(ply.FeatureUnlocks) do
tbl["unlocks"][k] = v
end
file.Write("GMStranded/Saves/"..ply:UniqueID()..".txt",util.TableToKeyValues(tbl))
ply:SendMessage("Saved character!",3,Color(255,255,255,255))
end
concommand.Add("gms_savecharacter",GM.SaveCharacter)
Es sieht so aus als ob ply:Getweapons ein nil ausgibt.
Alle anderen ply angaben funktionieren einwandfrei wie das ply:nick()
Danke im Voraus
DrTight
Und zwar möchte ich das bei Charakterspeichern die Weapons auch in den Table geschrieben werden.
Leider erhalte ich immer method "GetPrintName" <a nil value> und ich weiss nicht warum.
function GM.SaveCharacter(ply,cmd,args)
if !file.IsDir("GMStranded") then file.CreateDir("GMStranded") end
if !file.IsDir("GMStranded/Saves") then file.CreateDir("GMStranded/Saves") end
local tbl = {}
tbl["skills"] = {}
tbl["experience"] = {}
tbl["unlocks"] = {}
tbl["resources"] = {}
tbl["weapons"] = {}
tbl["date"] = os.date("%A %m/%d/%y")
tbl["name"] = ply:Nick()
for k,v in pairs(ply.Skills) do
tbl["skills"][k] = v
end
for k,v in pairs(ply.Experience) do
tbl["experience"][k] = v
end
for k,v in pairs(ply.Resources) do
tbl["resources"][k] = v
end
for k,v in pairs(ply:GetWeapons()) do
tbl["weapons"][k] = v:GetPrintName()
end
for k,v in pairs(ply.FeatureUnlocks) do
tbl["unlocks"][k] = v
end
file.Write("GMStranded/Saves/"..ply:UniqueID()..".txt",util.TableToKeyValues(tbl))
ply:SendMessage("Saved character!",3,Color(255,255,255,255))
end
concommand.Add("gms_savecharacter",GM.SaveCharacter)
Es sieht so aus als ob ply:Getweapons ein nil ausgibt.
Alle anderen ply angaben funktionieren einwandfrei wie das ply:nick()
Danke im Voraus
DrTight