Compare commits

...

5 commits

Author SHA1 Message Date
relaxtakenotes
911bbb6bea keystrokes movage + grapple prettyness 2024-12-20 16:08:44 +05:00
relaxtakenotes
958f5676b5 some grapple stuff
- better icon
- disable moving along with entity in mp due to it being impossible to predict
- disallow grappling on the sky lol
2024-12-20 14:51:30 +05:00
relaxtakenotes
e38c6b5d2d Update shared.lua 2024-12-20 13:44:58 +05:00
relaxtakenotes
0b67b83a4f fixes and small features
- fix tilt jolt when opening the escape menu on singplayer
- add a few options for the speedometer
- add "le realistic climbing", which doesn't allow you to initiate a wallrun or start climbing if you don't have runnerhands equipped

note: i've added translations through google translate and only for those that had the necessary categories. fully feel free to improve my localization efforts
2024-12-20 13:39:06 +05:00
relaxtakenotes
b4104efca4 wow important notice 2024-12-20 12:15:16 +05:00
19 changed files with 238 additions and 82 deletions

View file

@ -15,6 +15,8 @@
### The **only official source** for this fork is this GitHub repository. Workshop versions are outdated and unsupported
### Whoever else that claims to have an "official" repository and does not have a license other than WTFPL is NOT to be trusted. This project is not something legal, so licenses DO NOT apply under any circumstances. This repository is the original one and is maintained by the original people that cracked beatrun.
---
## About

View file

@ -15,6 +15,8 @@
### **Единственный официальный источник** этого форка — этот репозиторий на GitHub. Версии в Workshop устарели и не поддерживаются
### Любой репозиторий, который якобы является оффициальным, но не имеет свободную лицензию (WTFPL) - не является безопасным и имеет низкую доверенность. Данный проект не является чем-то легальным, поэтому никакие лицензии не имеют никакого толка. Этот репозиторий является оригинальным и поддерживается людьми, которые и крякнули битран.
---
## О проекте

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

View file

@ -42,6 +42,7 @@ beatrun.convars.puristmode=Purist mode is a clientside preference that severely
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
beatrun.convars.speedometermode=Change speedometer mode
# HUD
beatrun.hud.course=Course: %s
@ -111,12 +112,19 @@ beatrun.toolsmenu.hud.hudxpdesc=Shows total XP near your nickname
beatrun.toolsmenu.hud.showspeedometer=Show Speedometer
beatrun.toolsmenu.hud.showspeedometerdesc=Shows the speedometer on HUD
beatrun.toolsmenu.hud.speedometermode=Speedometer Mode
beatrun.toolsmenu.hud.speedometermodedesc=0 - km/h, 1 - mph, 2 - hu/h
beatrun.toolsmenu.hud.showSpeedometer=Show Speedometer
beatrun.toolsmenu.hud.showSpeedometerDesc=Shows the speedometer on HUD (hiding HUD does not affect visibility)
beatrun.toolsmenu.hud.keystrokes=Show Keystrokes
beatrun.toolsmenu.hud.keystrokesdesc=Shows keys that you press
beatrun.toolsmenu.hud.keystrokes_x_offset=Keystrokes X Offset
beatrun.toolsmenu.hud.keystrokes_y_offset=Keystrokes Y Offset
beatrun.toolsmenu.hud.keystrokes_corner=Keystrokes Alignment
beatrun.toolsmenu.hud.hidden=Hide HUD
beatrun.toolsmenu.hud.hiddendesc=0 - Shown\n1 - Gamemode and speedometer only\n2 - Hidden
@ -172,6 +180,9 @@ beatrun.toolsmenu.misc.overdrivempdesc=Allows Overdrive usage on the server
beatrun.toolsmenu.misc.healthregen=Health Regen
beatrun.toolsmenu.misc.healthregendesc=Toggles Health Regeneration
beatrun.toolsmenu.misc.lerealisticclimbing=Realistic climbing
beatrun.toolsmenu.misc.lerealisticclimbingdesc=Doesn't allow you to wallrun or climb unless you have your runnerhands on.
# Tools Menu Moves Section
beatrun.toolsmenu.moves.name=Moves
beatrun.toolsmenu.moves.desc=Moves Settings
@ -245,6 +256,8 @@ beatrun.checkpoints.countdown1=Ready
beatrun.checkpoints.countdown2=Set
beatrun.checkpoints.countdown3=GO!
beatrun.checkpoints.speedometer=%s km/h
beatrun.checkpoints.speedometer_miles=%s mph
beatrun.checkpoints.speedometer_hammerunits=%s hu/h
# DataTheft
beatrun.datatheft.name=Data Theft (%s)

View file

