summaryrefslogtreecommitdiff
path: root/gamemode/sv_various
diff options
context:
space:
mode:
Diffstat (limited to 'gamemode/sv_various')
-rw-r--r--gamemode/sv_various/globalsettings.lua20
-rw-r--r--gamemode/sv_various/hooks.lua29
-rw-r--r--gamemode/sv_various/mysql.lua38
-rw-r--r--gamemode/sv_various/resource.lua6
4 files changed, 93 insertions, 0 deletions
diff --git a/gamemode/sv_various/globalsettings.lua b/gamemode/sv_various/globalsettings.lua
new file mode 100644
index 0000000..fe1b197
--- /dev/null
+++ b/gamemode/sv_various/globalsettings.lua
@@ -0,0 +1,20 @@
+
+util.AddNetworkString( "GlobalNoclip" )
+util.AddNetworkString( "PlayerCollision" )
+util.AddNetworkString( "PlayerPickup" )
+util.AddNetworkString( "PlayerPickupAdmin" )
+
+
+
+function GM:SetEnableGlobalNoclip(boolean)
+ self:SetGlobalSHVar("GlobalNoclip",util.tobool(boolean))
+end
+
+function GM:SetEnablePlayerCollision(boolean)
+ self:SetGlobalSHVar("PlayerCollision",!util.tobool(boolean))
+end
+
+function GM:SetEnablePlayerPickup(boolean,boolean2)
+ self:SetGlobalSHVar("PlayerPickup",util.tobool(boolean))
+ self:SetGlobalSHVar("PlayerPickupAdmin",util.tobool(boolean2))
+end
diff --git a/gamemode/sv_various/hooks.lua b/gamemode/sv_various/hooks.lua
new file mode 100644
index 0000000..58bfcb4
--- /dev/null
+++ b/gamemode/sv_various/hooks.lua
@@ -0,0 +1,29 @@
+
+// :O
+
+util.AddNetworkString( "SunPos" )
+
+
+hook.Add("Initialize","LoadGearFox",function()
+ resource.AddDir("materials/gearfox")
+ resource.AddDir("materials/mawbase")
+ resource.AddDir("models/gearfox")
+ resource.AddDir("sound/mawbase")
+end)
+
+
+hook.Add("InitPostEntity","LoadGearFoxSunPos",function()
+ local Sun = ents.FindByClass("env_sun")[1]
+
+ if (!IsValid(Sun)) then return end
+
+ GM = GM or GAMEMODE
+
+ local Ang = Sun:GetAngles()
+ Ang.p = Sun:GetKeyValues().pitch
+ Ang.y = Ang.y+180
+
+ local Pos = Ang:Forward()*10
+
+ GM:SetGlobalSHVar("SunPos",Pos)
+end) \ No newline at end of file
diff --git a/gamemode/sv_various/mysql.lua b/gamemode/sv_various/mysql.lua
new file mode 100644
index 0000000..4e51e6c
--- /dev/null
+++ b/gamemode/sv_various/mysql.lua
@@ -0,0 +1,38 @@
+pcall(require,"mysqloo")
+
+if (!mysqloo) then Msg("--- MySQL functions disabled. MySQLoo Module not found! ---\n") return end
+
+mysql = {}
+
+local Retries = 0
+
+function mysql:Start(Host,User,Pass,Database)
+ local db = mysqloo.connect(Host,User,Pass,Database)
+ function db.onConnectionFailed(self,er) Msg( "Connection failed: "..er.."\n" ) end
+ function db.onConnected(self) Msg( "Connection has been established.\n" ) end
+ db:connect()
+ return db
+end
+
+function mysql:Query(DAT,DB)
+ local db = DB or nil
+ if (!db) then Msg( "Database does not exist. Call mysql:Start()\n" ) return end
+ if (db:status() == mysqloo.DATABASE_NOT_CONNECTED) then
+ if (Retries < 4) then
+ Msg( "Reconnecting...\n" )
+ db:connect()
+ timer.Simple(5,function() self:Query(DAT,DB) end)
+
+ Retries = Retries+1
+ else Retries = 0 end
+ return
+ end
+
+ local DATABASE = db:query(DAT)
+ if (DATABASE) then
+ DATABASE:start()
+ function DATABASE.onError(s,er) Msg( er.."\n" ) end
+ function DATABASE.onFailure(s,er) Msg( er.."\n" ) end
+ end
+ return DATABASE
+end
diff --git a/gamemode/sv_various/resource.lua b/gamemode/sv_various/resource.lua
new file mode 100644
index 0000000..6a32632
--- /dev/null
+++ b/gamemode/sv_various/resource.lua
@@ -0,0 +1,6 @@
+
+function resource.AddDir(DIR)
+ local GAMEFIL,GAMEDIR = file.Find(DIR.."/*","GAME")
+ for k,v in pairs( GAMEDIR ) do resource.AddDir(DIR.."/"..v) end
+ for k,v in pairs( GAMEFIL ) do resource.AddFile(DIR.."/"..v) end
+end