Merge branch 'JonnyBro-main'

This commit is contained in:
LostTrackpad 2024-07-17 08:56:00 +07:00
commit 0958795c75
34 changed files with 203 additions and 321 deletions

View file

@ -1,70 +0,0 @@
using System;
using System.Collections.Generic;
using System.IO;
namespace BeatrunAnimInstaller
{
internal class BeatrunAnimInstaller
{
private static readonly string inDir = ".";
private static readonly string outDir = "gamemodes\\beatrun\\content\\models";
private static readonly List<string> choices = new List<string>() { "Beatrun Reanimated", "Original Animations" };
static void RecursiveCopyDir(string inputDir, string outputDir)
{
if (!Directory.Exists(inputDir)) return;
if (!Directory.Exists(outputDir)) Directory.CreateDirectory(outputDir);
foreach (string filePath in Directory.GetFiles(inputDir))
{
string fileName = Path.GetFileName(filePath);
File.Copy(filePath, outputDir + Path.DirectorySeparatorChar + fileName, true);
Console.WriteLine(string.Format("Copied {0} to {1}", filePath, outputDir));
}
foreach (string dirPath in Directory.GetDirectories(inputDir))
{
string dirName = Path.GetDirectoryName(dirPath);
RecursiveCopyDir(dirPath, outputDir + Path.DirectorySeparatorChar + dirName);
}
}
static void Main(string[] args)
{
Console.WriteLine("Select animations to install:");
Console.WriteLine("");
int i = 1;
foreach (string choice in choices)
{
Console.WriteLine(string.Format("{0}: {1}", i, choice));
i++;
}
Console.WriteLine("");
while (true)
{
ConsoleKeyInfo key = Console.ReadKey(true);
if (key.Key == ConsoleKey.Enter || key.Key == ConsoleKey.Escape) break;
char keyChar = key.KeyChar;
if (char.IsDigit(keyChar))
{
int index = keyChar - '0';
string choice = choices[index - 1];
if (choice != null)
{
Console.WriteLine(string.Format("Selected pack: {0}", choice));
RecursiveCopyDir(inDir + Path.DirectorySeparatorChar + choice, outDir);
Console.WriteLine("Press any key to exit...");
Console.ReadKey(true);
break;
}
}
}
}
}
}

View file

@ -1,56 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{6096D195-BC98-4E67-86F7-CBD21A427405}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>BeatrunAnimInstaller</RootNamespace>
<AssemblyName>BeatrunAnimInstaller</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<StartupObject>BeatrunAnimInstaller.BeatrunAnimInstaller</StartupObject>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="BeatrunAnimInstaller.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View file

@ -1,25 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.6.33829.357
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeatrunAnimInstaller", "BeatrunAnimInstaller.csproj", "{6096D195-BC98-4E67-86F7-CBD21A427405}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6096D195-BC98-4E67-86F7-CBD21A427405}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6096D195-BC98-4E67-86F7-CBD21A427405}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6096D195-BC98-4E67-86F7-CBD21A427405}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6096D195-BC98-4E67-86F7-CBD21A427405}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {A9FCE6D1-6D4B-4DFB-91A2-DCC7E79299D8}
EndGlobalSection
EndGlobal

View file