@ -105,8 +105,12 @@ beatrun.toolsmenu.hud.nametagsdesc=Attiva/disattiva i nametag sopra i giocatori
beatrun.toolsmenu.hud.hudxp=Mostra XP HUD
beatrun.toolsmenu.hud.hudxpdesc=Mostra XP totali vicino al tuo nickname
beatrun.toolsmenu.hud.keystrokes=Show Keystrokes
beatrun.toolsmenu.hud.keystrokesdesc=Shows keys that you press
beatrun.toolsmenu.hud.keystrokes=Spettacolo Keystrokes
beatrun.toolsmenu.hud.keystrokesdesc=Mostra i tasti che premi
beatrun.toolsmenu.hud.keystrokes_x_offset=Keystrokes X Offset
beatrun.toolsmenu.hud.keystrokes_y_offset=Keystrokes Y Offset
beatrun.toolsmenu.hud.keystrokes_corner=Keystrokes Allineamento
beatrun.toolsmenu.hud.hidden=Nascondi HUD
beatrun.toolsmenu.hud.hiddendesc=0 - Mostra\n1 - Solo Modalità di gioco\n2 - Nascosta
@ -149,8 +153,13 @@ beatrun.toolsmenu.misc.desc=Impostazioni Varie
beatrun.toolsmenu.misc.propspawn=Prop Spawning
beatrun.toolsmenu.misc.propspawndesc=Consente ai giocatori senza diritti di amministratore di generare oggetti di scena, entità e armi
beatrun.toolsmenu.misc.overdrivemp=Overdrive in Multiplayer
beatrun.toolsmenu.misc.overdrivempdesc=Consente l'utilizzo dell'Overdrive sul server
beatrun.toolsmenu.misc.lerealisticclimbing=Arrampicata realistica
beatrun.toolsmenu.misc.lerealisticclimbingdesc=Non ti consente di correre sui muri o di arrampicarti se non hai le mani da corridore.
# Tools Menu Moves Section
beatrun.toolsmenu.moves.name=Mosse
beatrun.toolsmenu.moves.desc=Impostazioni Mosse
@ -211,6 +220,8 @@ beatrun.checkpoints.countdown1=Pronti!
beatrun.checkpoints.countdown2=Partenza...
beatrun.checkpoints.countdown3=VIA!!
beatrun.checkpoints.speedometer=%s km/h
beatrun.checkpoints.speedometer_miles=%s mph
beatrun.checkpoints.speedometer_hammerunits=%s hu/h
# DataTheft
beatrun.datatheft.name=Furto di dati (%s)

View file

@ -42,6 +42,7 @@ beatrun.convars.puristmode=Tryb purystyczny to opcja po stronie klienta, która
beatrun.convars.quickturnground=Umożliwia szybki obrót za pomocą ataku drugorzędnego na ziemi
beatrun.convars.quickturnhandsonly=Umożliwia szybki obrót tylko w trybie "Rąk biegacza"
beatrun.convars.showspeedometer=Przełącz widoczność prędkościomierza
beatrun.convars.speedometermode=Zmień tryb prędkościomierza
# HUD
beatrun.hud.course=Bieg: %s
@ -111,12 +112,19 @@ beatrun.toolsmenu.hud.hudxpdesc=Pokaż całkowitą liczbę PD w pobliżu swojego
beatrun.toolsmenu.hud.showspeedometer=Pokaż prędkościomierz
beatrun.toolsmenu.hud.showspeedometerdesc=Pokazuje prędkościomierz na interfejsie
beatrun.toolsmenu.hud.speedometermode=Tryb prędkościomierza
beatrun.toolsmenu.hud.speedometermodedesc=0 - km/h, 1 - mph, 2 - hu/h
beatrun.toolsmenu.hud.showSpeedometer=Pokaż prędkościomierz
beatrun.toolsmenu.hud.showSpeedometerDesc=Pokazuje prędkościomierz na interfejsie (ukrycie interfejsu nie wpływa na to ustawienie)
beatrun.toolsmenu.hud.keystrokes=Pokaż naciśnięte klawisze
beatrun.toolsmenu.hud.keystrokesdesc=Pokazuje na interfejsie klawisze, które wciskasz podczas gry
beatrun.toolsmenu.hud.keystrokes_x_offset=Keystrokes X Zrównoważyć
beatrun.toolsmenu.hud.keystrokes_y_offset=Keystrokes Y Zrównoważyć
beatrun.toolsmenu.hud.keystrokes_corner=Keystrokes Wyrównanie
beatrun.toolsmenu.hud.hidden=Ukryj interfejs
beatrun.toolsmenu.hud.hiddendesc=0 - Pokazany\n1 - Tylko poza rozgrywką swobodną\n2 - Ukryty
@ -172,6 +180,9 @@ beatrun.toolsmenu.misc.overdrivempdesc=Umożliwia korzystanie z dopalenia na ser
beatrun.toolsmenu.misc.healthregen=Regeneracja zdrowia
beatrun.toolsmenu.misc.healthregendesc=Włącz/Wyłącz regenerację zdrowia
beatrun.toolsmenu.misc.lerealisticclimbing=Realistyczna wspinaczka
beatrun.toolsmenu.misc.lerealisticclimbingdesc=Nie pozwala na bieganie po ścianach ani wspinaczkę, jeśli nie masz na sobie rąk przystosowanych do biegania.
# Tools Menu Moves Section
beatrun.toolsmenu.moves.name=Ruchy
beatrun.toolsmenu.moves.desc=Ustawienia ruchów
@ -245,6 +256,8 @@ beatrun.checkpoints.countdown1=Gotowy
beatrun.checkpoints.countdown2=Do startu
beatrun.checkpoints.countdown3=START!
beatrun.checkpoints.speedometer=%s km/h
beatrun.checkpoints.speedometer_miles=%s mph
beatrun.checkpoints.speedometer_hammerunits=%s hu/h
# DataTheft
beatrun.datatheft.name=Kradzież danych (%s)

