Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- GM.Version = "2.4.3"
- GM.Name = "DarkRP"
- GM.Author = "By Rickster, Updated: Pcwizdan, Sibre, philxyz, [GNC] Matt, Chrome Bolt, FPtje Falco, Eusion, Drakehawke"
- CUR = "$"
- -- Checking if counterstrike is installed correctly
- if table.Count(file.Find("*", "cstrike")) == 0 then
- timer.Create("TheresNoCSS", 10, 0, function()
- for k,v in pairs(player.GetAll()) do
- v:ChatPrint("Counter Strike: Source is incorrectly installed!")
- v:ChatPrint("You need it for DarkRP to work!")
- print("Counter Strike: Source is incorrectly installed!\nYou need it for DarkRP to work!")
- end
- end)
- end
- -- RP Name Overrides
- local meta = FindMetaTable("Player")
- meta.SteamName = meta.SteamName or meta.Name
- meta.Name = function(self)
- if not IsValid(self) then return "" end
- if GAMEMODE.Config.allowrpnames then
- self.DarkRPVars = self.DarkRPVars or {}
- return self.DarkRPVars.rpname and tostring(self.DarkRPVars.rpname) or self:SteamName()
- else
- return self:SteamName()
- end
- end
- meta.Nick = meta.Name
- meta.GetName = meta.Name
- -- End
- DeriveGamemode("sandbox")
- util.AddNetworkString("DarkRP_InitializeVars")
- util.AddNetworkString("DarkRP_DoorData")
- util.AddNetworkString("FAdmin_retrievebans")
- util.AddNetworkString("DarkRP_keypadData")
- AddCSLuaFile("addentities.lua")
- AddCSLuaFile("shared.lua")
- AddCSLuaFile("ammotypes.lua")
- AddCSLuaFile("cl_init.lua")
- AddCSLuaFile("config.lua")
- AddCSLuaFile("client/DRPDermaSkin.lua")
- AddCSLuaFile("client/help.lua")
- AddCSLuaFile("client/helpvgui.lua")
- AddCSLuaFile("client/hud.lua")
- AddCSLuaFile("client/showteamtabs.lua")
- AddCSLuaFile("client/vgui.lua")
- AddCSLuaFile("shared/animations.lua")
- AddCSLuaFile("shared/commands.lua")
- AddCSLuaFile("shared/entity.lua")
- AddCSLuaFile("shared/language.lua")
- AddCSLuaFile("shared/MakeThings.lua")
- AddCSLuaFile("shared/Workarounds.lua")
- -- Earthquake Mod addon
- resource.AddFile("sound/earthquake.mp3")
- util.PrecacheSound("earthquake.mp3")
- resource.AddFile("materials/darkrp/DarkRPSkin.png")
- DB = DB or {}
- GM.Config = GM.Config or {}
- GM.NoLicense = GM.NoLicense or {}
- -- sv_alltalk must be 0
- -- Note, everyone will STILL hear everyone UNLESS rp_voiceradius is 1!!!
- -- This will fix the rp_voiceradius not working
- game.ConsoleCommand("sv_alltalk 0\n")
- include("_MySQL.lua")
- include("config.lua")
- include("licenseweapons.lua")
- include("server/chat.lua")
- include("server/admincc.lua")
- include("shared/animations.lua")
- include("shared/commands.lua")
- include("shared/entity.lua")
- include("shared/language.lua")
- include("shared/MakeThings.lua")
- include("shared/Workarounds.lua")
- include("shared.lua")
- include("addentities.lua")
- include("ammotypes.lua")
- include("server/data.lua")
- include("server/gamemode_functions.lua")
- include("server/main.lua")
- include("server/player.lua")
- include("server/questions.lua")
- include("server/util.lua")
- include("server/votes.lua")
- -- Falco's prop protection
- local BlockedModelsExist = sql.QueryValue("SELECT COUNT(*) FROM FPP_BLOCKEDMODELS;") ~= false
- if not BlockedModelsExist then
- sql.Query("CREATE TABLE IF NOT EXISTS FPP_BLOCKEDMODELS('model' TEXT NOT NULL PRIMARY KEY);")
- include("fpp/FPP_DefaultBlockedModels.lua") -- Load the default blocked models
- end
- AddCSLuaFile("fpp/sh_CPPI.lua")
- AddCSLuaFile("fpp/sh_settings.lua")
- AddCSLuaFile("fpp/client/FPP_Menu.lua")
- AddCSLuaFile("fpp/client/FPP_HUD.lua")
- AddCSLuaFile("fpp/client/FPP_Buddies.lua")
- AddCSLuaFile("shared/fadmin_darkrp.lua")
- include("fpp/sh_settings.lua")
- include("fpp/sh_CPPI.lua")
- include("fpp/server/FPP_Settings.lua")
- include("fpp/server/FPP_Core.lua")
- include("fpp/server/FPP_Antispam.lua")
- include("shared/fadmin_darkrp.lua")
- /*---------------------------------------------------------------------------
- Loading modules
- ---------------------------------------------------------------------------*/
- local fol = GM.FolderName.."/gamemode/modules/"
- local files, folders = file.Find(fol .. "*", "LUA")
- for k,v in pairs(files) do
- include(fol .. v)
- end
- for _, folder in SortedPairs(folders, true) do
- if folder ~= "." and folder ~= ".." then
- for _, File in SortedPairs(file.Find(fol .. folder .."/sh_*.lua", "LUA"), true) do
- AddCSLuaFile(fol..folder .. "/" ..File)
- include(fol.. folder .. "/" ..File)
- end
- for _, File in SortedPairs(file.Find(fol .. folder .."/sv_*.lua", "LUA"), true) do
- include(fol.. folder .. "/" ..File)
- end
- for _, File in SortedPairs(file.Find(fol .. folder .."/cl_*.lua", "LUA"), true) do
- AddCSLuaFile(fol.. folder .. "/" ..File)
- end
- end
- end
- local function GetAvailableVehicles(ply)
- if not ply:IsAdmin() then return end
- ServerLog("Available vehicles for custom vehicles:" .. "\n")
- print("Available vehicles for custom vehicles:")
- for k,v in pairs(list.Get("Vehicles")) do
- ServerLog("\""..k.."\"" .. "\n")
- print("\""..k.."\"")
- end
- end
- concommand.Add("rp_getvehicles_sv", GetAvailableVehicles)
- /*---------------------------------------------------------------------------
- Registering numpad data
- ---------------------------------------------------------------------------*/
- local oldNumpadUp = numpad.OnUp
- local oldNumpadDown = numpad.OnDown
- function numpad.OnUp(ply, key, name, ent, ...)
- numpad.OnUpItems = numpad.OnUpItems or {}
- table.insert(numpad.OnUpItems, {ply = ply, key = key, name = name, ent = ent, arg = {...}})
- return oldNumpadUp(ply, key, name, ent, ...)
- end
- function numpad.OnDown(ply, key, name, ent, ...)
- numpad.OnDownItems = numpad.OnDownItems or {}
- table.insert(numpad.OnDownItems, {ply = ply, key = key, name = name, ent = ent, arg = {...}})
- return oldNumpadDown(ply, key, name, ent, ...)
- end
- hook.Add("PlayerDeath","DemoteMayor",function(v,k)
- if (v:Team() == TEAM_MAYOR) then
- v:ChangeTeam(TEAM_CITIZEN,true);
- for k, v in ipairs(player.GetAll()) do
- v:PrintMessage(HUD_PRINTCENTER,"The mayor has been killed!");
- end;
- end;
- end);
- hook.Add("PlayerDeath","DemoteGangLeader",function(v,k)
- if (v:Team() == TEAM_GANGLEADER) then
- v:ChangeTeam(TEAM_GANG,true);
- for k, v in ipairs(player.GetAll()) do
- v:PrintMessage(HUD_PRINTCENTER,"The gang leader has been killed!");
- end;
- end;
- end);
- hook.Add("PlayerDeath","DemoteTriadLeader",function(v,k)
- if (v:Team() == TEAM_TRIADLEADER) then
- v:ChangeTeam(TEAM_TRIAD,true);
- for k, v in ipairs(player.GetAll()) do
- v:PrintMessage(HUD_PRINTCENTER,"The triad leader has been killed!");
- end;
- end;
- end);
- hook.Add("PlayerDeath","DemoteMobBoss",function(v,k)
- if (v:Team() == TEAM_MOB) then
- v:ChangeTeam(TEAM_MAFIA,true);
- for k, v in ipairs(player.GetAll()) do
- v:PrintMessage(HUD_PRINTCENTER,"The mob boss has been killed!");
- end;
- end;
- end);
- resource.AddSingleFile("materials/Hud/Hbar.vmt")
- resource.AddSingleFile("materials/Hud/Hbar.vtf")
- resource.AddSingleFile("materials/Hud/HbarShadow.vmt")
- resource.AddSingleFile("materials/Hud/HbarShadow.vtf")
- resource.AddSingleFile("materials/Hud/SServers.vtf")
- resource.AddSingleFile("materials/Hud/SServers.vmt")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement