diff --git a/beatrun/gamemodes/beatrun/beatrun.txt b/beatrun/gamemodes/beatrun/beatrun.txt index b539beb..a8ecbad 100644 --- a/beatrun/gamemodes/beatrun/beatrun.txt +++ b/beatrun/gamemodes/beatrun/beatrun.txt @@ -10,263 +10,87 @@ { 1 { - "name" "physgun_limited" - "text" "limit_physgun" - "help" "If enabled, the Physics Gun will not be able to pick up certain map entities" + "name" "Beatrun_PuristMode" + "text" "beatrun.toolsmenu.gameplay.puristmode" + "help" "#beatrun.toolsmenu.gameplay.puristmodedesc" "type" "CheckBox" - "default" "0" + "default" "1" + "singleplayer" "1" } 2 { - "name" "sbox_weapons" - "text" "enable_weapons" - "help" "If enabled, each player will receive default Half-Life 2 weapons on each spawn" + "name" "Beatrun_QuickturnGround" + "text" "beatrun.toolsmenu.gameplay.quickturnground" + "help" "#beatrun.toolsmenu.gameplay.quickturngrounddesc" "type" "CheckBox" - "default" "1" + "default" "0" "singleplayer" "1" } 3 { - "name" "sbox_godmode" - "text" "allow_god_mode" - "help" "If enabled, all players will be invincible" + "name" "Beatrun_QuickturnHandsOnly" + "text" "beatrun.toolsmenu.gameplay.quickturnhandsonly" + "help" "#beatrun.toolsmenu.gameplay.quickturnhandsonlydesc" "type" "CheckBox" - "default" "0" + "default" "1" "singleplayer" "1" } 4 { - "name" "sbox_playershurtplayers" - "text" "players_damage_players" - "help" "If enabled, players will be able to hurt each other" + "name" "Beatrun_DisableGrapple" + "text" "beatrun.toolsmenu.gameplay.disablegrapple" + "help" "#beatrun.toolsmenu.gameplay.disablegrappledesc" "type" "CheckBox" - "default" "1" + "default" "0" + "singleplayer" "1" } 5 { - "name" "sbox_maxprops" - "text" "max_props" - "help" "Maximum props a single player can create" - "type" "Numeric" - "default" "200" + "name" "Beatrun_AllowPropSpawn" + "text" "beatrun.toolsmenu.misc.propspawn" + "help" "#beatrun.toolsmenu.misc.propspawndesc" + "type" "CheckBox" + "default" "0" } 6 { - "name" "sbox_maxragdolls" - "text" "max_ragdolls" - "help" "Maximum ragdolls a single player can create" - "type" "Numeric" - "default" "10" + "name" "Beatrun_AllowOverdriveInMultiplayer" + "text" "beatrun.toolsmenu.misc.overdrivemp" + "help" "#beatrun.toolsmenu.misc.overdrivempdesc" + "type" "CheckBox" + "default" "0" } 7 { - "name" "sbox_maxvehicles" - "text" "max_vehicles" - "help" "Maximum vehicles a single player can create" - "type" "Numeric" - "default" "4" + "name" "Beatrun_PuristModeForce" + "text" "beatrun.toolsmenu.moves.forcepuristmode" + "help" "#beatrun.toolsmenu.moves.forcepuristmodedesc" + "type" "CheckBox" + "default" "0" } 8 { - "name" "sbox_maxeffects" - "text" "max_effects" - "help" "Maximum effect props a single player can create" - "type" "Numeric" - "default" "200" + "name" "Beatrun_PuristWallrun" + "text" "beatrun.toolsmenu.moves.realisticwallrunning" + "help" "#beatrun.toolsmenu.moves.realisticwallrunningdesc" + "type" "CheckBox" + "default" "1" } 9 { - "name" "sbox_maxballoons" - "text" "max_balloons" - "help" "Maximum balloons a single player can create" - "type" "Numeric" - "default" "100" - } - - 10 - { - "name" "sbox_maxcameras" - "text" "max_cameras" - "help" "Maximum cameras a single player can create" - "type" "Numeric" - "default" "10" - } - - 11 - { - "name" "sbox_maxnpcs" - "text" "max_npcs" - "help" "Maximum NPCs a single player can create" - "type" "Numeric" - "default" "10" - } - - 12 - { - "name" "sbox_maxsents" - "text" "max_entities" - "help" "Maximum entities a single player can create" - "type" "Numeric" - "default" "100" - } - - 13 - { - "name" "sbox_maxdynamite" - "text" "max_dynamite" - "help" "Maximum dynamites a single player can create" - "type" "Numeric" - "default" "10" - } - - 14 - { - "name" "sbox_maxlamps" - "text" "max_lamps" - "help" "Maximum lamps a single player can create" - "type" "Numeric" - "default" "3" - } - - 15 - { - "name" "sbox_maxlights" - "text" "max_lights" - "help" "Maximum lights a single player can create" - "type" "Numeric" - "default" "5" - } - - 16 - { - "name" "sbox_maxwheels" - "text" "max_wheels" - "help" "Maximum wheels a single player can create" - "type" "Numeric" - "default" "50" - } - - 17 - { - "name" "sbox_maxthrusters" - "text" "max_thrusters" - "help" "Maximum thrusters a single player can create" - "type" "Numeric" - "default" "50" - } - - 18 - { - "name" "sbox_maxhoverballs" - "text" "max_hoverballs" - "help" "Maximum hoverballs a single player can create" - "type" "Numeric" - "default" "50" - } - - 19 - { - "name" "sbox_maxbuttons" - "text" "max_buttons" - "help" "Maximum buttons a single player can create" - "type" "Numeric" - "default" "50" - } - - 20 - { - "name" "sbox_maxemitters" - "text" "max_emitters" - "help" "Maximum emitters a single player can create" - "type" "Numeric" - "default" "20" - } - - 21 - { - "name" "gmod_maxammo" - "text" "gmod_maxammo" - "help" "Forces amount of maximum ammo reserves for all weapons of each player. Values 0 and below mean use weapon's ammo type maximum ammo setting instead." - "type" "Numeric" - "default" "9999" - "singleplayer" "1" - "dontcreate" "1" - } - - 22 - { - "name" "gmod_suit" - "text" "gmod_suit" - "help" "Set to non zero to enable Half-Life 2 aux suit power stuff." + "name" "Beatrun_AllowOverdriveInMultiplayer" + "text" "beatrun.toolsmenu.misc.overdrivemp" + "help" "#beatrun.toolsmenu.misc.overdrivempdesc" "type" "CheckBox" "default" "0" - "singleplayer" "1" - "dontcreate" "1" - } - - 23 - { - "name" "sbox_noclip" - "text" "allow_noclip" - "help" "If enabled, players will be able to use noclip" - "type" "CheckBox" - "default" "1" - } - - 24 - { - "name" "mp_falldamage" - "text" "realistic_falldamage" - "help" "Enable realistic fall damage" - "type" "CheckBox" - "default" "0" - "singleplayer" "1" - "dontcreate" "1" - } - - 25 - { - "name" "sbox_bonemanip_npc" - "text" "bone_manipulate_npcs" - "help" "If enabled then manipulating NPC bones will be allowed" - "type" "CheckBox" - "default" "1" - } - - 26 - { - "name" "sbox_bonemanip_player" - "text" "bone_manipulate_players" - "help" "If enabled then manipulating Player bones will be allowed" - "type" "CheckBox" - "default" "0" - } - - 27 - { - "name" "sbox_bonemanip_misc" - "text" "bone_manipulate_others" - "help" "If enabled then manipulating the bones of other entities will be allowed" - "type" "CheckBox" - "default" "0" - } - - 28 - { - "name" "sbox_persist" - "text" "persistent_mode_menu" - "help" "If not empty, enables 'Make Persistent' option when you right click on props while holding C, allowing you to save them across sessions. Changing this convar will save existing persistent props, cleanup the whole map and load props from given file." - "type" "Text" - "default" "" - "singleplayer" "1" } } } \ No newline at end of file diff --git a/beatrun/gamemodes/beatrun/content/resource/localization/en/beatrun.properties b/beatrun/gamemodes/beatrun/content/resource/localization/en/beatrun.properties index 1ae1b6d..22a6db8 100644 --- a/beatrun/gamemodes/beatrun/content/resource/localization/en/beatrun.properties +++ b/beatrun/gamemodes/beatrun/content/resource/localization/en/beatrun.properties @@ -204,15 +204,18 @@ beatrun.toolsmenu.gamemodes.name=Gamemodes beatrun.toolsmenu.gamemodes.desc=Gamemodes Settings beatrun.toolsmenu.gamemodes.error=Another gamemode is running! -beatrun.toolsmenu.gamemodesc.infection=Toggle Infection Gamemode -beatrun.toolsmenu.gamemodesc.datatheft=Toggle Data Theft Gamemode -beatrun.toolsmenu.gamemodesc.deathmatch=Toggle Deathmatch Gamemode +beatrun.toolsmenu.gamemodes.infection=Toggle Infection Gamemode +beatrun.toolsmenu.gamemodes.infectionstarttime=Time before starting the game +beatrun.toolsmenu.gamemodes.infectiongametime=Length of the gamemode +beatrun.toolsmenu.gamemodes.infectiontime=Time in seconds +beatrun.toolsmenu.gamemodes.datatheft=Toggle Data Theft Gamemode +beatrun.toolsmenu.gamemodes.deathmatch=Toggle Deathmatch Gamemode # Checkpoints beatrun.checkpoints.countdown1=Ready -beatrun.checkpoints.countdown2=Steady +beatrun.checkpoints.countdown2=Set beatrun.checkpoints.countdown3=GO! -beatrun.checkpoints.speedometer= %s km/h +beatrun.checkpoints.speedometer=%s km/h # DataTheft beatrun.datatheft.name=Data Theft (%s) diff --git a/beatrun/gamemodes/beatrun/content/resource/localization/ru/beatrun.properties b/beatrun/gamemodes/beatrun/content/resource/localization/ru/beatrun.properties index adb97d2..ca2285c 100644 --- a/beatrun/gamemodes/beatrun/content/resource/localization/ru/beatrun.properties +++ b/beatrun/gamemodes/beatrun/content/resource/localization/ru/beatrun.properties @@ -50,8 +50,8 @@ beatrun.hud.infector=Заражённый # Menu_Course beatrun.coursemenu.trials=Курсы - %s -beatrun.coursemenu.buildmode=Переключить режим строительства -beatrun.coursemenu.freeplay=Вернуться в свободную игру +beatrun.coursemenu.buildmode=Режим строительства +beatrun.coursemenu.freeplay=Свободная игра # CoursesDatabase beatrun.coursesdatabase.cantuploadfreeplay=Нельзя загружать во время свободной игры @@ -167,7 +167,7 @@ beatrun.toolsmenu.moves.speedlimitdesc=Изменяет ограничение beatrun.toolsmenu.moves.forcepuristmode=Принудительный Режим Purist beatrun.toolsmenu.moves.forcepuristmodedesc=Включает режим Purist для всех игроков -beatrun.toolsmenu.moves.realisticwallrunning="Реалистичный" Без по Стенам +beatrun.toolsmenu.moves.realisticwallrunning="Реалистичный" Бег по Стенам beatrun.toolsmenu.moves.realisticwallrunningdesc=Нет потери в скорости если отключить beatrun.toolsmenu.moves.kickglitch=Kick Glitch @@ -204,15 +204,18 @@ beatrun.toolsmenu.gamemodes.name=Режимы beatrun.toolsmenu.gamemodes.desc=Настройка режимов beatrun.toolsmenu.gamemodes.error=Другой режим уже запущен! -beatrun.toolsmenu.gamemodesc.infection=Переключить Infection -beatrun.toolsmenu.gamemodesc.datatheft=Переключить Data Theft -beatrun.toolsmenu.gamemodesc.deathmatch=Переключить Deathmatch +beatrun.toolsmenu.gamemodes.infection=Переключить Infection +beatrun.toolsmenu.gamemodes.infectionstarttime=Время перед началом +beatrun.toolsmenu.gamemodes.infectiongametime=Продолжительность +beatrun.toolsmenu.gamemodes.infectiontime=Время в секундах +beatrun.toolsmenu.gamemodes.datatheft=Переключить Data Theft +beatrun.toolsmenu.gamemodes.deathmatch=Переключить Deathmatch # Checkpoints beatrun.checkpoints.countdown1=Раз beatrun.checkpoints.countdown2=Два beatrun.checkpoints.countdown3=ПОШЁЛ! -beatrun.checkpoints.speedometer= %s км/ч +beatrun.checkpoints.speedometer=%s км/ч # DataTheft beatrun.datatheft.name=Data Theft (%s) @@ -224,10 +227,10 @@ beatrun.deathmatch.start=Deathmatch! Убивайте игроков чтобы # Infection beatrun.infection.name=Infection -beatrun.infection.start=Infection! Дотрагивайтесь до других игроков чтобы заразить их\n%s игроков будет выбрано через %sс +beatrun.infection.start=Infection! Дотрагивайтесь до других игроков чтобы заразить их\n%s игрок(а/ов) будет выбрано через %s сек beatrun.infection.nosurvivors=Никто... beatrun.infection.infected=был заражён! beatrun.infection.infectedby=заразил beatrun.infection.award=Вы получили 200 XP за выживание! beatrun.infection.awardinfected=Вы получили 100 XP за спавн заражённым! -beatrun.infection.end=Игра окончена!\nВыжившие: %s\nПерезапуск через %sс \ No newline at end of file +beatrun.infection.end=Игра окончена!\nВыжившие: %s\nПерезапуск через 15 сек \ No newline at end of file diff --git a/beatrun/gamemodes/beatrun/gamemode/cl/ToolMenuSettings.lua b/beatrun/gamemodes/beatrun/gamemode/cl/ToolMenuSettings.lua index de86436..5b691b0 100644 --- a/beatrun/gamemodes/beatrun/gamemode/cl/ToolMenuSettings.lua +++ b/beatrun/gamemodes/beatrun/gamemode/cl/ToolMenuSettings.lua @@ -307,15 +307,21 @@ hook.Add("PopulateToolMenu", "Beatrun_ToolMenu", function() panel:ClearControls() panel:SetName("#beatrun.toolsmenu.gamemodes.desc") + panel:NumSlider("#beatrun.toolsmenu.gamemodes.infectionstarttime", "Beatrun_InfectionStartTime", 5, 20, 0) + panel:Help("#beatrun.toolsmenu.gamemodes.infectiontime") + + panel:NumSlider("#beatrun.toolsmenu.gamemodes.infectiongametime", "Beatrun_InfectionGameTime", 30, 600, 0) + panel:Help("#beatrun.toolsmenu.gamemodes.infectiontime") + local InfectionButton = vgui.Create("DButton", panel) - InfectionButton:SetText("#beatrun.toolsmenu.gamemodesc.infection") + InfectionButton:SetText("#beatrun.toolsmenu.gamemodes.infection") InfectionButton:SetSize(0, 20) InfectionButton.DoClick = function() if GetGlobalBool("GM_DEATHMATCH") or GetGlobalBool("GM_DATATHEFT") then InfectionButton:SetText("#beatrun.toolsmenu.gamemodes.error") timer.Simple(2, function() - InfectionButton:SetText("#beatrun.toolsmenu.gamemodesc.infection") + InfectionButton:SetText("#beatrun.toolsmenu.gamemodes.infection") end) return @@ -326,14 +332,14 @@ hook.Add("PopulateToolMenu", "Beatrun_ToolMenu", function() panel:AddItem(InfectionButton) local DatatheftButton = vgui.Create("DButton", panel) - DatatheftButton:SetText("#beatrun.toolsmenu.gamemodesc.datatheft") + DatatheftButton:SetText("#beatrun.toolsmenu.gamemodes.datatheft") DatatheftButton:SetSize(0, 20) DatatheftButton.DoClick = function() if GetGlobalBool("GM_INFECTION") or GetGlobalBool("GM_DEATHMATCH") then DatatheftButton:SetText("#beatrun.toolsmenu.gamemodes.error") timer.Simple(2, function() - DatatheftButton:SetText("#beatrun.toolsmenu.gamemodesc.datatheft") + DatatheftButton:SetText("#beatrun.toolsmenu.gamemodes.datatheft") end) return @@ -344,14 +350,14 @@ hook.Add("PopulateToolMenu", "Beatrun_ToolMenu", function() panel:AddItem(DatatheftButton) local DeathmatchButton = vgui.Create("DButton", panel) - DeathmatchButton:SetText("#beatrun.toolsmenu.gamemodesc.deathmatch") + DeathmatchButton:SetText("#beatrun.toolsmenu.gamemodes.deathmatch") DeathmatchButton:SetSize(0, 20) DeathmatchButton.DoClick = function() if GetGlobalBool("GM_INFECTION") or GetGlobalBool("GM_DATATHEFT") then DeathmatchButton:SetText("#beatrun.toolsmenu.gamemodes.error") timer.Simple(2, function() - DeathmatchButton:SetText("#beatrun.toolsmenu.gamemodesc.deathmatch") + DeathmatchButton:SetText("#beatrun.toolsmenu.gamemodes.deathmatch") end) return diff --git a/beatrun/gamemodes/beatrun/gamemode/sh/DataTheft.lua b/beatrun/gamemodes/beatrun/gamemode/sh/DataTheft.lua index 2185ba7..1c36def 100644 --- a/beatrun/gamemodes/beatrun/gamemode/sh/DataTheft.lua +++ b/beatrun/gamemodes/beatrun/gamemode/sh/DataTheft.lua @@ -98,6 +98,6 @@ if CLIENT then net.Receive("DataTheft_Start", function() hook.Add("BeatrunHUDCourse", "DataTheftHUDName", DataTheftHUDName) - chat.AddText(Color(200, 200, 200), "#beatrun.datatheft.start") + chat.AddText(Color(200, 200, 200), language.GetPhrase("beatrun.datatheft.start")) end) end \ No newline at end of file diff --git a/beatrun/gamemodes/beatrun/gamemode/sh/Deathmatch.lua b/beatrun/gamemodes/beatrun/gamemode/sh/Deathmatch.lua index 69372c4..f72f05b 100644 --- a/beatrun/gamemodes/beatrun/gamemode/sh/Deathmatch.lua +++ b/beatrun/gamemodes/beatrun/gamemode/sh/Deathmatch.lua @@ -77,6 +77,6 @@ if CLIENT then net.Receive("Deathmatch_Start", function() hook.Add("BeatrunHUDCourse", "DeathmatchHUDName", DeathmatchHUDName) - chat.AddText(Color(200, 200, 200), "#beatrun.deathmatch.start") + chat.AddText(Color(200, 200, 200), language.GetPhrase("beatrun.deathmatch.start")) end) end \ No newline at end of file diff --git a/beatrun/gamemodes/beatrun/gamemode/sh/Infection.lua b/beatrun/gamemodes/beatrun/gamemode/sh/Infection.lua index 7010d95..b116838 100644 --- a/beatrun/gamemodes/beatrun/gamemode/sh/Infection.lua +++ b/beatrun/gamemodes/beatrun/gamemode/sh/Infection.lua @@ -1,6 +1,9 @@ Infection_StartTime = 0 Infection_EndTime = 0 +local startTime = CreateConVar("Beatrun_InfectionStartTime", 10, {FCVAR_REPLICATED, FCVAR_ARCHIVE}, "", 5, 20) +local gameTime = CreateConVar("Beatrun_InfectionGameTime", 190, {FCVAR_REPLICATED, FCVAR_ARCHIVE}, "", 30, 600) + function table.Shuffle(t) local n = #t @@ -239,8 +242,8 @@ if SERVER then end end - Infection_StartTime = CurTime() + 10 - Infection_EndTime = CurTime() + 190 + Infection_StartTime = CurTime() + startTime:GetInt() + Infection_EndTime = CurTime() + gameTime:GetInt() hook.Add("Think", "InfectionTimer", InfectionTimer) end @@ -283,7 +286,7 @@ if SERVER then if timeremaining <= 70 and timeremaining >= 50 and player.GetCount() > 6 and humancount == 1 then timer.Simple(0.1, function() - for k, v in ipairs(player.GetAll()) do + for _, v in ipairs(player.GetAll()) do if v:Alive() and not v:GetNW2Bool("Infected") then net.Start("Infection_LastMan") net.Send(v) @@ -370,13 +373,13 @@ if CLIENT then noclipkey = input.GetKeyCode(noclipbind) endtime = 0 - Infection_StartTime = start + 10 - Infection_EndTime = start + 190 + Infection_StartTime = start + startTime:GetInt() + Infection_EndTime = start + gameTime:GetInt() hook.Add("BeatrunHUDCourse", "InfectionHUDName", InfectionHUDName) hook.Add("CalcView", "InfectionCalcView", InfectionCalcView) - chat.AddText(chatcolor, language.GetPhrase("beatrun.infection.start"):format(math.max(math.floor(player.GetCount() / 4), 1), _time)) + chat.AddText(chatcolor, language.GetPhrase("beatrun.infection.start"):format(math.max(math.floor(player.GetCount() / 4), 1), startTime:GetInt())) end) local music = nil @@ -399,7 +402,7 @@ if CLIENT then survivors = survivors:sub(1, -3) if survivors == "" then - survivors = "#beatrun.infection.nosurvivors" + survivors = language.GetPhrase("beatrun.infection.nosurvivors") LocalPlayer():EmitSound("death.wav") end @@ -432,9 +435,9 @@ if CLIENT then if IsValid(attacker) and IsValid(victim) then if attacker == victim then - chat.AddText(attacker, red, " #beatrun.infection.infected") + chat.AddText(attacker, red, " " .. language.GetPhrase("beatrun.infection.infected")) else - chat.AddText(attacker, red, " #beatrun.infection.infectedby ", yellow, victim, "!") + chat.AddText(attacker, red, " " .. language.GetPhrase("beatrun.infection.infectedby") .. " ", yellow, victim, "!") end attacker.InfectionTouchDelay = CurTime() + 3 @@ -497,10 +500,10 @@ if CLIENT then if humanwin then LocalPlayer():AddXP(200) - chat.AddText(chatcolor, "#beatrun.infection.award") + chat.AddText(chatcolor, language.GetPhrase("beatrun.infection.award")) else LocalPlayer():AddXP(100) - chat.AddText(chatcolor, "#beatrun.infection.awardinfected") + chat.AddText(chatcolor, language.GetPhrase("beatrun.infection.awardinfected")) end end)