This commit is contained in:
Jonny_Bro (Nikita) 2023-10-12 18:36:25 +05:00
parent b5188986e0
commit e1a0f9ee47
6 changed files with 168 additions and 63 deletions

View file

@ -1,23 +1,29 @@
# ENGLISH
# Animations Installer Source Code
Here you can find source code of the animations installer.\
I don't know why you will ever need that but we put it here so you can be sure we don't supply malware with our fork.
## How To Use
Please refer to this [README](../beatrun/README.md).
## Credits
* [YuRaNnNzZZ](https://github.com/YuRaNnNzZZ) - Creator of this installer.
# RUSSIAN
# Исходный код установщика анимаций
Здесь находятся исходники нашего установщика анимаций.\
Я не знаю зачем это вам, но мы оставили их здесь чтобы вы могли убедиться что мы не распространяем вирусы в нашем форке.
## Как использовать
Прочитайте этот файл [README](../beatrun/README.md).
## Благодарность
* [YuRaNnNzZZ](https://github.com/YuRaNnNzZZ) - Создатель установщика.

View file

@ -1,36 +1,44 @@
# Beatrun | Community edition
Infamous parkour addon for Garry's Mod, fully open sourced and maintained by the community.
This version does not include malicious modules, code or networking. What it does contain is:
* Lua modules for Discord Rich Presence.
* Lua modules for Steam Presence.
* Network connectivity for courses (activates only when you load or upload courses, and by default `courses.beatrun.ru` is used).
> [!IMPORTANT]
> This version does not include malicious modules, code or networking. What it does contain is:
>
> * Lua modules for Discord Rich Presence.
> * Lua modules for Steam Presence.
> * Network connectivity for courses (activates only when you load or upload courses, and by default `courses.beatrun.ru` is used).
**All of this is optional and you may remove all of it.**\
Modules are located [here](/lua/bin/) and courses database functionality is [here](/beatrun/gamemodes/beatrun/gamemode/cl/CoursesDatabase.lua).<br><br>
**PLEASE READ ALL BEFORE ASKING QUESTIONS ON OUR SERVER!**
# (Prefered) Installation (Automatic | Windows only)
## (Prefered) Installation (Automatic | Windows only)
Run the command below in Powershell.
> [!NOTE]
> Win + R > `powershell` > command in question
```powershell
iex (iwr "beatrun.ru/install.ps1" -UseBasicParsing)
```
## Installation (Manual)
1. Download this repository [here](https://github.com/JonnyBro/beatrun/archive/refs/heads/master.zip).
2. **Delete the `beatrun` folder in *your_game_folder/garrysmod/addons* if you have one.**
3. Extract the `beatrun` folder to *your_game_folder/garrysmod/addons*.
4. Extract the `lua` folder to *your_game_folder/garrysmod*.
* `lua` folder contains modules for Discord Rich Presense and Steam Presence. They are optional. You can find their source code in the [credits](#credits) section.<br><br>
* `lua` folder contains modules for Discord Rich Presense and Steam Presence. They are optional. You can find their source code in the [credits](#credits) section.<br><br>
## Animations
Please refer to this [README](/beatrun/README.md).
## Changes and fixes done by the community
> [!IMPORTANT]
> There are many undocumented changes and fixes in this version, you better look at the commits if you want to see something specific
> There are many undocumented changes and fixes in this version, you better look at the commits if you want to see something specific.
* Jonny_Bro is hosting [custom online courses database](https://courses.beatrun.ru), which is also free and [open source](https://github.com/relaxtakenotes/beatrun-courses-server/) 🤯!
* Implemented a new gamemode - **Deathmatch** (it's way more fun than Data Theft I promise).
@ -56,6 +64,7 @@ For now Russian and English are supported.
* SteamID in the right corner is no longer present.
## Notable changes and fixes done by the community
* Added Proper Kick Glitch just like in [original ME](https://www.youtube.com/watch?v=zK5y3NBUStc). (cry about prediction errors l0l)
* Fixed leaderboard sorting in gamemodes.
* Fixed grapple usage in courses and gamemodes.
@ -67,12 +76,15 @@ For now Russian and English are supported.
* Made it possible to dive to your death =).
## TODO
- [ ] Gamemodes menu. (idk how to properly implement this for know).
# Related
* [ ] Gamemodes menu. (idk how to properly implement this for know).
## Related
* [Beatrun Reanimated Project](https://github.com/JonnyBro/beatrun-anims).
# Credits
## Credits
* [All contributors](https://github.com/JonnyBro/beatrun/graphs/contributors) - <3.
* [EarthyKiller127](https://www.youtube.com/channel/UCiFqPwGo4x0J65xafIaECDQ) - He made that piece of shit.
* [relaxtakenotes](https://github.com/relaxtakenotes) - Made all of this possible.

View file

@ -1,29 +1,37 @@
# ENGLISH
# Animations Installer
You can use **BeatrunAnimInstaller** (located literally here) to change animations. Currently we have:
1. `Beatrun Reanimated Project` animations.
2. 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.\
If nothing is changed, close the game and/or try run the program with admin priveleges.
## Source Code
Please refer to this [README](../BeatrunAnimInstaller_Source/README.md).
# RUSSIAN
# Установщик анимаций
Используйте **BeatrunAnimInstaller** (который расположен прямо тут) чтобы менять анимации. На данный момент у нас имеются:
1. Анимации из `Beatrun Reanimated Project`.
2. Оригинальные анимации с правками и фиксами.
## Как использовать
1. Запустите исполняемый файл.
2. Нажмите цифру желаемых анимаций на клавиатуре.\
Если ничего не изменилось, закройте игру и/или запустите файл от имени администратора.
## Исходный код
Прочитайте этот файл [README](../BeatrunAnimInstaller_Source/README.md).
Прочитайте этот файл [README](../BeatrunAnimInstaller_Source/README.md).

View file

@ -126,4 +126,75 @@ beatrun.toolsmenu.gameplay.name=Gameplay
beatrun.toolsmenu.gameplay.desc=Gameplay Settings
beatrun.toolsmenu.gameplay.quickturnground=Quickturn Ground
beatrun.toolsmenu.gameplay.quickturngrounddesc=Enables quickturning with secondary attack while on the ground
beatrun.toolsmenu.gameplay.quickturngrounddesc=Enables 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.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
# Tools Menu Misc Section
beatrun.toolsmenu.misc.name=Misc
beatrun.toolsmenu.misc.desc=Misc Settings
beatrun.toolsmenu.misc.propspawn=Prop Spawning
beatrun.toolsmenu.misc.propspawndesc=Allows players without admin rights to spawn props, entities and weapons
beatrun.toolsmenu.misc.overdrivemp=Overdrive in Multiplayer
beatrun.toolsmenu.misc.overdrivempdesc=Allows Overdrive usage on the server
# Tools Menu Moves Section
beatrun.toolsmenu.moves.name=Moves
beatrun.toolsmenu.moves.desc=Moves Settings
beatrun.toolsmenu.moves.help=You Can Dive with Ctrl + RMB While Midair!\nOverdrive Toggles with E + LMB.
beatrun.toolsmenu.moves.speedlimit=Speed Limit
beatrun.toolsmenu.moves.speedlimitdesc=Changes player's speed limit (325 is default)
beatrun.toolsmenu.moves.forcepuristmode=Force Purist Mode
beatrun.toolsmenu.moves.forcepuristmodedesc=Forces Purist Mode to be enabled for all players
beatrun.toolsmenu.moves.realisticwallrunning="Realistic" wallrunning
beatrun.toolsmenu.moves.realisticwallrunningdesc=You don't lose speed when starting wallrunning when disabled
beatrun.toolsmenu.moves.kickglitch=Kick-Glitch
beatrun.toolsmenu.moves.kickglitchdesc=Toggles Kick-Glitch Move\nLMB when Wallrunning and Then Jumping Right After
beatrun.toolsmenu.moves.kickglitchversion=Kick-Glitch Version
beatrun.toolsmenu.moves.kickglitchversiondesc=Enabled - Old Kick-Glitch\nDisabled - New Kick-Glitch\nNew version uses mechanic from Mirror's Edge that spawns a small platform under a player
beatrun.toolsmenu.moves.quakejump=Quake Jump
beatrun.toolsmenu.moves.quakejumpdesc=Toggles Quake Jump Move\nPress RMB Right After Side Step
beatrun.toolsmenu.moves.sidestep=Side Step
beatrun.toolsmenu.moves.sidestepdesc=Toggles Side Step Move\nA/D + RMB
beatrun.toolsmenu.moves.disarm=Disarm
beatrun.toolsmenu.moves.disarmdesc=Toggles Ability to Disarm NPC\nPress "%s" on an NPC
beatrun.toolsmenu.moves.divesettings=Dive Settings
beatrun.toolsmenu.moves.totsugeki=Totsugeki
beatrun.toolsmenu.moves.totsugekidesc=Toggles Totsugeki Move\nDive Right After Quake Jump
beatrun.toolsmenu.moves.totsugekispam=Totsugeki Spam
beatrun.toolsmenu.moves.totsugekispamdesc=TToggles Ability to Spam Totsugeki
beatrun.toolsmenu.moves.totsugekiheading=Totsugeki Heading
beatrun.toolsmenu.moves.totsugekiheadingdesc=Allows to Totsugeki on X axis (up/down)
beatrun.toolsmenu.moves.totsugekidirection=Totsugeki Direction
beatrun.toolsmenu.moves.totsugekidirectiondesc=Allows to Totsugeki into Another Direction\nCombined with Spam and Heading Allows You to Fly =)
# Tools Menu Gamemodes Section
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

View file

@ -232,90 +232,92 @@ hook.Add("PopulateToolMenu", "Beatrun_ToolMenu", function()
panel:CheckBox("#beatrun.toolsmenu.gameplay.quickturnground", "Beatrun_QuickturnGround")
panel:ControlHelp("#beatrun.toolsmenu.gameplay.quickturngrounddesc")
panel:CheckBox("Quickturn Hands Only", "Beatrun_QuickturnHandsOnly")
panel:ControlHelp("Enables quickturning with \"Runner Hands\" only")
panel:CheckBox("#beatrun.toolsmenu.gameplay.quickturnhandsonly", "Beatrun_QuickturnHandsOnly")
panel:ControlHelp("#beatrun.toolsmenu.gameplay.quickturnhandsonlydesc")
panel:CheckBox("Purist Mode", "Beatrun_PuristMode")
panel:ControlHelp("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")
panel:CheckBox("#beatrun.toolsmenu.gameplay.puristmode", "Beatrun_PuristMode")
panel:ControlHelp(language.GetPhrase("beatrun.toolsmenu.gameplay.puristmodedesc"))
panel:CheckBox("Disable Grapple Ability", "Beatrun_DisableGrapple")
panel:ControlHelp("Disables grapple ability")
panel:CheckBox("#beatrun.toolsmenu.gameplay.disablegrapple", "Beatrun_DisableGrapple")
panel:ControlHelp("#beatrun.toolsmenu.gameplay.disablegrappledesc")
end)
spawnmenu.AddToolMenuOption("Beatrun", "Server", "beatrun_main", "Main", "", "", function(panel)
spawnmenu.AddToolMenuOption("Beatrun", "Server", "beatrun_misc", "#beatrun.toolsmenu.misc.name", "", "", function(panel)
panel:ClearControls()
panel:SetName("Misc Settings")
panel:SetName("#beatrun.toolsmenu.misc.desc")
panel:CheckBox("Prop Spawning", "Beatrun_AllowPropSpawn")
panel:ControlHelp("Allows players without admin rights to spawn props, entities and weapons")
panel:CheckBox("#beatrun.toolsmenu.misc.propspawn", "Beatrun_AllowPropSpawn")
panel:ControlHelp("#beatrun.toolsmenu.misc.propspawndesc")
panel:CheckBox("Overdrive in Multiplayer", "Beatrun_AllowOverdriveInMultiplayer")
panel:ControlHelp("Allows Overdrive usage on the server\nDoesn't affect singleplayer")
panel:CheckBox("#beatrun.toolsmenu.misc.overdrivemp", "Beatrun_AllowOverdriveInMultiplayer")
panel:ControlHelp("#beatrun.toolsmenu.misc.overdrivempdesc")
end)
spawnmenu.AddToolMenuOption("Beatrun", "Server", "beatrun_moves", "Moves", "", "", function(panel)
spawnmenu.AddToolMenuOption("Beatrun", "Server", "beatrun_moves", "#beatrun.toolsmenu.moves.name", "", "", function(panel)
panel:ClearControls()
panel:SetName("Moves Settings")
panel:Help("You Can Dive with Ctrl + RMB While Midair!\nOverdrive Toggles with E + LMB.")
panel:SetName("#beatrun.toolsmenu.moves.desc")
panel:Help(language.GetPhrase("beatrun.toolsmenu.moves.help"))
panel:NumSlider("Speed Limit", "Beatrun_SpeedLimit", 325, 1000, 0)
panel:ControlHelp("Changes player's speed limit (325 is default)")
panel:NumSlider("#beatrun.toolsmenu.moves.speedlimit", "Beatrun_SpeedLimit", 325, 1000, 0)
panel:ControlHelp("#beatrun.toolsmenu.moves.speedlimitdesc")
panel:CheckBox("Force Purist Mode", "Beatrun_PuristModeForce")
panel:ControlHelp("Forces Purist Mode for all players")
panel:CheckBox("#beatrun.toolsmenu.moves.forcepuristmode", "Beatrun_PuristModeForce")
panel:ControlHelp("#beatrun.toolsmenu.moves.forcepuristmodedesc")
panel:CheckBox("\"Realistic\" wallrunning", "Beatrun_PuristWallrun")
panel:ControlHelp("You don't lose speed when starting wallrunning when disabled")
panel:CheckBox("#beatrun.toolsmenu.moves.realisticwallrunning", "Beatrun_PuristWallrun")
panel:ControlHelp("#beatrun.toolsmenu.moves.realisticwallrunningdesc")
local divider = vgui.Create("DHorizontalDivider")
panel:AddItem(divider)
panel:CheckBox("Kick-Glitch", "Beatrun_KickGlitch")
panel:ControlHelp("Toggles Kick-Glitch Move\nLMB when Wallrunning and Then Jumping Right After")
panel:CheckBox("#beatrun.toolsmenu.moves.kickglitch", "Beatrun_KickGlitch")
panel:ControlHelp(language.GetPhrase("beatrun.toolsmenu.moves.kickglitchdesc"))
panel:CheckBox("Kick-Glitch Version", "Beatrun_OldKickGlitch")
panel:ControlHelp("Enabled - Old Kick-Glitch\nDisabled - New Kick-Glitch\nNew version uses mechanic from Mirror's Edge that spawns a small platform under a player")
panel:CheckBox("#beatrun.toolsmenu.moves.kickglitchversion", "Beatrun_OldKickGlitch")
panel:ControlHelp(language.GetPhrase("beatrun.toolsmenu.moves.kickglitchversiondesc"))
panel:CheckBox("Quake Jump", "Beatrun_QuakeJump")
panel:ControlHelp("Toggles Quake Jump Move\nPress RMB Right After Side Step")
panel:CheckBox("#beatrun.toolsmenu.moves.quakejump", "Beatrun_QuakeJump")
panel:ControlHelp(language.GetPhrase("beatrun.toolsmenu.moves.quakejumpdesc"))
panel:CheckBox("Side Step", "Beatrun_SideStep")
panel:ControlHelp("Toggles Side Step Move\nA/D + RMB")
panel:CheckBox("#beatrun.toolsmenu.moves.sidestep", "Beatrun_SideStep")
panel:ControlHelp(language.GetPhrase("beatrun.toolsmenu.moves.sidestepdesc"))
panel:CheckBox("Disarm", "Beatrun_Disarm")
panel:ControlHelp("Toggles Ability to Disarm NPC\nInteract with NPC")
panel:CheckBox("#beatrun.toolsmenu.moves.disarm", "Beatrun_Disarm")
panel:ControlHelp(language.GetPhrase("beatrun.toolsmenu.moves.disarmdesc"):format(IN_USE))
local divider = vgui.Create("DHorizontalDivider")
panel:AddItem(divider)
panel:Help("Dive Settings")
panel:Help("#beatrun.toolsmenu.moves.divesettings")
panel:CheckBox("Totsugeki", "Beatrun_Totsugeki")
panel:ControlHelp("Toggles Totsugeki Move\nDive After Quake Jump")
panel:CheckBox("#beatrun.toolsmenu.moves.totsugeki", "Beatrun_Totsugeki")
panel:ControlHelp(language.GetPhrase("beatrun.toolsmenu.moves.totsugekidesc"))
panel:CheckBox("Totsugeki Spam", "Beatrun_TotsugekiSpam")
panel:ControlHelp("Toggles Ability to Spam Totsugeki")
panel:CheckBox("#beatrun.toolsmenu.moves.totsugekispam", "Beatrun_TotsugekiSpam")
panel:ControlHelp("#beatrun.toolsmenu.moves.totsugekispamdesc")
panel:CheckBox("Totsugeki Heading", "Beatrun_TotsugekiHeading")
panel:ControlHelp("Allows to Totsugeki on X axis (up/down)")
panel:CheckBox("#beatrun.toolsmenu.moves.totsugekiheading", "Beatrun_TotsugekiHeading")
panel:ControlHelp("#beatrun.toolsmenu.moves.totsugekiheadingdesc")
panel:CheckBox("Totsugeki Direction", "Beatrun_TotsugekiDir")
panel:ControlHelp("Allows to Totsugeki into Another Direction\nCombined with Spam and Heading Allows You to Fly =)")
panel:CheckBox("#beatrun.toolsmenu.moves.totsugekidirection", "Beatrun_TotsugekiDir")
panel:ControlHelp(language.GetPhrase("beatrun.toolsmenu.moves.totsugekidirectiondesc"))
end)
spawnmenu.AddToolMenuOption("Beatrun", "Server", "beatrun_gamemodes", "Gamemodes", "", "", function(panel)
spawnmenu.AddToolMenuOption("Beatrun", "Server", "beatrun_gamemodes", "#beatrun.toolsmenu.gamemodes.name", "", "", function(panel)
panel:ClearControls()
panel:SetName("Gamemodes Settings")
panel:SetName("#beatrun.toolsmenu.gamemodes.desc")
local InfectionButton = vgui.Create("DButton", panel)
InfectionButton:SetText("Toggle Infection Gamemode")
InfectionButton:SetText("#beatrun.toolsmenu.gamemodesc.infection")
InfectionButton:SetSize(0, 20)
InfectionButton.DoClick = function()
if GetGlobalBool("GM_DEATHMATCH") or GetGlobalBool("GM_DATATHEFT") then
InfectionButton:SetText("Another gamemode is running!")
InfectionButton:SetText("#beatrun.toolsmenu.gamemodes.error")
timer.Simple(2, function()
InfectionButton:SetText("Toggle Infection Gamemode")
InfectionButton:SetText("#beatrun.toolsmenu.gamemodesc.infection")
end)
return
end
@ -324,14 +326,16 @@ hook.Add("PopulateToolMenu", "Beatrun_ToolMenu", function()
panel:AddItem(InfectionButton)
local DatatheftButton = vgui.Create("DButton", panel)
DatatheftButton:SetText("Toggle Data Theft Gamemode")
DatatheftButton:SetText("#beatrun.toolsmenu.gamemodesc.datatheft")
DatatheftButton:SetSize(0, 20)
DatatheftButton.DoClick = function()
if GetGlobalBool("GM_INFECTION") or GetGlobalBool("GM_DEATHMATCH") then
DatatheftButton:SetText("Another gamemode is running!")
DatatheftButton:SetText("#beatrun.toolsmenu.gamemodes.error")
timer.Simple(2, function()
DatatheftButton:SetText("Toggle Data Theft Gamemode")
DatatheftButton:SetText("#beatrun.toolsmenu.gamemodesc.datatheft")
end)
return
end
@ -340,14 +344,16 @@ hook.Add("PopulateToolMenu", "Beatrun_ToolMenu", function()
panel:AddItem(DatatheftButton)
local DeathmatchButton = vgui.Create("DButton", panel)
DeathmatchButton:SetText("Toggle Deathmatch Gamemode")
DeathmatchButton:SetText("#beatrun.toolsmenu.gamemodesc.deathmatch")
DeathmatchButton:SetSize(0, 20)
DeathmatchButton.DoClick = function()
if GetGlobalBool("GM_INFECTION") or GetGlobalBool("GM_DATATHEFT") then
DeathmatchButton:SetText("Another gamemode is running!")
DeathmatchButton:SetText("#beatrun.toolsmenu.gamemodes.error")
timer.Simple(2, function()
DeathmatchButton:SetText("Toggle Deathmatch Gamemode")
DeathmatchButton:SetText("#beatrun.toolsmenu.gamemodesc.deathmatch")
end)
return
end

View file

@ -389,6 +389,7 @@ function Vault4(ply, mv, ang, t, h)
local tsafetyout = util.TraceLine(tsafety)
if tsafetyout.Hit then return false end
tsafety.start = mv:GetOrigin() + chestvec
tsafety.endpos = tsafety.start + ang:Forward() * 150
@ -471,6 +472,7 @@ function Vault5(ply, mv, ang, t, h)
t = util.TraceLine(t)
if not t.Hit then return false end
if t.Entity and t.Entity.NoPlayerCollisions then return false end
local vaultend = t.HitPos + mantlevec