Merge pull request #6 from LostTrackpad/main

Merge to dev branch
This commit is contained in:
LostTrackpad 2024-07-17 09:01:12 +07:00 committed by GitHub
commit edcb849324
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 79 additions and 95 deletions

View file

@ -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* - Нажмите ПКМ.
* Стрелка, показывающая местоположение след. контрольной точки.

View file

@ -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).
<!-- markdownlint-disable-next-line -->
# RUSSIAN
## Установщик анимаций
Используйте **BeatrunAnimInstaller** (расположен прямо тут) чтобы менять анимации. На данный момент у нас имеются:
* Beatrun Reanimated Project.
* Починенные оригинальные анимации.
## Как использовать
1. Запустите исполняемый файл.
2. Нажмите цифру желаемых анимаций на клавиатуре.
> [!NOTE]
> Если ничего не изменилось, закройте игру и запустите файл от имени администратора.
## Исходный код
Прочитайте этот файл [README](../BeatrunAnimInstaller_Source/README.md).

View file

@ -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

View file

@ -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=Переключает потерю скорости при перекате

View file

@ -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)

View file

@ -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")

View file

@ -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

View file

@ -11,7 +11,7 @@ local CLIMB_FOLDEDHEAVEUP = 6
local climb1 = {
followplayer = false,
animmodelstring = "climbanim",
animmodelstring = "new_climbanim",
allowmove = true,
lockang = false,
ignorez = true,

View file

@ -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)
hook.Add("SetupMove", "Swingrope", Swingrope)

View file

@ -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

View file

@ -31,7 +31,7 @@ local animtable = {
deleteonend = false,
BodyLimitX = 50,
AnimString = "meslidestart",
animmodelstring = "climbanim",
animmodelstring = "new_climbanim",
camjoint = "camerajoint",
usefullbody = 2
}

View file

@ -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
end