mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-16 21:33:46 +03:00
175 lines
5.0 KiB
Lua
175 lines
5.0 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 SERVER then AddCSLuaFile() end
|
|
|
|
if CLIENT then
|
|
|
|
local function tfaNMRIHOptionServer(panel)
|
|
--Here are whatever default categories you want.
|
|
|
|
local tfaOptionNMRIHSV = {Options = {}, CVars = {}, Label = "#Presets", MenuButton = "1", Folder = "TFA NRMIH Settings Server"}
|
|
|
|
tfaOptionNMRIHSV.Options["#Default"] = {
|
|
sv_tfa_nmrih_flashlight_required = "0",
|
|
sv_tfa_nmrih_fx_fext_override = "-1",
|
|
sv_tfa_nmrih_fx_tnt = "1",
|
|
sv_tfa_nmrih_melee_multiplier = "1"
|
|
}
|
|
|
|
panel:AddControl("ComboBox", tfaOptionNMRIHSV)
|
|
|
|
panel:AddControl("CheckBox", {
|
|
Label = "Require flashlight to be held",
|
|
Command = "sv_tfa_nmrih_flashlight_required",
|
|
})
|
|
|
|
panel:AddControl("CheckBox", {
|
|
Label = "Enable TNT FX",
|
|
Command = "sv_tfa_nmrih_fx_tnt",
|
|
})
|
|
|
|
panel:AddControl("Slider", {
|
|
Label = "Override CL Extinguisher FX (-1 = Clientside)",
|
|
Command = "sv_tfa_nmrih_fx_fext_override",
|
|
Type = "Integer",
|
|
Min = "-1",
|
|
Max = "1",
|
|
})
|
|
|
|
panel:AddControl("Slider", {
|
|
Label = "Melee Damage Multiplier",
|
|
Command = "sv_tfa_nmrih_melee_multiplier",
|
|
Type = "Float",
|
|
Min = "0",
|
|
Max = "5",
|
|
})
|
|
|
|
panel:AddControl("Label", {Text = "By TheForgottenArchitect"})
|
|
|
|
end
|
|
|
|
local function tfaNMRIHOptionClient(panel)
|
|
--Here are whatever default categories you want.
|
|
|
|
local tfaOptionNMRIHCL = {Options = {}, CVars = {}, Label = "#Presets", MenuButton = "1", Folder = "TFA NRMIH Settings Server"}
|
|
|
|
tfaOptionNMRIHCL.Options["#Default"] = {
|
|
cl_tfa_nmrih_fx_fext = "1"
|
|
}
|
|
|
|
panel:AddControl("ComboBox", tfaOptionNMRIHCL)
|
|
|
|
panel:AddControl("CheckBox", {
|
|
Label = "Enable Fire Extinguisher FX",
|
|
Command = "cl_tfa_nmrih_fx_fext",
|
|
})
|
|
|
|
panel:AddControl("Label", {Text = "By TheForgottenArchitect"})
|
|
|
|
end
|
|
|
|
function tfaNMRIHAddOption()
|
|
spawnmenu.AddToolMenuOption("Options", "TFA SWEP Base Settings", "TFANMRIHServer", "NMRIH Server", "", "", tfaNMRIHOptionServer)
|
|
spawnmenu.AddToolMenuOption("Options", "TFA SWEP Base Settings", "TFANMRIHClient", "NMRIH Client", "", "", tfaNMRIHOptionClient)
|
|
end
|
|
|
|
hook.Add("PopulateToolMenu", "tfaNMRIHAddOption", tfaNMRIHAddOption)
|
|
|
|
end
|
|
|
|
local flashlightvar = GetConVar("sv_tfa_nmrih_flashlight_required")
|
|
|
|
if flashlightvar == nil then
|
|
flashlightvar = CreateConVar("sv_tfa_nmrih_flashlight_required", "0", { FCVAR_REPLICATED, FCVAR_NOTIFY, FCVAR_ARCHIVE }, "Require flashlight to be held?")
|
|
--print("Damage Multiplier con var created")
|
|
end
|
|
|
|
if GetConVar("sv_tfa_nmrih_fx_tnt") == nil then
|
|
CreateConVar("sv_tfa_nmrih_fx_tnt", "1", { FCVAR_REPLICATED, FCVAR_NOTIFY, FCVAR_ARCHIVE }, "Enable TNT FX, or use default? 0 = off, 1 = on")
|
|
--print("Damage Multiplier con var created")
|
|
end
|
|
|
|
if GetConVar("sv_tfa_nmrih_fx_fext_override") == nil then
|
|
CreateConVar("sv_tfa_nmrih_fx_fext_override", "-1", { FCVAR_REPLICATED, FCVAR_NOTIFY, FCVAR_ARCHIVE }, "Override fire extinguisher FX? -1 = leave to client, 0 = off, 1 = on")
|
|
--print("Damage Multiplier con var created")
|
|
end
|
|
|
|
if GetConVar("sv_tfa_nmrih_melee_multiplier") == nil then
|
|
CreateConVar("sv_tfa_nmrih_melee_multiplier", "1", { FCVAR_REPLICATED, FCVAR_NOTIFY, FCVAR_ARCHIVE }, "Melee damage multiplier")
|
|
--print("Damage Multiplier con var created")
|
|
end
|
|
|
|
if GetConVar("cl_tfa_nmrih_fx_fext") == nil then
|
|
CreateClientConVar("cl_tfa_nmrih_fx_fext", 1, true, true)
|
|
end
|
|
|
|
if SERVER then
|
|
util.AddNetworkString("NMRIHFlashlightToggle")
|
|
|
|
net.Receive("NMRIHFlashlightToggle", function(length, ply)
|
|
if IsValid(ply) then
|
|
local wep = ply:GetActiveWeapon()
|
|
|
|
if IsValid(wep) then
|
|
wep.IsOn = not wep.IsOn
|
|
end
|
|
end
|
|
end)
|
|
|
|
hook.Add("PlayerTick", "FlashlightStuffTick", function(ply)
|
|
if not flashlightvar or not flashlightvar:GetBool() then return end
|
|
if not IsValid(ply) then return end
|
|
local wep = ply:GetActiveWeapon()
|
|
if not IsValid(wep) then return end
|
|
|
|
if ply:FlashlightIsOn() and (wep:GetClass() ~= "tfa_nmrih_maglite" or not wep.IsOn) then
|
|
ply:Flashlight(false)
|
|
end
|
|
end)
|
|
end
|
|
|
|
hook.Add("PlayerBindPress", "FlashlightStuff", function(ply, bind, pressed)
|
|
if not CLIENT then return end
|
|
|
|
if bind == "impulse 100" then
|
|
if flashlightvar and flashlightvar:GetBool() then
|
|
if not IsValid(ply) then return true end
|
|
if not IsValid(ply:GetActiveWeapon()) then return true end
|
|
|
|
if ply:GetActiveWeapon():GetClass() ~= "tfa_nmrih_maglite" then
|
|
if ply:HasWeapon("tfa_nmrih_maglite") then
|
|
ply:ConCommand("use tfa_nmrih_maglite")
|
|
end
|
|
|
|
return true
|
|
end
|
|
|
|
if pressed then
|
|
net.Start("NMRIHFlashlightToggle")
|
|
net.SendToServer()
|
|
end
|
|
|
|
return true
|
|
else
|
|
if not IsValid(ply) then return true end
|
|
if not IsValid(ply:GetActiveWeapon()) then return true end
|
|
|
|
if ply:GetActiveWeapon():GetClass() == "tfa_nmrih_maglite" then
|
|
if pressed then
|
|
net.Start("NMRIHFlashlightToggle")
|
|
net.SendToServer()
|
|
end
|
|
|
|
return true
|
|
end
|
|
end
|
|
end
|
|
end) |