mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-16 13:23:46 +03:00
169 lines
9.5 KiB
Lua
169 lines
9.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/
|
|
--]]
|
|
|
|
/*--------------------------------------------------
|
|
=============== VJ Base Autorun ===============
|
|
*** Copyright (c) 2012-2023 by DrVrej, All rights reserved. ***
|
|
No parts of this code or any of its contents may be reproduced, copied, modified or adapted,
|
|
without the prior written consent of the author, unless otherwise indicated for stand-alone materials.
|
|
|
|
██ ██ ██ ██████ █████ ███████ ███████
|
|
██ ██ ██ ██ ██ ██ ██ ██ ██
|
|
██ ██ ██ ██████ ███████ ███████ █████
|
|
██ ██ ██ ██ ██ ██ ██ ██ ██ ██
|
|
████ █████ ██████ ██ ██ ███████ ███████
|
|
|
|
--------------------------------------------------*/
|
|
if CLIENT then print("Loading VJ Base (Client)...") else print("Loading VJ Base (Server)...") end
|
|
|
|
VJBASE_VERSION = "2.16.0c"
|
|
|
|
-- Shared --
|
|
AddCSLuaFile("autorun/vj_menu_spawninfo.lua")
|
|
AddCSLuaFile("autorun/vj_base_autorun.lua")
|
|
AddCSLuaFile("autorun/vj_controls.lua")
|
|
AddCSLuaFile("autorun/vj_globals.lua")
|
|
AddCSLuaFile("autorun/vj_convars.lua")
|
|
AddCSLuaFile("autorun/vj_files.lua")
|
|
AddCSLuaFile("autorun/vj_files_language.lua")
|
|
AddCSLuaFile("autorun/vj_files_particles.lua")
|
|
AddCSLuaFile("autorun/vj_menu_main.lua")
|
|
AddCSLuaFile("autorun/vj_menu_properties.lua")
|
|
|
|
-- Client --
|
|
AddCSLuaFile("autorun/client/vj_menu_main_client.lua")
|
|
AddCSLuaFile("autorun/client/vj_menu_plugins.lua")
|
|
AddCSLuaFile("autorun/client/vj_menu_snpc.lua")
|
|
AddCSLuaFile("autorun/client/vj_menu_weapon.lua")
|
|
|
|
-- Modules --
|
|
AddCSLuaFile("includes/modules/ai_vj_schedule.lua")
|
|
AddCSLuaFile("includes/modules/ai_vj_task.lua")
|
|
//AddCSLuaFile("includes/modules/sound_vj_track.lua")
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
------ Main Hooks / Functions ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
if SERVER then
|
|
util.AddNetworkString("vj_welcome_msg")
|
|
util.AddNetworkString("vj_meme")
|
|
elseif CLIENT then
|
|
hook.Add("AddToolMenuTabs", "VJ_CREATETOOLTAB", function()
|
|
spawnmenu.AddToolTab("DrVrej", "DrVrej", "vj_base/icons/vrejgaming.png") // "icon16/plugin.png"
|
|
spawnmenu.AddToolCategory("DrVrej", "Main Menu", "#vjbase.menu.tabs.mainmenu")
|
|
spawnmenu.AddToolCategory("DrVrej", "SNPCs", "#vjbase.menu.tabs.settings.snpc")
|
|
spawnmenu.AddToolCategory("DrVrej", "Weapons", "#vjbase.menu.tabs.settings.weapon")
|
|
spawnmenu.AddToolCategory("DrVrej", "HUDs", "#vjbase.menu.tabs.settings.hud")
|
|
spawnmenu.AddToolCategory("DrVrej", "Tools", "#vjbase.menu.tabs.tools")
|
|
spawnmenu.AddToolCategory("DrVrej", "SNPC Configures", "#vjbase.menu.tabs.configures.snpc")
|
|
end)
|
|
end
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
hook.Add("PlayerInitialSpawn", "VJBaseSpawn", function(ply, transition)
|
|
-- Simple message for the users
|
|
timer.Simple(1, function()
|
|
net.Start("vj_welcome_msg")
|
|
net.Send(ply)
|
|
end)
|
|
|
|
if !game.SinglePlayer() && ply:SteamID() == "STEAM_0:0:22688298" then
|
|
PrintMessage(HUD_PRINTTALK, "DrVrej Has Joined The Game!")
|
|
PrintMessage(HUD_PRINTCENTER, "DrVrej Has Joined The Game!")
|
|
local sd = CreateSound(game.GetWorld(), "vj_misc/illuminati_confirmed.mp3")
|
|
sd:SetSoundLevel(0)
|
|
sd:Play()
|
|
timer.Simple(10, function() if sd then sd:Stop() end end)
|
|
end
|
|
end)
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
net.Receive("vj_meme", function(len, pl)
|
|
if pl:IsPlayer() && pl:SteamID() == "STEAM_0:0:22688298" then
|
|
PrintMessage(HUD_PRINTTALK, "DrVrej is in the server!")
|
|
local sd = CreateSound(game.GetWorld(), "vj_misc/illuminati_confirmed.mp3")
|
|
sd:SetSoundLevel(0)
|
|
sd:Play()
|
|
end
|
|
end)
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
------ Outdated GMod Version Check ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
if SERVER && !isfunction(FindMetaTable("Entity").SetSurroundingBoundsType) then
|
|
timer.Simple(1, function()
|
|
if !VJBASE_ERROR_GAME_OUTDATED then
|
|
VJBASE_ERROR_GAME_OUTDATED = true
|
|
timer.Create("VJBASE_ERROR_GAME_OUTDATED", 2, 1, function()
|
|
PrintMessage(HUD_PRINTTALK, "--- Outdated version of Garry's Mod detected! ---")
|
|
PrintMessage(HUD_PRINTTALK, "Major parts of VJ Base AI are now disabled! Expect errors & AI issues!")
|
|
PrintMessage(HUD_PRINTTALK, "REASON: Game is running on 64-bit or Chromium or is pirated!")
|
|
end)
|
|
end
|
|
end)
|
|
end
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
------ SLV Base Check ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
if (SLVBase) then
|
|
timer.Simple(1, function()
|
|
if !VJBASE_ERROR_CONFLICT then
|
|
VJBASE_ERROR_CONFLICT = true
|
|
if CLIENT then
|
|
chat.AddText(Color(255,100,0),"Confliction Detected!",
|
|
Color(0,255,0)," VJ Base ",
|
|
Color(255,255,255),"is being overridden by another addon!")
|
|
chat.AddText(Color(0,200,200),"Incompatible Addons: http://steamcommunity.com/sharedfiles/filedetails/?id=1129493108")
|
|
|
|
local frame = vgui.Create("DFrame")
|
|
frame:SetSize(600, 200)
|
|
frame:SetPos((ScrW() - frame:GetWide()) / 2, (ScrH() - frame:GetTall()) / 2)
|
|
frame:SetTitle("VJ Base Error: Confliction Detected!")
|
|
frame:SetBackgroundBlur(true)
|
|
frame:MakePopup()
|
|
|
|
local labelTitle = vgui.Create("DLabel", frame)
|
|
labelTitle:SetPos(130, 30)
|
|
labelTitle:SetText("CONFLICTION DETECTED!")
|
|
labelTitle:SetFont("VJFont_Trebuchet24_Large")
|
|
labelTitle:SetTextColor(Color(255,128,128))
|
|
labelTitle:SizeToContents()
|
|
|
|
local label1 = vgui.Create("DLabel", frame)
|
|
label1:SetPos(70, 70)
|
|
label1:SetText("VJ Base is being overridden by another addon!")
|
|
label1:SetFont("VJFont_Trebuchet24_Medium")
|
|
label1:SizeToContents()
|
|
|
|
local label2 = vgui.Create("DLabel", frame)
|
|
label2:SetPos(10, 100)
|
|
label2:SetText("You have an addon installed that is overriding something in VJ Base. Uninstall the conflicting addon, and then restart your\n game to fix it. Click the link below to view all known incompatible addons. If you find any addons that are conflicting with\n VJ Base, be sure to leave a comment in the collection with a link to the incompatible addon!")
|
|
label2:SizeToContents()
|
|
|
|
local link = vgui.Create("DLabelURL", frame)
|
|
link:SetSize(300, 20)
|
|
link:SetPos(180, 140)
|
|
link:SetText("Incompatible_addons_(Steam_Workshop_Collection)")
|
|
link:SetURL("http://steamcommunity.com/sharedfiles/filedetails/?id=1129493108")
|
|
|
|
local buttonClose = vgui.Create("DButton", frame)
|
|
buttonClose:SetText("CLOSE")
|
|
buttonClose:SetPos(260, 160)
|
|
buttonClose:SetSize(80, 35)
|
|
buttonClose.DoClick = function()
|
|
frame:Close()
|
|
end
|
|
elseif SERVER then
|
|
timer.Create("VJBASE_ERROR_CONFLICT", 5, 0, function()
|
|
print("VJ Base is being overridden by another addon! Incompatible Addons: http://steamcommunity.com/sharedfiles/filedetails/?id=1129493108")
|
|
end)
|
|
end
|
|
end
|
|
end)
|
|
end
|
|
|
|
if CLIENT then print("VJ Base client files initialized!") else print("VJ Base server files initialized!") end |