View file

@ -106,8 +106,12 @@ beatrun.toolsmenu.hud.nametagsdesc=Mostrar crachás acima dos nomes de jogadores
beatrun.toolsmenu.hud.hudxp=Mostrar XP
beatrun.toolsmenu.hud.hudxpdesc=Mostrar XP total perto do seu nome
beatrun.toolsmenu.hud.keystrokes=Show Keystrokes
beatrun.toolsmenu.hud.keystrokesdesc=Shows keys that you press
beatrun.toolsmenu.hud.keystrokes=Mostrar Keystrokes
beatrun.toolsmenu.hud.keystrokesdesc=Mostra as teclas que você pressiona
beatrun.toolsmenu.hud.keystrokes_x_offset=Keystrokes X Desvio
beatrun.toolsmenu.hud.keystrokes_y_offset=Keystrokes Y Desvio
beatrun.toolsmenu.hud.keystrokes_corner=Keystrokes Alinhamento
beatrun.toolsmenu.hud.hidden=Esconder a HUD
beatrun.toolsmenu.hud.hiddendesc=0 - Mostrado\n1 - Gamemode apenas\n2 - Escondido
@ -155,6 +159,9 @@ beatrun.toolsmenu.misc.propspawndesc=Permite Jogadores sem privilegios adiminist
beatrun.toolsmenu.misc.overdrivemp=Overdrive No Multijogador
beatrun.toolsmenu.misc.overdrivempdesc=Permite o uso de Overdrive no servidor
beatrun.toolsmenu.misc.lerealisticclimbing=Escalada realista
beatrun.toolsmenu.misc.lerealisticclimbingdesc=Não permite que você corra na parede ou escale, a menos que você esteja com as mãos de corredor.
# Tools Menu Moves Section
beatrun.toolsmenu.moves.name=Movimentos
beatrun.toolsmenu.moves.desc=Configurações de Movimentos
@ -215,7 +222,8 @@ beatrun.checkpoints.countdown1=Preparar
beatrun.checkpoints.countdown2=Apontar
beatrun.checkpoints.countdown3=VAI!
beatrun.checkpoints.speedometer=%s km/h
beatrun.checkpoints.speedometer_miles=%s mph
beatrun.checkpoints.speedometer_hammerunits=%s hu/h
# DataTheft
beatrun.datatheft.name=Roubo de Data (%s)
beatrun.datatheft.start=Roubo de Data! Mate Jogadores para coletar Data, deposite data em bancos

View file

@ -42,6 +42,7 @@ beatrun.convars.puristmode=Режим Purist это клиентский пар
beatrun.convars.quickturnground=Переключает Quickturn будучи на земле
beatrun.convars.quickturnhandsonly=Переключает Quickturn только с "Runner Hands"
beatrun.convars.showspeedometer=Переключает спидометр
beatrun.convars.speedometermode=Меняет режим спидометра
# HUD
beatrun.hud.course=Курс: %s
@ -111,9 +112,16 @@ beatrun.toolsmenu.hud.hudxpdesc=Показывает весь XP в HUD
beatrun.toolsmenu.hud.showspeedometer=Показать спидометр
beatrun.toolsmenu.hud.showspeedometerdesc=Показывает спидометр в HUD
beatrun.toolsmenu.hud.speedometermode=Режим спидометра
beatrun.toolsmenu.hud.speedometermodedesc=0 - км/ч, 1 - миль/ч, 2 - хе
beatrun.toolsmenu.hud.keystrokes=Показывать клавиши
beatrun.toolsmenu.hud.keystrokesdesc=Показывает нажатие клавиш в HUD
beatrun.toolsmenu.hud.keystrokes_x_offset=Keystrokes X Сдвиг
beatrun.toolsmenu.hud.keystrokes_y_offset=Keystrokes Y Сдвиг
beatrun.toolsmenu.hud.keystrokes_corner=Keystrokes Выравнивание
beatrun.toolsmenu.hud.hidden=Скрыть HUD
beatrun.toolsmenu.hud.hiddendesc=0 - Показать\n1 - Только режим и спидометр\n2 - Скрыть полностью
@ -169,6 +177,9 @@ beatrun.toolsmenu.misc.overdrivempdesc=Разрешает использован
beatrun.toolsmenu.misc.healthregen=Регенерация здоровья
beatrun.toolsmenu.misc.healthregendesc=Переключает регенерацию здоровья
beatrun.toolsmenu.misc.lerealisticclimbing=Реалистичный паркур
beatrun.toolsmenu.misc.lerealisticclimbingdesc=Не даёт бегать по стенам и подниматься за края, если не взяты в руки... бегающие руки.
# Tools Menu Moves Section
beatrun.toolsmenu.moves.name=Движения
beatrun.toolsmenu.moves.desc=Настройки движений
@ -242,6 +253,9 @@ beatrun.checkpoints.countdown1=Раз
beatrun.checkpoints.countdown2=Два
beatrun.checkpoints.countdown3=ПОШЁЛ!
beatrun.checkpoints.speedometer=%s км/ч
beatrun.checkpoints.speedometer_miles=%s миля/ч
beatrun.checkpoints.speedometer_hammerunits=%s хе
# хе/ч - ну и бред)
# DataTheft
beatrun.datatheft.name=Data Theft (%s)

