mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-15 21:03:46 +03:00
158 lines
3.5 KiB
Lua
158 lines
3.5 KiB
Lua
--[[
|
|
| This file was obtained through the combined efforts
|
|
| of Madbluntz & Plymouth Antiquarian Society.
|
|
|
|
|
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
|
| Maloy, DrPepper10 @ RIP, Atle!
|
|
|
|
|
| Visit for more: https://plymouth.thetwilightzone.ru/
|
|
--]]
|
|
|
|
if SAM_LOADED then return end
|
|
|
|
local version = tonumber("148") or 148
|
|
|
|
sam = {}
|
|
sam.config = {}
|
|
sam.language = {}
|
|
sam.player = {}
|
|
sam.ranks = {}
|
|
sam.permissions = {}
|
|
sam.author = "Srlion"
|
|
sam.version = version
|
|
|
|
function sam.print(...)
|
|
MsgC(
|
|
Color(236, 240, 241), "(",
|
|
Color(244, 67, 54), "SAM",
|
|
Color(236, 240, 241), ") ",
|
|
Color(236, 240, 241), ...
|
|
) Msg("\n")
|
|
end
|
|
|
|
local FAILED = false
|
|
do
|
|
local types = {
|
|
sv_ = SERVER and include or function() end,
|
|
cl_ = SERVER and AddCSLuaFile or include,
|
|
sh_ = function(name)
|
|
if SERVER then
|
|
AddCSLuaFile(name)
|
|
end
|
|
return include(name)
|
|
end
|
|
}
|
|
|
|
sam.load_file = function(name, type)
|
|
if FAILED then return end
|
|
|
|
if type and not type:EndsWith("_") then
|
|
type = type .. "_"
|
|
end
|
|
|
|
local func = types[type] or types[name:GetFileFromFilename():sub(1, 3)] or types["sh_"]
|
|
if func then
|
|
local rets = {func(name)}
|
|
if rets[1] == false then
|
|
FAILED = true
|
|
sam.print("Failed to load!")
|
|
end
|
|
return unpack(rets)
|
|
end
|
|
end
|
|
end
|
|
local load_file = sam.load_file
|
|
|
|
sam.print("Loading...")
|
|
|
|
load_file("sam/libs/sh_types.lua")
|
|
load_file("sam/libs/sh_pon.lua")
|
|
load_file("sam/libs/sh_mp.lua")
|
|
load_file("sam/libs/sh_netstream.lua")
|
|
load_file("sam/libs/sh_async_netstream.lua")
|
|
load_file("sam/libs/sh_globals.lua")
|
|
load_file("sam/libs/sql/sv_init.lua")
|
|
sam.Promise = load_file("sam/libs/sh_promises.lua")
|
|
|
|
load_file("sam/sh_colors.lua")
|
|
|
|
load_file("sam/sh_util.lua")
|
|
load_file("sam/sh_lang.lua")
|
|
load_file("sam/sv_sql.lua")
|
|
load_file("sam/sh_permissions.lua")
|
|
|
|
load_file("sam/ranks/sh_ranks.lua")
|
|
load_file("sam/ranks/sv_ranks.lua")
|
|
|
|
load_file("sam/config/sh_config.lua")
|
|
load_file("sam/config/sv_config.lua")
|
|
load_file("sam/config/cl_config.lua")
|
|
|
|
load_file("sam/player/sh_player.lua")
|
|
load_file("sam/player/sh_nw_vars.lua")
|
|
load_file("sam/player/sv_player.lua")
|
|
load_file("sam/player/cl_player.lua")
|
|
load_file("sam/player/sv_ranks.lua")
|
|
load_file("sam/player/sv_auth.lua")
|
|
load_file("sam/player/sv_bans.lua")
|
|
|
|
load_file("sam/command/sh_command.lua")
|
|
load_file("sam/command/sv_command.lua")
|
|
load_file("sam/command/cl_command.lua")
|
|
|
|
for _, f in ipairs(file.Find("sam/command/arguments/*.lua", "LUA")) do
|
|
load_file("sam/command/arguments/" .. f, "sh")
|
|
end
|
|
|
|
load_file("sam/sh_restrictions.lua")
|
|
|
|
load_file("sam/menu/sh_init.lua")
|
|
load_file("sam/menu/cl_init.lua")
|
|
|
|
load_file("sam/sh_motd.lua")
|
|
|
|
local modules = file.Find("sam/modules/*.lua", "LUA")
|
|
for _, module in ipairs(modules) do
|
|
load_file("sam/modules/" .. module)
|
|
end
|
|
|
|
load_file("sam/reports/cl_reports.lua")
|
|
load_file("sam/reports/sv_reports.lua")
|
|
|
|
do
|
|
if SERVER then
|
|
hook.Add("SAM.LoadedConfig", "SAM.AdvertsMain", function(config)
|
|
if not config.Adverts then
|
|
sam.config.set("Adverts", {})
|
|
end
|
|
end)
|
|
end
|
|
load_file("sam/cl_adverts.lua")
|
|
end
|
|
|
|
if not FAILED then
|
|
sam.print("Loaded!")
|
|
end
|
|
|
|
if SERVER then
|
|
local path = "sam/importers/"
|
|
|
|
concommand.Add("sam_import", function(ply, _, args)
|
|
if IsValid(ply) then return end
|
|
|
|
local admin_mod = args[1]
|
|
if not admin_mod then
|
|
sam.print("You need to provide an admin mod to import!")
|
|
return
|
|
end
|
|
|
|
if not file.Exists(path .. admin_mod, "LUA") then
|
|
sam.print("There is no importer for '" .. admin_mod .. "'")
|
|
return
|
|
end
|
|
|
|
CompileFile(path .. admin_mod .. "/main.lua")()
|
|
end, nil, nil, FCVAR_PROTECTED)
|
|
end
|
|
|
|
SAM_LOADED = true |