--[[ Details how quests are handeled ]] local pmeta = FindMetaTable("Player") if SERVER then util.AddNetworkString("synchquest") end function pmeta:SynchronizeQuest(name) net.Start("synchquest") net.WriteString(name) net.WriteUInt(self.Quests[name],16) net.Send(self) end if CLIENT then net.Receive("synchquest",function() LocalPlayer().Quests = LocalPlayer().Quests or {} print("Got quest status") local questname,queststatus = net.ReadString(), net.ReadUInt(16) LocalPlayer().Quests[questname] = queststatus end) ART.Quests = ART.Quests or {} function ART.RegisterQuest(tbl) assert(ART.Quests[tbl.Name] == nil,"Tried to register two quests with the same name:" .. tbl.Name) ART.Quests[tbl.Name] = tbl end function ART.GetQuest(name) return ART.Quests[name] end end