View file

@ -106,8 +106,12 @@ beatrun.toolsmenu.hud.nametagsdesc=Oyuncuların üzerindeki ad etiketlerini aça
beatrun.toolsmenu.hud.hudxp=Arayüz XP'yi göster
beatrun.toolsmenu.hud.hudxpdesc=Takma adın yanında toplam XP'yi göster
beatrun.toolsmenu.hud.keystrokes=Show Keystrokes
beatrun.toolsmenu.hud.keystrokesdesc=Shows keys that you press
beatrun.toolsmenu.hud.keystrokes=Göstermek Keystrokes
beatrun.toolsmenu.hud.keystrokesdesc=Bastığınız tuşları gösterir
beatrun.toolsmenu.hud.keystrokes_x_offset=Keystrokes X Telafi etmek
beatrun.toolsmenu.hud.keystrokes_y_offset=Keystrokes Y Telafi etmek
beatrun.toolsmenu.hud.keystrokes_corner=Keystrokes Hizalama
beatrun.toolsmenu.hud.hidden=Arayüzü gizle
beatrun.toolsmenu.hud.hiddendesc=0 - Gösterilen\n1 - Yalnızca oyun\nmodu 2 - Gizli
@ -155,6 +159,9 @@ beatrun.toolsmenu.misc.propspawndesc=Yönetici hakları olmayan oyuncuların nes
beatrun.toolsmenu.misc.overdrivemp=Çok Oyunculuda Aşım
beatrun.toolsmenu.misc.overdrivempdesc=Sunucuda aşım kullanımına izin verir
beatrun.toolsmenu.misc.lerealisticclimbing=Gerçekçi tırmanma
beatrun.toolsmenu.misc.lerealisticclimbingdesc=Koşu eldivenlerinizi takmadığınız sürece duvar koşusu yapmanıza veya tırmanmanıza izin vermez.
# Tools Menu Moves Section
beatrun.toolsmenu.moves.name=Hareketler
beatrun.toolsmenu.moves.desc=Hareket Ayarları

View file

@ -110,8 +110,12 @@ beatrun.toolsmenu.hud.hudxpdesc=Показує весь XP в HUD
beatrun.toolsmenu.hud.showSpeedometer=Показувати швидкість (спідометр)
beatrun.toolsmenu.hud.showSpeedometerDesc=Показує спідометр на HUD (приховування HUD не впливає на видимість)
beatrun.toolsmenu.hud.keystrokes=Show Keystrokes
beatrun.toolsmenu.hud.keystrokesdesc=Shows keys that you press
beatrun.toolsmenu.hud.keystrokes=Показати Keystrokes
beatrun.toolsmenu.hud.keystrokesdesc=Показує клавіші, які ви натискаєте
beatrun.toolsmenu.hud.keystrokes_x_offset=Keystrokes X Зсув
beatrun.toolsmenu.hud.keystrokes_y_offset=Keystrokes Y Зсув
beatrun.toolsmenu.hud.keystrokes_corner=Keystrokes Вирівнювання
beatrun.toolsmenu.hud.hidden=Приховати HUD
beatrun.toolsmenu.hud.hiddendesc=0 - Показати\n1 - Тільки режим\n2 - Приховати повністю
@ -165,6 +169,9 @@ beatrun.toolsmenu.misc.overdrivempdesc=Дозволяє використання
beatrun.toolsmenu.misc.healthregen=Регенерація здоров'я
beatrun.toolsmenu.misc.healthregendesc=Перемикає регенерацію здоров'я
beatrun.toolsmenu.misc.lerealisticclimbing=Реалістичний паркур
beatrun.toolsmenu.misc.lerealisticclimbingdesc=Не дає бігати по стінах і підніматися за краї, якщо не взяті в руки... руки, що бігають.
# Tools Menu Moves Section
beatrun.toolsmenu.moves.name=Рухи
beatrun.toolsmenu.moves.desc=Налаштування рухів

View file

@ -670,19 +670,20 @@ function BodyAnimCalcView2(ply, pos, angles, fov)
end
if not ply:ShouldDrawLocalPlayer() and not ply:InVehicle() then
local ang = ply:GetAngles()
local ang = Vector(view.angles:Unpack())
local FT = RealFrameTime()
ang[1] = 0
ang[3] = 0
local MEAng = math.Truncate(ang.y, 2)
local MEAng = ang.y
local target = not lockang and MEAng or ply.OrigEyeAng.y
viewtiltlerp.y = math.ApproachAngle(viewtiltlerp.y, target, FT * (1 + math.abs(math.AngleDifference(viewtiltlerp.y, target)) * 5))
viewtiltlerp.y = math.ApproachAngle(viewtiltlerp.y, target, FrameTime() * (1 + math.abs(math.AngleDifference(viewtiltlerp.y, target)) * 5))
local MEAngDiff = math.AngleDifference(viewtiltlerp.y, not lockang and lastangy or ply.OrigEyeAng.y) * 0.15
ViewTiltAngle = Angle(0, 0, MEAngDiff + viewtiltlerp.z)
view.angles:Add(ViewTiltAngle)
ply:SetNoDraw(false)

