summaryrefslogtreecommitdiff
path: root/gamemode/sh_var/globalshvar.lua
diff options
context:
space:
mode:
authorApickx <Apickx@cogarr.org>2015-12-28 19:18:30 -0500
committerApickx <Apickx@cogarr.org>2015-12-28 19:18:30 -0500
commit868e729d68b5913716bfe5ddb512f4099851e9a2 (patch)
tree6441108754145dfd68a6e23bea382b5cb1ab63d5 /gamemode/sh_var/globalshvar.lua
downloadgearfox-868e729d68b5913716bfe5ddb512f4099851e9a2.tar.gz
gearfox-868e729d68b5913716bfe5ddb512f4099851e9a2.tar.bz2
gearfox-868e729d68b5913716bfe5ddb512f4099851e9a2.zip
Initial commitHEADmaster
Diffstat (limited to 'gamemode/sh_var/globalshvar.lua')
-rw-r--r--gamemode/sh_var/globalshvar.lua53
1 files changed, 53 insertions, 0 deletions
diff --git a/gamemode/sh_var/globalshvar.lua b/gamemode/sh_var/globalshvar.lua
new file mode 100644
index 0000000..332708a
--- /dev/null
+++ b/gamemode/sh_var/globalshvar.lua
@@ -0,0 +1,53 @@
+local EPT = FindMetaTable("Entity")
+local SHQTab = 0
+local SHQLimit = 200
+local SHQSend = {}
+local SHNonTemp = {}
+
+GM._GlobalSHVars = {}
+
+if (CLIENT) then
+ net.Receive("_ReceiveGlobalSHVar",function(size)
+ local Dat = net.ReadTable()
+ self._GlobalSHVars[Dat.Name] = Dat.Value
+ end)
+else
+ hook.Add("PlayerAuthed","_AddGlobalSHVar",function(pl,sid,uid)
+ GM = GM or GAMEMODE
+
+ for k,v in pairs( GM._GlobalSHVars ) do
+ GM:SetGlobalSHVar(k,v,pl)
+ end
+ end)
+
+ util.AddNetworkString("_ReceiveGlobalSHVar")
+end
+
+function GM:GetGlobalSHVarTable()
+ return self._GlobalSHVars
+end
+
+function GM:SetGlobalSHVar(Name,Var,ply)
+ self._GlobalSHVars[Name] = Var
+
+ if (CLIENT) then return end
+
+ local Dat = {
+ Name = Name,
+ Value = Var,
+ }
+
+ net.Start( "_ReceiveGlobalSHVar" )
+ net.WriteTable( Dat )
+
+ if (IsValid(ply)) then
+ net.Send(ply)
+ else
+ net.Broadcast()
+ end
+end
+
+function GM:GetGlobalSHVar(Name,Var)
+ if (!self._GlobalSHVars or self._GlobalSHVars[Name] == nil) then return Var or nil end
+ return self._GlobalSHVars[Name]
+end \ No newline at end of file