@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Общие сведения об этой сборке предоставляются следующим набором
// набора атрибутов. Измените значения этих атрибутов для изменения сведений,
// связанные с этой сборкой.
[assembly: AssemblyTitle("BeatrunAnimInstaller")]
[assembly: AssemblyDescription("Beatrun Animations Installer")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("beatrun.ru")]
[assembly: AssemblyProduct("BeatrunAnimInstaller")]
[assembly: AssemblyCopyright("Copyright © 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
// для компонентов COM. Если необходимо обратиться к типу в этой сборке через
// из модели COM задайте для атрибута ComVisible этого типа значение true.
[assembly: ComVisible(false)]
// Следующий GUID представляет идентификатор typelib, если этот проект доступен из модели COM
[assembly: Guid("6096d195-bc98-4e67-86f7-cbd21a427405")]
// Сведения о версии сборки состоят из указанных ниже четырех значений:
//
// Основной номер версии
// Дополнительный номер версии
// Номер сборки
// Номер редакции
//
// Можно задать все значения или принять номера сборки и редакции по умолчанию
// используя "*", как показано ниже:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View file

@ -1,30 +0,0 @@
# 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 project.
## How To Use
Please refer to this [README](../beatrun/README.md).
## Credits
* [YuRaNnNzZZ](https://github.com/YuRaNnNzZZ) - Creator of this installer.
<!-- markdownlint-disable-next-line -->
# RUSSIAN
## Исходный код установщика анимаций
Здесь находятся исходники нашего установщика анимаций.\
Я не знаю зачем это вам надо, но мы оставили их здесь чтобы вы могли убедиться что мы не распространяем вирусы в нашем проекте.
## Как использовать
Прочитайте этот файл [README](../beatrun/README.md).
## Благодарность
* [YuRaNnNzZZ](https://github.com/YuRaNnNzZZ) - Создатель установщика.

View file

@ -1,3 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>

116
README.ru.md Normal file
View file

@ -0,0 +1,116 @@
# Beatrun | Community edition
[Нажми чтобы присоединиться к нашему Discord серверу!](https://discord.gg/93Psubbgsg)
* [English](./README.md)
**ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ ЭТОТ ФАЙЛ ПЕРЕД ТЕМ КАК ЗАДАВАТЬ ВОПРОСЫ!**\
**МЫ ОПИСАЛИ ДОСТАТОЧНО, ЧТОБЫ ВЫ МОГЛИ УСТАНОВИТЬ ЭТОТ МОД САМОСТОЯТЕЛЬНО**
Печально известный паркур мод для Garry's Mod.\
Мод с открытым исходным кодом и поддерживаемый сообществом (мной 😞).
> [!IMPORTANT]
> Данный проект не содержит вредоносных модулей. Здесь присутствуют модули для доп. функций, таких как:
>
> * Показ статуса в Discord.
> * Показ статуса в Steam.
>
> **Данные модули опциональны и могут быть удалены в любой момент.**\
> Все модули можно найти **[здесь](https://github.com/JonnyBro/beatrun/tree/main/lua/bin)**.\
> Проверьте **[Благодарности](#благодарности)** чтобы найти исходный код модулей.
## Steam Workshop (ржака)
[Подписаться](https://steamcommunity.com/sharedfiles/filedetails/?id=3290421288)
### Автоматическая установка (Рекомендуемое | Windows 10/11)
> [!WARNING]
> Windows 7 не поддерживается.\
> Кому-то давно пора обновиться...
Запустите команду в Powershell.
> [!NOTE]
> Win + R > `powershell` > *Enter*
```powershell
irm https://beatrun.jonnybro.ru/install | iex
```
* Выберите режим `Beatrun` в правом нижнем углу.
### Ручная установка
1. **[Скачайте проект](https://github.com/JonnyBro/beatrun/archive/refs/heads/master.zip)**.
2. **Удалите папку `beatrun` по пути *путь_к_игре/garrysmod/addons* если присутствует.**
3. Извлеките папку `beatrun-main/beatrun` по пути *путь_к_игре/garrysmod/addons*.
4. Если вы хотите показ статусов в Discord Steam:
* Извлеките папку `beatrun-main/lua` по пути *путь_к_игре/garrysmod*.
5. Выберите режим `Beatrun` в правом нижнем углу.
## Анимации
[Читаем тут](beatrun/README.md)
## Особенности
> [!IMPORTANT]
> Множество изменений и исправлений не задокументированы, обратитесь к списку коммитов для более подробного списка изменений.
* Jonny_Bro поддерживает **[свою базу курсов](https://courses.jonnybro.ru)**, которая так же **бесплатна** к использованию и имеет **[открытый исходный код](https://git.jonnybro.ru/jonny_bro/beatrun-courses-server-express)**!
* Новый режим - **Deathmatch** (намного веселее чем Data Theft, честно).
* "Правильный" Kick Glitch прямо как в **[оригинальной игре](https://www.youtube.com/watch?v=zK5y3NBUStc)**.
* Меню настроек - найти его можно в меню инструментов, в категории **Beatrun**.\
**Все** настройки Beatrun можно найти там!
* Показ статусов в Steam и Discord.
* Поддержка локализаций.\
Доступно 7 языков!
* Улучшения режима строительства.
Можно заспавнить любой проп из меню спавна и он сохранится в курсе.
* Возможность переката после зиплайнов на CTRL 🤯 (спасибо c4nk <3).
* Возможность спрыгивать с лестниц - Нажмите CTRL.
* Возможность удалять зиплайны созданные *Zipline Gun* - Нажмите ПКМ.
* Стрелка, показывающая местоположение след. контрольной точки.
* Переменная, разрешающая использование Overdrive (сервер) - `Beatrun_AllowOverdriveInMultiplayer`.
* Переменная, разрешающая создание объектов без прав администратора (сервер) - `Beatrun_AllowPropSpawn`.
* Переменная, переключающая регенерацию здоровья (сервер) - `Beatrun_HealthRegen`.
* Переменные, изменяющие цвет HUD (клиент) - `Beatrun_HUDTextColor`, `Beatrun_HUDCornerColor`, `Beatrun_HUDFloatingXPColor`.
* Переменная, переключающая использование крюка-кошки (клиент) - `Beatrun_DisableGrapple`.
* Переменная, переключающая режим Kick Glitch (клиент) - `Beatrun_OldKickGlitch`.
* Переменная, переключающая использование Quickturn только с *Runner Hands* или любым оружием (клиент) - `Beatrun_QuickturnHandsOnly`.
* Небольшой толчёк камеры при нырянии.
* Убран SteamID с экрана.
## Исправления
* Отображение моделей как **ERROR**.
* Сортировка таблицы лидеров.
* Использование крюка-кошки в режимах.
* Краш в Data Theft при касании с Data Bank.
* Ошибки с коллиизей - урон в PvP не проходил, если режим не Data Theft.
* Возможность прыгать во время ходьбы (🤷).
* Подправлен кувырок - можно кувыркаться под объектами.
* Подправлена крюк-кошка - движется с объектом к которому прикреплена и видна другим игрокам.
## TODO
* [ ] Меню создания снаряжений для Deathmatch/Data Theft.
## Известные проблемы
* [Тут](https://github.com/JonnyBro/beatrun/issues).
* Может ещё чего, я не помню 💀.
## Связанные проекты
* [Beatrun Reanimated Project](https://github.com/JonnyBro/beatrun-anims).
## Благодарности
* [Все участники](https://github.com/JonnyBro/beatrun/graphs/contributors) - <3.
* [EarthyKiller127](https://www.youtube.com/channel/UCiFqPwGo4x0J65xafIaECDQ) - Создатель этого ужаса.
* [relaxtakenotes](https://github.com/relaxtakenotes) - Без него этого проекта бы не существовало.
* [MTB](https://www.youtube.com/@MTB396) - Beatrun Reanimated Project.
* [Fluffy Servers](https://github.com/fluffy-servers/gmod-discord-rpc) - Discord Rich Presence.
* [YuRaNnNzZZ](https://github.com/YuRaNnNzZZ/gmcl_steamrichpresencer) - Steam Presence.

Binary file not shown.

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
}
@ -1397,6 +1399,37 @@ local function JumpAnim(event, ply)
end
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")
@ -375,34 +369,9 @@ end
function PLAYER:CalcView(view)
local mult = (self.Player:InOverdrive() and 1.1) or 1
local fixfovmult = 1
local fov = GetConVar("Beatrun_FOV"):GetInt()
if CLIENT then
-- VERY hacky and dirty code and I apologize in advance
local fov = GetConVar("Beatrun_FOV"):GetInt()
if IsValid(LocalPlayer():GetActiveWeapon()) then
if lframeswepclass ~= LocalPlayer():GetActiveWeapon():GetClass() then
-- 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,18 +82,24 @@ 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
if GetConVar("Beatrun_OldAnims"):GetBool() then
roll.animmodelstring = "old_climbanim"
else
roll.animmodelstring = "new_climbanim"
end
CacheBodyAnim()
RemoveBodyAnim()
StartBodyAnim(roll)
@ -120,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
@ -132,6 +138,12 @@ hook.Add("SetupMove", "EvadeRoll", function(ply, mv, cmd)
end
if CLIENT and IsFirstTimePredicted() then
if GetConVar("Beatrun_OldAnims"):GetBool() then
roll.animmodelstring = "old_climbanim"
else
roll.animmodelstring = "new_climbanim"
end
CacheBodyAnim()
RemoveBodyAnim()
StartBodyAnim(roll)
@ -180,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
@ -189,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
@ -202,6 +214,12 @@ hook.Add("OnPlayerHitGround", "SafetyRoll", function(ply, water, floater, speed)
end
if CLIENT and IsFirstTimePredicted() then
if GetConVar("Beatrun_OldAnims"):GetBool() then
roll.animmodelstring = "old_climbanim"
else
roll.animmodelstring = "new_climbanim"
end
CacheBodyAnim()
RemoveBodyAnim()
StartBodyAnim(roll)

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