diff --git a/README_ru.md b/README.ru.md similarity index 92% rename from README_ru.md rename to README.ru.md index 8b92c98..12d1bab 100644 --- a/README_ru.md +++ b/README.ru.md @@ -1,6 +1,8 @@ # Beatrun | Community edition -* [Русский](./README_ru.md) +[Нажми чтобы присоединиться к нашему Discord серверу!](https://discord.gg/93Psubbgsg) + +* [English](./README.md) **ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ ЭТОТ ФАЙЛ ПЕРЕД ТЕМ КАК ЗАДАВАТЬ ВОПРОСЫ!**\ **МЫ ОПИСАЛИ ДОСТАТОЧНО, ЧТОБЫ ВЫ МОГЛИ УСТАНОВИТЬ ЭТОТ МОД САМОСТОЯТЕЛЬНО** @@ -18,7 +20,11 @@ > Все модули можно найти **[здесь](https://github.com/JonnyBro/beatrun/tree/main/lua/bin)**.\ > Проверьте **[Благодарности](#благодарности)** чтобы найти исходный код модулей. -## Автоматическая установка (Рекомендуемое | Windows 10/11) +## Steam Workshop (ржака) + +[Подписаться](https://steamcommunity.com/sharedfiles/filedetails/?id=3290421288) + +### Автоматическая установка (Рекомендуемое | Windows 10/11) > [!WARNING] > Windows 7 не поддерживается.\ @@ -34,7 +40,7 @@ irm https://beatrun.jonnybro.ru/install | iex * Выберите режим `Beatrun` в правом нижнем углу. -## Ручная установка +### Ручная установка 1. **[Скачайте проект](https://github.com/JonnyBro/beatrun/archive/refs/heads/master.zip)**. 2. **Удалите папку `beatrun` по пути *путь_к_игре/garrysmod/addons* если присутствует.** @@ -59,9 +65,10 @@ irm https://beatrun.jonnybro.ru/install | iex **Все** настройки Beatrun можно найти там! * Показ статусов в Steam и Discord. * Поддержка локализаций.\ - На данный момент доступно 5 языков! + Доступно 7 языков! * Улучшения режима строительства. Можно заспавнить любой проп из меню спавна и он сохранится в курсе. +* Возможность переката после зиплайнов на CTRL 🤯 (спасибо c4nk <3). * Возможность спрыгивать с лестниц - Нажмите CTRL. * Возможность удалять зиплайны созданные *Zipline Gun* - Нажмите ПКМ. * Стрелка, показывающая местоположение след. контрольной точки. diff --git a/beatrun/README.md b/beatrun/README.md deleted file mode 100644 index 39438f3..0000000 --- a/beatrun/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# ENGLISH - -## Animations Installer - -You can use **BeatrunAnimInstaller** (located here) to change animations. Currently we have: - -* Beatrun Reanimated Project. -* Original but fixed animations. - -## How To Use - -1. Start the executable. -2. Press a key on your keyboard with the number of the animation you want to install. - -> [!NOTE] -> If nothing is changed, close the game and try run the program with admin priveleges. - -## Source Code - -Please refer to this [README](../BeatrunAnimInstaller_Source/README.md). - - -# RUSSIAN - -## Установщик анимаций - -Используйте **BeatrunAnimInstaller** (расположен прямо тут) чтобы менять анимации. На данный момент у нас имеются: - -* Beatrun Reanimated Project. -* Починенные оригинальные анимации. - -## Как использовать - -1. Запустите исполняемый файл. -2. Нажмите цифру желаемых анимаций на клавиатуре. - -> [!NOTE] -> Если ничего не изменилось, закройте игру и запустите файл от имени администратора. - -## Исходный код - -Прочитайте этот файл [README](../BeatrunAnimInstaller_Source/README.md). diff --git a/beatrun/gamemodes/beatrun/content/models/climbanim.dx80.vtx b/beatrun/gamemodes/beatrun/content/models/new_climbanim.dx80.vtx similarity index 100% rename from beatrun/gamemodes/beatrun/content/models/climbanim.dx80.vtx rename to beatrun/gamemodes/beatrun/content/models/new_climbanim.dx80.vtx diff --git a/beatrun/gamemodes/beatrun/content/models/climbanim.dx90.vtx b/beatrun/gamemodes/beatrun/content/models/new_climbanim.dx90.vtx similarity index 100% rename from beatrun/gamemodes/beatrun/content/models/climbanim.dx90.vtx rename to beatrun/gamemodes/beatrun/content/models/new_climbanim.dx90.vtx diff --git a/beatrun/gamemodes/beatrun/content/models/climbanim.mdl b/beatrun/gamemodes/beatrun/content/models/new_climbanim.mdl similarity index 100% rename from beatrun/gamemodes/beatrun/content/models/climbanim.mdl rename to beatrun/gamemodes/beatrun/content/models/new_climbanim.mdl diff --git a/beatrun/gamemodes/beatrun/content/models/climbanim.sw.vtx b/beatrun/gamemodes/beatrun/content/models/new_climbanim.sw.vtx similarity index 100% rename from beatrun/gamemodes/beatrun/content/models/climbanim.sw.vtx rename to beatrun/gamemodes/beatrun/content/models/new_climbanim.sw.vtx diff --git a/beatrun/gamemodes/beatrun/content/models/climbanim.vvd b/beatrun/gamemodes/beatrun/content/models/new_climbanim.vvd similarity index 100% rename from beatrun/gamemodes/beatrun/content/models/climbanim.vvd rename to beatrun/gamemodes/beatrun/content/models/new_climbanim.vvd diff --git a/beatrun/gamemodes/beatrun/content/models/old_climbanim.dx80.vtx b/beatrun/gamemodes/beatrun/content/models/old_climbanim.dx80.vtx new file mode 100644 index 0000000..4da0dc9 Binary files /dev/null and b/beatrun/gamemodes/beatrun/content/models/old_climbanim.dx80.vtx differ diff --git a/beatrun/gamemodes/beatrun/content/models/old_climbanim.dx90.vtx b/beatrun/gamemodes/beatrun/content/models/old_climbanim.dx90.vtx new file mode 100644 index 0000000..6431460 Binary files /dev/null and b/beatrun/gamemodes/beatrun/content/models/old_climbanim.dx90.vtx differ diff --git a/beatrun/gamemodes/beatrun/content/models/old_climbanim.mdl b/beatrun/gamemodes/beatrun/content/models/old_climbanim.mdl new file mode 100644 index 0000000..943da61 Binary files /dev/null and b/beatrun/gamemodes/beatrun/content/models/old_climbanim.mdl differ diff --git a/beatrun/gamemodes/beatrun/content/models/old_climbanim.sw.vtx b/beatrun/gamemodes/beatrun/content/models/old_climbanim.sw.vtx new file mode 100644 index 0000000..e0f9202 Binary files /dev/null and b/beatrun/gamemodes/beatrun/content/models/old_climbanim.sw.vtx differ diff --git a/beatrun/gamemodes/beatrun/content/models/old_climbanim.vvd b/beatrun/gamemodes/beatrun/content/models/old_climbanim.vvd new file mode 100644 index 0000000..4da6509 Binary files /dev/null and b/beatrun/gamemodes/beatrun/content/models/old_climbanim.vvd differ diff --git a/beatrun/gamemodes/beatrun/content/resource/localization/en/beatrun.properties b/beatrun/gamemodes/beatrun/content/resource/localization/en/beatrun.properties index 1b062e5..ea9447b 100644 --- a/beatrun/gamemodes/beatrun/content/resource/localization/en/beatrun.properties +++ b/beatrun/gamemodes/beatrun/content/resource/localization/en/beatrun.properties @@ -37,10 +37,10 @@ beatrun.convars.viewbobstabilization=Turn on to reduce motion sickness by making beatrun.convars.fov=Changes player's Field Of View beatrun.convars.cpsave=Respawning during a course will go back to the last hit checkpoint beatrun.convars.faststart=Faster start countdown -beatrun.convars.disablegrapple=Disables grapple ability +beatrun.convars.disablegrapple=Toggles grapple ability beatrun.convars.puristmode=Purist mode is a clientside preference that severely weakens the ability to strafe while in the air, which is how ME games handle this.\n0 = No restrictions\n1 = Reduced move speed in the air -beatrun.convars.quickturnground=Enables quickturning with secondary attack while on the ground -beatrun.convars.quickturnhandsonly=Enables quickturning with "Runner Hands" only +beatrun.convars.quickturnground=Toggles quickturning with secondary attack while on the ground +beatrun.convars.quickturnhandsonly=Toggles quickturning with "Runner Hands" only beatrun.convars.showspeedometer=Toggle speedometer visibility # HUD @@ -140,17 +140,20 @@ beatrun.toolsmenu.camera.fovdesc=Changes your Field Of View beatrun.toolsmenu.gameplay.name=Gameplay beatrun.toolsmenu.gameplay.desc=Gameplay Settings +beatrun.toolsmenu.gameplay.oldanims=Old Animations +beatrun.toolsmenu.gameplay.oldanimsdesc=Toggles the use of old animations instead new ones + beatrun.toolsmenu.gameplay.quickturnground=Quickturn Ground -beatrun.toolsmenu.gameplay.quickturngrounddesc=Enables quickturning with secondary attack while on the ground +beatrun.toolsmenu.gameplay.quickturngrounddesc=Toggles quickturning with secondary attack while on the ground beatrun.toolsmenu.gameplay.quickturnhandsonly=Quickturn Hands Only -beatrun.toolsmenu.gameplay.quickturnhandsonlydesc=Enables quickturning with "Runner Hands" only +beatrun.toolsmenu.gameplay.quickturnhandsonlydesc=Toggles quickturning with "Runner Hands" only beatrun.toolsmenu.gameplay.puristmode=Purist Mode beatrun.toolsmenu.gameplay.puristmodedesc=Purist mode is a clientside preference that severely weakens the ability to strafe while in the air, which is how Mirror's Edge games handle this.\nDisabled = No restrictions\nEnabled = Reduced move speed in the air beatrun.toolsmenu.gameplay.disablegrapple=Disable Grapple Ability -beatrun.toolsmenu.gameplay.disablegrappledesc=Disables grapple ability +beatrun.toolsmenu.gameplay.disablegrappledesc=Toggles grapple ability beatrun.toolsmenu.gameplay.rollspeedloss=Lose Speed on Roll beatrun.toolsmenu.gameplay.rollspeedlossdesc=Toggles loss of speed on safety roll diff --git a/beatrun/gamemodes/beatrun/content/resource/localization/ru/beatrun.properties b/beatrun/gamemodes/beatrun/content/resource/localization/ru/beatrun.properties index b33ed92..27f7461 100644 --- a/beatrun/gamemodes/beatrun/content/resource/localization/ru/beatrun.properties +++ b/beatrun/gamemodes/beatrun/content/resource/localization/ru/beatrun.properties @@ -37,11 +37,11 @@ beatrun.convars.viewbobstabilization=Включите чтобы снизить beatrun.convars.fov=Угол обзора игрока beatrun.convars.cpsave=Респавн в курсах отправляет на последнюю контрольную точку beatrun.convars.faststart=Быстрый отчёт в начале курса -beatrun.convars.disablegrapple=Переключить крюк-кошку +beatrun.convars.disablegrapple=Переключает крюк-кошку beatrun.convars.puristmode=Режим Purist это клиентский параметр который сильно снижает движение игрока в стороны будучи в воздухе, прямо как в оригинальное ME.\n0 = Нет ограничений\n1 = Снижает движение игрока в воздухе в стороны -beatrun.convars.quickturnground=Переключить Quickturn будучи на земле -beatrun.convars.quickturnhandsonly=Переключить Quickturn только с "Runner Hands" -beatrun.convars.showspeedometer=Переключить спидометр +beatrun.convars.quickturnground=Переключает Quickturn будучи на земле +beatrun.convars.quickturnhandsonly=Переключает Quickturn только с "Runner Hands" +beatrun.convars.showspeedometer=Переключает спидометр # HUD beatrun.hud.course=Курс: %s @@ -137,6 +137,9 @@ beatrun.toolsmenu.camera.fovdesc=Изменяет ваш Угол Обзора beatrun.toolsmenu.gameplay.name=Геймплей beatrun.toolsmenu.gameplay.desc=Настройки геймплея +beatrun.toolsmenu.gameplay.oldanims=Старые анимации +beatrun.toolsmenu.gameplay.oldanimsdesc=Переключает использование старых анимаций заместо новеньких + beatrun.toolsmenu.gameplay.quickturnground=Quickturn на Земле beatrun.toolsmenu.gameplay.quickturngrounddesc=Переключает Quickturn будучи на земле (быстрый разворот) @@ -147,7 +150,7 @@ beatrun.toolsmenu.gameplay.puristmode=Режим Purist beatrun.toolsmenu.gameplay.puristmodedesc=Режим Purist это клиентский параметр который сильно снижает движение игрока в стороны будучи в воздухе, прямо как в оригинальное ME.\n0 = Нет ограничений\n1 = Снижает движение игрока в воздухе в стороны beatrun.toolsmenu.gameplay.disablegrapple=Отключить Крюк-Кошку -beatrun.toolsmenu.gameplay.disablegrappledesc=Отключает использование крюка-кошки +beatrun.toolsmenu.gameplay.disablegrappledesc=Переключает использование крюка-кошки beatrun.toolsmenu.gameplay.rollspeedloss=Потеря скорости при перекате beatrun.toolsmenu.gameplay.rollspeedlossdesc=Переключает потерю скорости при перекате diff --git a/beatrun/gamemodes/beatrun/gamemode/cl/JumpAnim.lua b/beatrun/gamemodes/beatrun/gamemode/cl/JumpAnim.lua index 02998ca..2eedf2d 100644 --- a/beatrun/gamemodes/beatrun/gamemode/cl/JumpAnim.lua +++ b/beatrun/gamemodes/beatrun/gamemode/cl/JumpAnim.lua @@ -1,3 +1,5 @@ +local OldAnims = CreateClientConVar("Beatrun_OldAnims", "0", true, false, "") + local animtable = { lockang = false, allowmove = true, @@ -8,7 +10,7 @@ local animtable = { BodyLimitX = 90, AnimString = "jumpslow", CamIgnoreAng = true, - animmodelstring = "climbanim", + animmodelstring = "new_climbanim", BodyLimitY = 180, usefullbody = 2 } @@ -1443,6 +1445,37 @@ local function JumpAnim(event, ply) animsetchange = UseOldAnims:GetBool() end +function CheckAnims() + RemoveBodyAnim() + + if OldAnims:GetBool() then + animtable.animmodelstring = "old_climbanim" + else + animtable.animmodelstring = "new_climbanim" + end + + StartBodyAnim(animtable) + + if not IsValid(BodyAnim) then return end + + CreateBodyAnimArmCopy() + + if not LocalPlayer():ShouldDrawLocalPlayer() or CurTime() < 10 then + for k, v in ipairs(playermodelbones) do + local b = BodyAnim:LookupBone(v) + + if b then + BodyAnim:ManipulateBonePosition(b, Vector(0, 0, 100 * (k == 1 and -1 or 1))) + end + end + end +end + +cvars.AddChangeCallback("Beatrun_OldAnims", function(cvar, vOld, vNew) + CheckAnims() +end) + +hook.Add("PlayerInitialSpawn", "CheckAnims", CheckAnims) hook.Add("OnParkour", "JumpAnim", JumpAnim) function ArmInterrupt(anim) diff --git a/beatrun/gamemodes/beatrun/gamemode/cl/ToolMenuSettings.lua b/beatrun/gamemodes/beatrun/gamemode/cl/ToolMenuSettings.lua index bdd2485..4cef365 100644 --- a/beatrun/gamemodes/beatrun/gamemode/cl/ToolMenuSettings.lua +++ b/beatrun/gamemodes/beatrun/gamemode/cl/ToolMenuSettings.lua @@ -232,6 +232,9 @@ hook.Add("PopulateToolMenu", "Beatrun_ToolMenu", function() panel:ClearControls() panel:SetName("#beatrun.toolsmenu.gameplay.desc") + panel:CheckBox("#beatrun.toolsmenu.gameplay.oldanims", "Beatrun_OldAnims") + panel:ControlHelp("#beatrun.toolsmenu.gameplay.oldanimsdesc") + panel:CheckBox("#beatrun.toolsmenu.gameplay.quickturnground", "Beatrun_QuickturnGround") panel:ControlHelp("#beatrun.toolsmenu.gameplay.quickturngrounddesc") diff --git a/beatrun/gamemodes/beatrun/gamemode/player_class/player_beatrun.lua b/beatrun/gamemodes/beatrun/gamemode/player_class/player_beatrun.lua index d902fff..ebd81e1 100644 --- a/beatrun/gamemodes/beatrun/gamemode/player_class/player_beatrun.lua +++ b/beatrun/gamemodes/beatrun/gamemode/player_class/player_beatrun.lua @@ -11,10 +11,6 @@ if CLIENT then local lframeswepclass = lframeswepclass or "" end -if SERVER then - util.AddNetworkString("Beatrun_ClientFOVChange") -end - local PLAYER = {} PLAYER.DuckSpeed = 0.01 -- How fast to go from not ducking, to ducking @@ -25,8 +21,6 @@ PLAYER.TauntCam = TauntCamera() PLAYER.WalkSpeed = 200 PLAYER.RunSpeed = 400 -local FOVModifierBlock = false -- trust me this is important -losttrackpad - function PLAYER:SetupDataTables() BaseClass.SetupDataTables(self) self.Player:NetworkVar("Float", 0, "MEMoveLimit") @@ -386,23 +380,7 @@ function PLAYER:CalcView(view) -- SP clientside weapon swap detection FOVModifierBlock = true - timer.Simple(1, function() - FOVModifierBlock = false - end) - end - - if not FOVModifierBlock and not LocalPlayer():GetActiveWeapon().ARC9 then - fixfovmult = view.fov / fov - else - fixfovmult = 1 - end - - view.fov = fov * mult * fixfovmult - lframeswepclass = LocalPlayer():GetActiveWeapon():GetClass() - else - view.fov = fov * mult - end - end + view.fov = fov * mult if self.TauntCam:CalcView(view, self.Player, self.Player:IsPlayingTaunt()) then return true end end diff --git a/beatrun/gamemodes/beatrun/gamemode/sh/Climb.lua b/beatrun/gamemodes/beatrun/gamemode/sh/Climb.lua index 8092d26..30c5cb7 100644 --- a/beatrun/gamemodes/beatrun/gamemode/sh/Climb.lua +++ b/beatrun/gamemodes/beatrun/gamemode/sh/Climb.lua @@ -11,7 +11,7 @@ local CLIMB_FOLDEDHEAVEUP = 6 local climb1 = { followplayer = false, - animmodelstring = "climbanim", + animmodelstring = "new_climbanim", allowmove = true, lockang = false, ignorez = true, diff --git a/beatrun/gamemodes/beatrun/gamemode/sh/Grapple.lua b/beatrun/gamemodes/beatrun/gamemode/sh/Grapple.lua index 87e1516..85dd7b6 100644 --- a/beatrun/gamemodes/beatrun/gamemode/sh/Grapple.lua +++ b/beatrun/gamemodes/beatrun/gamemode/sh/Grapple.lua @@ -83,7 +83,7 @@ hook.Add("SetupMove", "Grapple", function(ply, mv, cmd) ply:SetGrappleLength(mv:GetOrigin():Distance(trout.HitPos)) ply:SetWallrunCount(0) ply:SetJumpTurn(false) - ply:SetCrouchJumpBlocked(false) + ply:SetCrouchJumpBlocked(true) ply:SetNW2Entity("grappleEntity", trout.Entity) ply:SetNW2Bool("grappledNonCourse", true) @@ -126,6 +126,7 @@ hook.Add("SetupMove", "Grapple", function(ply, mv, cmd) ply:SetNW2Bool("grappledNonCourse", false) ply:SetGrappling(false) + ply:SetCrouchJumpBlocked(false) if CLIENT and IsFirstTimePredicted() or game.SinglePlayer() then ply:EmitSound("mirrorsedge/zipline_detach.wav", 40, 100 + math.random(-25, 10)) @@ -336,4 +337,4 @@ local function Swingrope(ply, mv, cmd) end end -hook.Add("SetupMove", "Swingrope", Swingrope) \ No newline at end of file +hook.Add("SetupMove", "Swingrope", Swingrope) diff --git a/beatrun/gamemodes/beatrun/gamemode/sh/SafetyRoll.lua b/beatrun/gamemodes/beatrun/gamemode/sh/SafetyRoll.lua index 9cc131e..9ecf6ac 100644 --- a/beatrun/gamemodes/beatrun/gamemode/sh/SafetyRoll.lua +++ b/beatrun/gamemodes/beatrun/gamemode/sh/SafetyRoll.lua @@ -68,7 +68,7 @@ hook.Add("SetupMove", "SafetyRoll", SafetyRollThink) local roll = { followplayer = true, - animmodelstring = "climbanim", + animmodelstring = "new_climbanim", showweapon = true, lockang = true, BodyAnimSpeed = 1.15, @@ -82,15 +82,15 @@ net.Receive("RollAnimSP", function() if net.ReadBool() then roll.AnimString = ply:UsingRH() and "land" or "landgun" - roll.animmodelstring = "climbanim" + roll.animmodelstring = "new_climbanim" roll.BodyAnimSpeed = 1 elseif net.ReadBool() then roll.AnimString = "evaderoll" - roll.animmodelstring = "climbanim" + roll.animmodelstring = "new_climbanim" roll.BodyAnimSpeed = 1.5 else roll.AnimString = ply:UsingRH() and "meroll" or "merollgun" - roll.animmodelstring = "climbanim" + roll.animmodelstring = "new_climbanim" roll.BodyAnimSpeed = 1.15 end @@ -126,7 +126,7 @@ hook.Add("SetupMove", "EvadeRoll", function(ply, mv, cmd) ply:SetSafetyRollTime(CurTime() + 0.9) roll.AnimString = "evaderoll" - roll.animmodelstring = "climbanim" + roll.animmodelstring = "new_climbanim" roll.usefullbody = false if SERVER and not land then @@ -192,7 +192,7 @@ hook.Add("OnPlayerHitGround", "SafetyRoll", function(ply, water, floater, speed) ply:SetSafetyRollTime(CurTime() + 0.6) roll.AnimString = ply:UsingRH() and "land" or "landgun" - roll.animmodelstring = "climbanim" + roll.animmodelstring = "new_climbanim" roll.usefullbody = true else land = false @@ -201,7 +201,7 @@ hook.Add("OnPlayerHitGround", "SafetyRoll", function(ply, water, floater, speed) ply:SetSafetyRollTime(CurTime() + 1.05) roll.AnimString = ply:UsingRH() and "meroll" or "merollgun" - roll.animmodelstring = "climbanim" + roll.animmodelstring = "new_climbanim" roll.usefullbody = false end diff --git a/beatrun/gamemodes/beatrun/gamemode/sh/Sliding.lua b/beatrun/gamemodes/beatrun/gamemode/sh/Sliding.lua index b55bab0..5800a0e 100644 --- a/beatrun/gamemodes/beatrun/gamemode/sh/Sliding.lua +++ b/beatrun/gamemodes/beatrun/gamemode/sh/Sliding.lua @@ -31,7 +31,7 @@ local animtable = { deleteonend = false, BodyLimitX = 50, AnimString = "meslidestart", - animmodelstring = "climbanim", + animmodelstring = "new_climbanim", camjoint = "camerajoint", usefullbody = 2 } diff --git a/beatrun/gamemodes/beatrun/gamemode/sh/Zipline.lua b/beatrun/gamemodes/beatrun/gamemode/sh/Zipline.lua index 866adf0..35080f8 100644 --- a/beatrun/gamemodes/beatrun/gamemode/sh/Zipline.lua +++ b/beatrun/gamemodes/beatrun/gamemode/sh/Zipline.lua @@ -141,10 +141,8 @@ local function ZiplineThink(ply, mv, cmd, zipline) if fraction >= 1 or cmd:KeyDown(IN_DUCK) or (CrueltyParkour:GetBool() and !ply:UsingRH()) then ply:SetZipline(nil) ply:SetMoveType(MOVETYPE_WALK) - ply:SetCrouchJumpBlocked(true) mv:SetVelocity(dir * speed * 0.75) - mv:SetButtons(0) ply:SetZiplineDelay(CurTime() + 0.75) @@ -282,4 +280,4 @@ if CLIENT then LocalPlayer():StopSound("ZiplineLoop") end end) -end \ No newline at end of file +end