PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ply:GetWeapons() Problem



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

Scarecrow
10.07.2008, 13:40
Hmm also ich sehe da jetzt erst eimal keinen Fehler. Kann sein, dass Garry da wieder rummgefummelt hat.

DrTight
10.07.2008, 14:06
Hmm, gibts es noch eine andere Möglichkeit an die Waffen zu kommen?