diff options
Diffstat (limited to 'gamemode/sv_various')
| -rw-r--r-- | gamemode/sv_various/globalsettings.lua | 20 | ||||
| -rw-r--r-- | gamemode/sv_various/hooks.lua | 29 | ||||
| -rw-r--r-- | gamemode/sv_various/mysql.lua | 38 | ||||
| -rw-r--r-- | gamemode/sv_various/resource.lua | 6 |
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 |
