aboutsummaryrefslogtreecommitdiff
path: root/gamemode/shared/loadprayers.lua
blob: 551ab1b1d64f026a916e435250e130fad4ac99ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
-- --[[
--     This file loads in all the prayers
-- ]]
-- do return end
-- local concmd = include("concommands.lua")
-- --local autolua = include("../autolua.lua")
-- print("Hello from LoadItems.lua!")
-- ART.Prayer = {}
-- local requiredfields = {
--     "Name",
--     "Pray",
-- }
-- local defaultfields = {
--     ["Serialize"] = function(self) return "" end,
--     ["DeSerialize"] = function(self,string) return self end,
--     ["Shape"] = {{true}},
-- }
-- 
-- --- Adds the given prayer table to the global list of prayers.
-- -- Make sure that you do not accidentally register the same prayer twice, all prayers MUST have unique names
-- -- @param tbl The prayer to reigster
-- function ART.RegisterPrayer(tbl)
--     --print("Registering item:" .. tbl.Name)
--     for k,v in pairs(requiredfields) do
--         assert(tbl[v] ~= nil, "Attempted to register an prayer without field:" .. v)
--     end
--     assert(ART.Prayer[tbl.Name] == nil, "Attempted to register 2 Prayers with the same name!")
--     for k,v in pairs(defaultfields) do
--         if tbl[k] == nil then
--             tbl[k] = v
--         end
--     end
--     ART.Prayer[tbl.Name] = tbl
--     --print("Art is now:")
--     --PrintTable(ART)
-- end
-- 
-- --autolua.AddLuaSHFolder("/shared/itemsystem")
-- 
-- local meta = FindMetaTable("Player")
-- 
-- 
-- if SERVER then
--     meta.Inventory.Prayers = {}
-- 
--     -- TODO:Make prayers limited or something
--     function meta:HasPrayer(prayername)
--         return self.Inventory.Prayers[prayername]
--     end
-- 
--     function meta:RemovePrayer(prayername)
--         self.Inventory.Prayers[prayername] = nil
--         self:SynchPrayers()
--     end
-- 
--     function ART.RemovePrayer(player,prayername)
--         player:RemovePrayer(prayername)
--     end
-- 
--     function meta:GivePrayer(prayername)
--         print("Prayers are:")
--         PrintTable(ART.Prayer)
--         assert(ART.Prayer[prayername] ~= nil, "Attempted to give a nil prayer \"" .. prayername .. "\"")
--         self.Inventory.Prayers[prayername] = true
--         self:SynchPrayers()
--     end
-- 
--     function ART.GivePrayer(player,prayername)
--         player:GivePrayer(prayername)
--     end
-- 
--     util.AddNetworkString( "art_synch_prayers" )
--     util.AddNetworkString( "equiphelpprayer" )
-- 
--     function meta:SynchPrayers()
--         print("Sending " .. table.Count(self.Inventory.Prayers) .. " prayers:")
--         PrintTable(self.Inventory.Prayers)
--         net.Start("art_synch_prayers")
--         net.WriteUInt(table.Count(self.Inventory.Prayers),16)
--         for k,v in pairs(self.Inventory.Prayers) do
--             print("Writeing " .. k)
--             net.WriteString(k)
--         end
--         net.Send(self)
--     end
-- end
-- 
-- concommand.Add("artery_giveprayer",function(ply,cmd,args)
--     if not ply:IsAdmin() then return end
--     ply:GivePrayer(args[1])
-- end, concmd.AutocompleteFunction(table.GetKeys(ART.Prayer)), "Give an instance of a prayer to yourself")
-- 
-- if CLIENT then
--     ART.MyPrayer = {}
--     net.Receive("art_synch_prayers",function()
--         ART.MyPrayer = {}
--         for k = 1,net.ReadUInt(16) do
--             local pstr = net.ReadString()
--             print("Reading prayer " .. pstr)
--             ART.MyPrayer[pstr] = true
--         end
--         print("Recived prayers:")
--         PrintTable(ART.MyPrayer)
--         ART.RefreshDisplays()
--     end)
-- end
-- 
-- function ART.GetPrayerByName(name)
--     assert(ART.Prayer[name] ~= nil,"Attempted to get a nil prayer:" .. name)
--     return ART.Prayer[name]
-- end
-- 
-- concommand.Add("artery_printprayers",function(ply,cmd,args)
--     if not ply:IsAdmin() then return end
--     print("Items table:")
--     PrintTable(ART.Prayer)
-- end)
-- 
-- concommand.Add("artery_giveprayer",function(ply,cmd,args)
--     if not ply:IsAdmin() then return end
--     print("Trying to give an prayer:" .. args[1])
--     ART.GivePrayer(ply,args[1])
-- end, concmd.AutocompleteFunction(table.GetKeys(ART.Prayer)), "Give an item to the specified player, or yourself if no player is specified.")