View file

@ -20,8 +20,17 @@ local function GetFormattedKey(bind)
end
end
local Beatrun_HUDHidden = GetConVar("Beatrun_HUDHidden")
local xoff = 0
local yoff = 0
local Beatrun_KeystrokesXOffset = CreateClientConVar("Beatrun_KeystrokesXOffset", 0, true, true)
local Beatrun_KeystrokesYOffset = CreateClientConVar("Beatrun_KeystrokesYOffset", 0, true, true)
local Beatrun_KeystrokesCorner = CreateClientConVar("Beatrun_KeystrokesCorner", 0, true, true)
local function ShowKeyStrokes()
if showKeystrokes:GetBool() and GetConVar("Beatrun_HUDHidden"):GetInt() == 0 then
if showKeystrokes:GetBool() and Beatrun_HUDHidden:GetInt() == 0 then
local forward = GetFormattedKey("+forward")
local back = GetFormattedKey("+back")
local moveleft = GetFormattedKey("+moveleft")
@ -34,114 +43,134 @@ local function ShowKeyStrokes()
local attack = GetFormattedKey("+attack")
local attack2 = GetFormattedKey("+attack2")
if LocalPlayer():KeyDown(IN_FORWARD) then
surface.SetDrawColor(color_white_t)
surface.DrawRect(size, 0, size, size)
draw.SimpleText(forward, "BeatrunHUD", size + 10, size - 30, color_black)
else
surface.SetDrawColor(color_black_t)
surface.DrawRect(size, 0, size, size)
draw.SimpleText(forward, "BeatrunHUD", size + 10, size - 30, color_white)
local h = ScrH()
local w = ScrW()
local lp = LocalPlayer()
if Beatrun_KeystrokesCorner:GetInt() == 0 then
xoff = Beatrun_KeystrokesXOffset:GetFloat()
yoff = Beatrun_KeystrokesYOffset:GetFloat()
elseif Beatrun_KeystrokesCorner:GetInt() == 1 then
xoff = w - Beatrun_KeystrokesXOffset:GetFloat() - size * 5
yoff = Beatrun_KeystrokesYOffset:GetFloat()
elseif Beatrun_KeystrokesCorner:GetInt() == 2 then
xoff = Beatrun_KeystrokesXOffset:GetFloat()
yoff = h - Beatrun_KeystrokesYOffset:GetFloat() - size * 5
elseif Beatrun_KeystrokesCorner:GetInt() == 3 then
xoff = w - Beatrun_KeystrokesXOffset:GetFloat() - size * 5
yoff = h - Beatrun_KeystrokesYOffset:GetFloat() - size * 5
end
if LocalPlayer():KeyDown(IN_USE) then
if lp:KeyDown(IN_FORWARD) then
surface.SetDrawColor(color_white_t)
surface.DrawRect(size * 2, 0, size, size)
draw.SimpleText(use, "BeatrunHUD", size + 48, size - 30, color_black)
surface.DrawRect(xoff + size, yoff + 0, size, size)
draw.SimpleText(forward, "BeatrunHUD", xoff + size + 10, yoff + size - 30, color_black)
else
surface.SetDrawColor(color_black_t)
surface.DrawRect(size * 2, 0, size, size)
draw.SimpleText(use, "BeatrunHUD", size + 48, size - 30, color_white)
surface.DrawRect(xoff + size, yoff + 0, size, size)
draw.SimpleText(forward, "BeatrunHUD", xoff + size + 10, yoff + size - 30, color_white)
end
if LocalPlayer():KeyDown(IN_RELOAD) then
if lp:KeyDown(IN_USE) then
surface.SetDrawColor(color_white_t)
surface.DrawRect(size * 3, 0, size, size)
draw.SimpleText(reload, "BeatrunHUD", size * 3 + 12, size - 30, color_black)
surface.DrawRect(xoff + size * 2, yoff + 0, size, size)
draw.SimpleText(use, "BeatrunHUD", xoff + size + 48, yoff + size - 30, color_black)
else
surface.SetDrawColor(color_black_t)
surface.DrawRect(size * 3, 0, size, size)
draw.SimpleText(reload, "BeatrunHUD", size * 3 + 12, size - 30, color_white)
surface.DrawRect(xoff + size * 2, yoff + 0, size, size)
draw.SimpleText(use, "BeatrunHUD", xoff + size + 48, yoff + size - 30, color_white)
end
if LocalPlayer():KeyDown(IN_MOVELEFT) then
if lp:KeyDown(IN_RELOAD) then
surface.SetDrawColor(color_white_t)
surface.DrawRect(0, size, size, size)
draw.SimpleText(moveleft, "BeatrunHUD", size - 23, size + 8, color_black)
surface.DrawRect(xoff + size * 3, yoff + 0, size, size)
draw.SimpleText(reload, "BeatrunHUD", xoff + size * 3 + 12, yoff + size - 30, color_black)
else
surface.SetDrawColor(color_black_t)
surface.DrawRect(0, size, size, size)
draw.SimpleText(moveleft, "BeatrunHUD", size - 23, size + 8, color_white)
surface.DrawRect(xoff + size * 3, yoff + 0, size, size)
draw.SimpleText(reload, "BeatrunHUD", xoff + size * 3 + 12, yoff + size - 30, color_white)
end
if LocalPlayer():KeyDown(IN_BACK) then
if lp:KeyDown(IN_MOVELEFT) then
surface.SetDrawColor(color_white_t)
surface.DrawRect(size, size, size, size)
draw.SimpleText(back, "BeatrunHUD", size + 12, size + 8, color_black)
surface.DrawRect(xoff + 0, yoff + size, size, size)
draw.SimpleText(moveleft, "BeatrunHUD", xoff + size - 23, yoff + size + 8, color_black)
else
surface.SetDrawColor(color_black_t)
surface.DrawRect(size, size, size, size)
draw.SimpleText(back, "BeatrunHUD", size + 12, size + 8, color_white)
surface.DrawRect(xoff + 0, yoff + size, size, size)
draw.SimpleText(moveleft, "BeatrunHUD", xoff + size - 23, yoff + size + 8, color_white)
end
if LocalPlayer():KeyDown(IN_MOVERIGHT) then
if lp:KeyDown(IN_BACK) then
surface.SetDrawColor(color_white_t)
surface.DrawRect(size * 2, size, size, size)
draw.SimpleText(moveright, "BeatrunHUD", size + 48, size + 8, color_black)
surface.DrawRect(xoff + size, yoff + size, size, size)
draw.SimpleText(back, "BeatrunHUD", xoff + size + 12, yoff + size + 8, color_black)
else
surface.SetDrawColor(color_black_t)
surface.DrawRect(size * 2, size, size, size)
draw.SimpleText(moveright, "BeatrunHUD", size + 48, size + 8, color_white)
surface.DrawRect(xoff + size, yoff + size, size, size)
draw.SimpleText(back, "BeatrunHUD", xoff + size + 12, yoff + size + 8, color_white)
end
if LocalPlayer():KeyDown(IN_JUMP) then
if lp:KeyDown(IN_MOVERIGHT) then
surface.SetDrawColor(color_white_t)
surface.DrawRect(0, size * 2, size * 3, size)
draw.SimpleText(jump, "BeatrunHUD", 28, size * 2 + 8, color_black)
surface.DrawRect(xoff + size * 2, yoff + size, size, size)
draw.SimpleText(moveright, "BeatrunHUD", xoff + size + 48, yoff + size + 8, color_black)
else
surface.SetDrawColor(color_black_t)
surface.DrawRect(0, size * 2, size * 3, size)
draw.SimpleText(jump, "BeatrunHUD", 28, size * 2 + 8, color_white)
surface.DrawRect(xoff + size * 2, yoff + size, size, size)
draw.SimpleText(moveright, "BeatrunHUD", xoff + size + 48, yoff + size + 8, color_white)
end
if LocalPlayer():KeyDown(IN_SPEED) then
if lp:KeyDown(IN_JUMP) then
surface.SetDrawColor(color_white_t)
surface.DrawRect(0, size * 3, size * 3, size)
draw.SimpleText(speed, "BeatrunHUD", 28, size * 3 + 8, color_black)
surface.DrawRect(xoff + 0 , yoff + size * 2, size * 3, size)
draw.SimpleText(jump, "BeatrunHUD", xoff + 25, yoff + size * 2 + 8, color_black)
else
surface.SetDrawColor(color_black_t)
surface.DrawRect(0, size * 3, size * 3, size)
draw.SimpleText(speed, "BeatrunHUD", 28, size * 3 + 8, color_white)
surface.DrawRect(xoff + 0, yoff + size * 2, size * 3, size)
draw.SimpleText(jump, "BeatrunHUD", xoff + 25, yoff + size * 2 + 8, color_white)
end
if LocalPlayer():KeyDown(IN_DUCK) then
if lp:KeyDown(IN_SPEED) then
surface.SetDrawColor(color_white_t)
surface.DrawRect(0, size * 4, size * 3, size)
draw.SimpleText(duck, "BeatrunHUD", 32, size * 4 + 8, color_black)
surface.DrawRect(xoff + 0, yoff + size * 3, size * 3, size)
draw.SimpleText(speed, "BeatrunHUD", xoff + 25, yoff + size * 3 + 8, color_black)
else
surface.SetDrawColor(color_black_t)
surface.DrawRect(0, size * 4, size * 3, size)
draw.SimpleText(duck, "BeatrunHUD", 32, size * 4 + 8, color_white)
surface.DrawRect(xoff + 0, yoff + size * 3, size * 3, size)
draw.SimpleText(speed, "BeatrunHUD", xoff + 25, yoff + size * 3 + 8, color_white)
end
if LocalPlayer():KeyDown(IN_ATTACK) then
if lp:KeyDown(IN_DUCK) then
surface.SetDrawColor(color_white_t)
surface.DrawRect(size * 3, size, size * 2, size)
draw.SimpleText(attack, "BeatrunHUD", size + 87, size + 8, color_black)
surface.DrawRect(xoff + 0, yoff + size * 4, size * 3, size)
draw.SimpleText(duck, "BeatrunHUD", xoff + 32, yoff + size * 4 + 8, color_black)
else
surface.SetDrawColor(color_black_t)
surface.DrawRect(size * 3, size, size * 2, size)
draw.SimpleText(attack, "BeatrunHUD", size + 87, size + 8, color_white)
surface.DrawRect(xoff + 0, yoff + size * 4, size * 3, size)
draw.SimpleText(duck, "BeatrunHUD", xoff + 32, yoff + size * 4 + 8, color_white)
end
if LocalPlayer():KeyDown(IN_ATTACK2) then
if lp:KeyDown(IN_ATTACK) then
surface.SetDrawColor(color_white_t)
surface.DrawRect(size * 3, size * 2, size * 2, size)
draw.SimpleText(attack2, "BeatrunHUD", size + 86, size * 2 + 8, color_black)
surface.DrawRect(xoff + size * 3, yoff + size, size * 2, size)
draw.SimpleText(attack, "BeatrunHUD", xoff + size + 87, yoff + size + 8, color_black)
else
surface.SetDrawColor(color_black_t)
surface.DrawRect(size * 3, size * 2, size * 2, size)
draw.SimpleText(attack2, "BeatrunHUD", size + 86, size * 2 + 8, color_white)
surface.DrawRect(xoff + size * 3, yoff + size, size * 2, size)
draw.SimpleText(attack, "BeatrunHUD", xoff + size + 87, yoff + size + 8, color_white)
end
if lp:KeyDown(IN_ATTACK2) then
surface.SetDrawColor(color_white_t)
surface.DrawRect(xoff + size * 3, yoff + size * 2, size * 2, size)
draw.SimpleText(attack2, "BeatrunHUD", xoff + size + 86, yoff + size * 2 + 8, color_black)
else
surface.SetDrawColor(color_black_t)
surface.DrawRect(xoff + size * 3, yoff + size * 2, size * 2, size)
draw.SimpleText(attack2, "BeatrunHUD", xoff + size + 86, yoff + size * 2 + 8, color_white)
end
end
end

