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.
Lua Code:
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] = vend
for k,v in pairs(ply.Experience) do tbl["experience"][k] = vend
for k,v in pairs(ply.Resources) do tbl["resources"][k] = vend
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] = vend
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