View file

@ -170,6 +170,13 @@ hook.Add("PopulateToolMenu", "Beatrun_ToolMenu", function()
panel:CheckBox("#beatrun.toolsmenu.hud.keystrokes", "Beatrun_ShowKeystrokes")
panel:ControlHelp("#beatrun.toolsmenu.hud.keystrokesdesc")
panel:NumSlider("#beatrun.toolsmenu.hud.keystrokes_x_offset", "Beatrun_KeystrokesXOffset", 0, ScrW(), 0)
panel:NumSlider("#beatrun.toolsmenu.hud.keystrokes_y_offset", "Beatrun_KeystrokesYOffset", 0, ScrH(), 0)
panel:NumSlider("#beatrun.toolsmenu.hud.keystrokes_corner", "Beatrun_KeystrokesCorner", 0, 3, 0)
panel:NumSlider("#beatrun.toolsmenu.hud.speedometermode", "Beatrun_SpeedometerMode", 0, 2, 0)
panel:ControlHelp("#beatrun.toolsmenu.hud.speedometermodedesc")
panel:NumSlider("#beatrun.toolsmenu.hud.hidden", "Beatrun_HUDHidden", 0, 2, 0)
panel:ControlHelp(language.GetPhrase("beatrun.toolsmenu.hud.hiddendesc"))
@ -267,6 +274,11 @@ hook.Add("PopulateToolMenu", "Beatrun_ToolMenu", function()
panel:CheckBox("#beatrun.toolsmenu.misc.healthregen", "Beatrun_HealthRegen")
panel:ControlHelp("#beatrun.toolsmenu.misc.healthregendesc")
panel:CheckBox("#beatrun.toolsmenu.misc.lerealisticclimbing", "Beatrun_LeRealisticClimbing")
panel:ControlHelp("#beatrun.toolsmenu.misc.lerealisticclimbingdesc")
end)
spawnmenu.AddToolMenuOption("Beatrun", "Server", "beatrun_moves", "#beatrun.toolsmenu.moves.name", "", "", function(panel)

View file

@ -20,6 +20,7 @@ local timecolor = color_neutral
if CLIENT then
CreateClientConVar("Beatrun_ShowSpeedometer", 1, true, true, language.GetPhrase("#beatrun.convars.showspeedometer"), 0, 1)
CreateClientConVar("Beatrun_HUDStats", "0", true, false, "", 0, 1)
CreateClientConVar("Beatrun_SpeedometerMode", 0, true, true, language.GetPhrase("#beatrun.convars.showspeedometer"), 0, 2)
end
if SERVER then
@ -247,13 +248,30 @@ function CourseHUD()
end
if GetConVar("Beatrun_ShowSpeedometer"):GetBool() and GetConVar("Beatrun_HUDHidden"):GetInt() ~= 2 then
local speed = math.Round(ply:GetVelocity():Length() * 0.06858125)
local speed = 0
local mode = GetConVar("Beatrun_SpeedometerMode"):GetInt()
if mode == 0 then // km/h
speed = math.Round(ply:GetVelocity():Length() * 0.06858125)
elseif mode == 1 then // mph
speed = math.Round(ply:GetVelocity():Length() * 0.11037055)
elseif mode == 2 then // hu/h
speed = math.Round(ply:GetVelocity():Length())
end
if speed < 10 then
speed = "0" .. speed
end
text = language.GetPhrase("beatrun.checkpoints.speedometer"):format(speed)
local text = ""
if mode == 0 then // km/h
text = language.GetPhrase("beatrun.checkpoints.speedometer"):format(speed)
elseif mode == 1 then // mph
text = language.GetPhrase("beatrun.checkpoints.speedometer_miles"):format(speed)
elseif mode == 2 then // hu/h
text = language.GetPhrase("beatrun.checkpoints.speedometer_hammerunits"):format(speed)
end
local w, _ = surface.GetTextSize(text)
w = w or 0

View file

@ -398,7 +398,11 @@ end
hook.Add("StartCommand", "ClimbingRemoveInput", ClimbingRemoveInput)
local realistic = CreateConVar("Beatrun_LeRealisticClimbing", "0", FCVAR_ARCHIVE, "Makes you be able to climb and wallrun only if you have runnerhands equipped.")
local function ClimbingCheck(ply, mv, cmd)
if realistic:GetBool() and not ply:UsingRH() then return end
local mins, maxs = ply:GetHull()
if not ply.ClimbingTrace then

View file

@ -2,6 +2,10 @@ if CLIENT then
local disable_grapple = CreateClientConVar("Beatrun_DisableGrapple", 0, true, true, language.GetPhrase("beatrun.convars.disablegrapple"), 0, 1)
local circle = Material("circlesmooth.png", "nocull smooth")
local brcross = Material("brcross.png", "nocull smooth")
local rotate_timer = 0
local scale = 1
hook.Add("HUDPaint", "grappleicon", function()
local ply = LocalPlayer()
@ -26,8 +30,8 @@ if CLIENT then
cam.End3D()
surface.SetDrawColor(255, 255, 255)
surface.SetMaterial(circle)
surface.DrawTexturedRect(w2s.x - SScaleX(4), w2s.y - SScaleY(4), SScaleX(8), SScaleY(8))
surface.SetMaterial(brcross)
surface.DrawTexturedRectRotated(w2s.x, w2s.y, SScaleX(32 * scale), SScaleY(32 * scale), math.fmod(rotate_timer * 100, 360))
return
end
@ -37,14 +41,18 @@ if CLIENT then
local trout = ply:GetEyeTrace()
local dist = trout.HitPos:DistToSqr(ply:GetPos())
if trout.Fraction > 0 and dist < 2750000 and dist > 90000 then
if not trout.HitSky and trout.Fraction > 0 and dist < 2750000 and dist > 90000 then
cam.Start3D()
local w2s = trout.HitPos:ToScreen()
cam.End3D()
scale = math.Remap(dist, 90000, 2750000, 1.3, 0.7)
rotate_timer = rotate_timer + FrameTime()
surface.SetDrawColor(255, 255, 255)
surface.SetMaterial(circle)
surface.DrawTexturedRect(w2s.x - SScaleX(4), w2s.y - SScaleY(4), SScaleX(8), SScaleY(8))
surface.SetMaterial(brcross)
surface.DrawTexturedRectRotated(w2s.x, w2s.y, SScaleX(32 * scale), SScaleY(32 * scale), math.fmod(rotate_timer * 100, 360))
end
end)
end
@ -72,7 +80,7 @@ hook.Add("SetupMove", "Grapple", function(ply, mv, cmd)
local trout = ply:GetEyeTrace()
local dist = trout.HitPos:DistToSqr(mv:GetOrigin())
if trout.Fraction > 0 and dist < 2750000 and dist > 90000 and mv:KeyPressed(IN_JUMP) then
if not trout.HitSky and trout.Fraction > 0 and dist < 2750000 and dist > 90000 and mv:KeyPressed(IN_JUMP) then
local vel = mv:GetVelocity()
vel.z = -math.abs(vel.z)
@ -156,7 +164,10 @@ hook.Add("SetupMove", "Grapple", function(ply, mv, cmd)
ent:SetNWVector("gpos", ent:GetPos())
local delta = ent:GetNWVector("gpos", Vector(0,0,0)) - ent:GetNWVector("glastpos", Vector(0, 0, 0))
ply:SetGrapplePos(ply:GetGrapplePos() + delta)
if game.SinglePlayer() then // this is pretty much impossible to predict, so lets keep it only for sp
ply:SetGrapplePos(ply:GetGrapplePos() + delta)
end
end
if mv:KeyDown(IN_ATTACK) and mv:GetOrigin().z < ply:GetGrapplePos().z - 64 then

View file

@ -342,7 +342,11 @@ end
-- local upcheck = Vector(0, 0, 75)
local realistic = GetConVar("Beatrun_LeRealisticClimbing")
local function WallrunningCheck(ply, mv, cmd)
if realistic:GetBool() and not ply:UsingRH() then return end
if not ply.WallrunTrace then
ply.WallrunTrace = {}
ply.WallrunTraceOut = {}

View file

@ -1,4 +1,4 @@
VERSION_GLOBAL = "1.0.22"
VERSION_GLOBAL = "1.0.25"
VERSION_LATEST = ""
VERSION_CHECKED = false

View file

@ -1 +1 @@
1.0.22
1.0.25