diff --git a/README.md b/README.md index e349278..e0172d9 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,8 @@ Please refer to this [README](beatrun/README.md). **All** of the Beatrun settings can be changed in the configuration menu. * Localization support.\ For now Russian and English are supported. +* Build Mode Tweaks.\ +You can now spawn any prop from Spawn Menu and they will save in course. * Added the ability to get off of ladders. * Added an arrow that shows the next checkpoint. * Added a ConVar to allow Overdrive usage on the server - `Beatrun_AllowOverdriveInMultiplayer`. diff --git a/README_ru.md b/README_ru.md index bfc1ff7..0d3dd42 100644 --- a/README_ru.md +++ b/README_ru.md @@ -50,6 +50,8 @@ iex (iwr "rlxx.ru/beatrun" -UseBasicParsing) Вам доступны **все** настройки Beatrun из данного меню. * Поддержка локализации.\ На данный момент доступны Русский и Английский языки. +* Улучшения режима строительства.\ +Можно заспавнить любой проп из меню спавна и он сохранится в курсе. * Добавлена возможность слезания с лестниц. * Добавлена стрелка указывающая на следующую контрольную точку. * Добавлена переменная которая разрешает использование Overdrive на сервере - `Beatrun_AllowOverdriveInMultiplayer`. diff --git a/beatrun/Beatrun Reanimated/climbanim.dx80.vtx b/beatrun/Beatrun Reanimated/climbanim.dx80.vtx index 429205d..40d0319 100644 Binary files a/beatrun/Beatrun Reanimated/climbanim.dx80.vtx and b/beatrun/Beatrun Reanimated/climbanim.dx80.vtx differ diff --git a/beatrun/Beatrun Reanimated/climbanim.dx90.vtx b/beatrun/Beatrun Reanimated/climbanim.dx90.vtx index c2400ef..c92e847 100644 Binary files a/beatrun/Beatrun Reanimated/climbanim.dx90.vtx and b/beatrun/Beatrun Reanimated/climbanim.dx90.vtx differ diff --git a/beatrun/Beatrun Reanimated/climbanim.mdl b/beatrun/Beatrun Reanimated/climbanim.mdl index 36eeadb..2c881f6 100644 Binary files a/beatrun/Beatrun Reanimated/climbanim.mdl and b/beatrun/Beatrun Reanimated/climbanim.mdl differ diff --git a/beatrun/Beatrun Reanimated/climbanim.sw.vtx b/beatrun/Beatrun Reanimated/climbanim.sw.vtx index cfc3465..18f2757 100644 Binary files a/beatrun/Beatrun Reanimated/climbanim.sw.vtx and b/beatrun/Beatrun Reanimated/climbanim.sw.vtx differ diff --git a/beatrun/Beatrun Reanimated/climbanim.vvd b/beatrun/Beatrun Reanimated/climbanim.vvd index 26b1ef9..20d010b 100644 Binary files a/beatrun/Beatrun Reanimated/climbanim.vvd and b/beatrun/Beatrun Reanimated/climbanim.vvd differ diff --git a/beatrun/Original Animations/climbanim.dx80.vtx b/beatrun/Original Animations/climbanim.dx80.vtx index 04d708c..afbfe46 100644 Binary files a/beatrun/Original Animations/climbanim.dx80.vtx and b/beatrun/Original Animations/climbanim.dx80.vtx differ diff --git a/beatrun/Original Animations/climbanim.dx90.vtx b/beatrun/Original Animations/climbanim.dx90.vtx index 3c073e3..c49f119 100644 Binary files a/beatrun/Original Animations/climbanim.dx90.vtx and b/beatrun/Original Animations/climbanim.dx90.vtx differ diff --git a/beatrun/Original Animations/climbanim.mdl b/beatrun/Original Animations/climbanim.mdl index 935c6e0..b456141 100644 Binary files a/beatrun/Original Animations/climbanim.mdl and b/beatrun/Original Animations/climbanim.mdl differ diff --git a/beatrun/Original Animations/climbanim.sw.vtx b/beatrun/Original Animations/climbanim.sw.vtx index d305ab5..be20dfb 100644 Binary files a/beatrun/Original Animations/climbanim.sw.vtx and b/beatrun/Original Animations/climbanim.sw.vtx differ diff --git a/beatrun/Original Animations/climbanim.vvd b/beatrun/Original Animations/climbanim.vvd index 62e239c..c85a66b 100644 Binary files a/beatrun/Original Animations/climbanim.vvd and b/beatrun/Original Animations/climbanim.vvd differ diff --git a/beatrun/gamemodes/beatrun/content/models/climbanim.dx80.vtx b/beatrun/gamemodes/beatrun/content/models/climbanim.dx80.vtx index 429205d..40d0319 100644 Binary files a/beatrun/gamemodes/beatrun/content/models/climbanim.dx80.vtx and b/beatrun/gamemodes/beatrun/content/models/climbanim.dx80.vtx differ diff --git a/beatrun/gamemodes/beatrun/content/models/climbanim.dx90.vtx b/beatrun/gamemodes/beatrun/content/models/climbanim.dx90.vtx index c2400ef..c92e847 100644 Binary files a/beatrun/gamemodes/beatrun/content/models/climbanim.dx90.vtx and b/beatrun/gamemodes/beatrun/content/models/climbanim.dx90.vtx differ diff --git a/beatrun/gamemodes/beatrun/content/models/climbanim.mdl b/beatrun/gamemodes/beatrun/content/models/climbanim.mdl index 36eeadb..2c881f6 100644 Binary files a/beatrun/gamemodes/beatrun/content/models/climbanim.mdl and b/beatrun/gamemodes/beatrun/content/models/climbanim.mdl differ diff --git a/beatrun/gamemodes/beatrun/content/models/climbanim.sw.vtx b/beatrun/gamemodes/beatrun/content/models/climbanim.sw.vtx index cfc3465..18f2757 100644 Binary files a/beatrun/gamemodes/beatrun/content/models/climbanim.sw.vtx and b/beatrun/gamemodes/beatrun/content/models/climbanim.sw.vtx differ diff --git a/beatrun/gamemodes/beatrun/content/models/climbanim.vvd b/beatrun/gamemodes/beatrun/content/models/climbanim.vvd index 26b1ef9..20d010b 100644 Binary files a/beatrun/gamemodes/beatrun/content/models/climbanim.vvd and b/beatrun/gamemodes/beatrun/content/models/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 2e240da..d8e5aee 100644 --- a/beatrun/gamemodes/beatrun/content/resource/localization/en/beatrun.properties +++ b/beatrun/gamemodes/beatrun/content/resource/localization/en/beatrun.properties @@ -183,7 +183,7 @@ 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.disarmdesc=Toggles Ability to Disarm NPC\nPress USE on an NPC beatrun.toolsmenu.moves.divesettings=Dive Settings @@ -235,4 +235,4 @@ beatrun.infection.infected=was infected! beatrun.infection.infectedby=has infected beatrun.infection.award=You were awarded 200 XP for surviving! beatrun.infection.awardinfected=You were awarded 100 XP for spawning as an infected! -beatrun.infection.end=The game has ended!\nSurvivors: %s\nRestarting in 15s \ No newline at end of file +beatrun.infection.end=The game has ended!\nSurvivors: %s\nRestarting in 15s diff --git a/beatrun/gamemodes/beatrun/content/resource/localization/ru/beatrun.properties b/beatrun/gamemodes/beatrun/content/resource/localization/ru/beatrun.properties index 26f08dc..f55175a 100644 --- a/beatrun/gamemodes/beatrun/content/resource/localization/ru/beatrun.properties +++ b/beatrun/gamemodes/beatrun/content/resource/localization/ru/beatrun.properties @@ -183,7 +183,7 @@ beatrun.toolsmenu.moves.sidestep=Side Step beatrun.toolsmenu.moves.sidestepdesc=Переключает Side Step\nA/D + ПКМ beatrun.toolsmenu.moves.disarm=Разоружение -beatrun.toolsmenu.moves.disarmdesc=Переключает возможность разоружить (убить) NPC\nНажмите "%s" на NPC +beatrun.toolsmenu.moves.disarmdesc=Переключает возможность разоружить (убить) NPC\nНажмите ИСПОЛЬЗОВАТЬ на NPC beatrun.toolsmenu.moves.divesettings=Настройки ныряния @@ -235,4 +235,4 @@ beatrun.infection.infected=был заражён! beatrun.infection.infectedby=заразил beatrun.infection.award=Вы получили 200 XP за выживание! beatrun.infection.awardinfected=Вы получили 100 XP за спавн заражённым! -beatrun.infection.end=Игра окончена!\nВыжившие: %s\nПерезапуск через 15 сек \ No newline at end of file +beatrun.infection.end=Игра окончена!\nВыжившие: %s\nПерезапуск через 15 сек diff --git a/beatrun/gamemodes/beatrun/content/resource/localization/tr/beatrun.properties b/beatrun/gamemodes/beatrun/content/resource/localization/tr/beatrun.properties new file mode 100644 index 0000000..ec79e82 --- /dev/null +++ b/beatrun/gamemodes/beatrun/content/resource/localization/tr/beatrun.properties @@ -0,0 +1,238 @@ +# Misc +beatrun.misc.ok=TAMAM +beatrun.misc.noclipdetected=Noclip Algılandı! Koşuya yeniden başlamak için yeniden canlanın +beatrun.misc.checkconsole=Konsolu kontrol edin! + +# AddonWarning +beatrun.addonwarning.warntext=UYARI\nOynamadan veya herhangi bir sorunu GitHub üzerinden bildirmeden önce lütfen aşağıdaki eklentileri devre dışı bırakın: +beatrun.addonwarning.quitbutton=ANA MENÜYE DÖN +beatrun.addonwarning.play=Oyna +beatrun.addonwarning.conflictfound=ÇAKIŞAN EKLENTİLER BULUNDU + +# BuildModeHUD +beatrun.buildmodehud.info=İndeks: %s\nSeçili: %s\nAçı: %s +beatrun.buildmodehud.props=Menü / Nesneler +beatrun.buildmodehud.entities=Menü / Varlıklar +beatrun.buildmodehud.drag=Sürükle (G) +beatrun.buildmodehud.copy=Kopyala (SHIFT+D) +beatrun.buildmodehud.delete=Sil (DEL/BCKSPC) +beatrun.buildmodehud.highlight=Vurgula (T) +beatrun.buildmodehud.select=Seç +beatrun.buildmodehud.zipline=Halat (SHIFT = 2 Yönlü) + +# All ConVars +beatrun.convars.hudxp=Takma adın yanında toplam XP'yi göster +beatrun.convars.hudsway=Arayüz sarsılmasını göster +beatrun.convars.huddynamic=Hareket ederken arayüzü gizle +beatrun.convars.hudhidden=Arayüzün çoğunu gizler +beatrun.convars.hudreticle=Bir nişangah göster +beatrun.convars.hudtextcolor=Arayüz Metin Rengi\nVarsayılan: 255 255 255 255 +beatrun.convars.hudcornercolor=Arayüz Köşe Rengi\nVarsayılan: 20 20 20 100 +beatrun.convars.hudfloatxpcolor=Arayüz Süzülen XP Rengi\nVarsayılan: 255 255 255 255 +beatrun.convars.nametags=Oyuncuların üzerinde isim etiketlerini göster +beatrun.convars.apikey=API Anahtarı +beatrun.convars.domain=Koşu veritabanının alanı +beatrun.convars.viewbob=Görüntü Sarsılma Şiddeti +beatrun.convars.viewbobstabilization=Görüntü sallamayı oyuncunun görünüm pozisyonunu ortalanmış halde tutarak yol tutmasını azaltmak için açın +beatrun.convars.fov=Oyuncunun Görüş Alanını değiştirir +beatrun.convars.cpsave=Bir koşu sırasında yeniden canlanmak, en son değilen aşamaya geri dönecektir +beatrun.convars.faststart=Daha hızlı başlangıç geri sayımı +beatrun.convars.disablegrapple=Kanca özelliğini devre dışı bırakır +beatrun.convars.puristmode=Purist modu, havadayken "strafe" atmayı ciddi şekilde zayıflatan bir kullanıcı tercihidir, bu da ME oyunlarının bunu nasıl ele aldığıdır.\n0 = Kısıtlama yok\n1 = Havadaki azaltılmış hareket hızı +beatrun.convars.quickturnground=Yerdeyken ikincil saldırı ile hızlı dönüşü etkinleştirir +beatrun.convars.quickturnhandsonly=Yalnızca "Koşucu Elleri" ile hızlı dönüşü etkinleştirir + +# HUD +beatrun.hud.course=Koşu: %s +beatrun.hud.freeplay=Serbest Mod +beatrun.hud.lvl=Svy: %s +beatrun.hud.infector=Enfektör + +# Menu_Course +beatrun.coursemenu.trials=Koşular - %s +beatrun.coursemenu.buildmode=İnşa Modunu Aç +beatrun.coursemenu.freeplay=Serbest Mod'a geri dön + +# CoursesDatabase +beatrun.coursesdatabase.cantuploadfreeplay=Serbest Modda yüklenemiyor +beatrun.coursesdatabase.upload1=%s haritasında adı %s olan bir koşu yüklemeye çalışıyorsunuz. +beatrun.coursesdatabase.upload2=Devam etmek için Beatrun_Confirm veya iptal etmek için Beatrun_Cancel kullanın. +beatrun.coursesdatabase.update1=Bu koda sahip bir koşuyu %s,%s haritasındaki %s adlı koşuya güncellemeye çalışıyorsunuz. + +# Tools Menu +beatrun.toolsmenu.client=Kullanıcı +beatrun.toolsmenu.server=Sunucu + +# Tools Menu Courses Section +beatrun.toolsmenu.courses.name=Koşular +beatrun.toolsmenu.courses.desc=Koşu Ayarları + +beatrun.toolsmenu.courses.faststart=Hızlı Başlangıç +beatrun.toolsmenu.courses.faststartdesc=Koşunun başında daha hızlı geri sayım + +beatrun.toolsmenu.courses.checkpointsave=Aşamada Kaydet +beatrun.toolsmenu.courses.checkpointsavedesc=Koşularda en son aşamada yeniden canlan + +beatrun.toolsmenu.courses.database=Veritabanı Alanı +beatrun.toolsmenu.courses.databasedesc=Veritabanının alanı/IP'si\nVarsayılan: courses.beatrun.ru + +beatrun.toolsmenu.courses.changeapikey=API Anahtarını Değiştir +beatrun.toolsmenu.courses.enterapikey=API anahtarınızı girin + +beatrun.toolsmenu.courses.savecourse=Şu Anda Devam Eden Koşuyu Bir Dosyaya Kaydet +beatrun.toolsmenu.courses.namesavecourse=Koşunuz için bir ad girin + +beatrun.toolsmenu.courses.loadcourse=Çevrim içi Veritabandan Koşu Yükle +beatrun.toolsmenu.courses.enterloadcourse=Koşu kodunu gir + +beatrun.toolsmenu.courses.uploadcourse=Şu An Devam Eden Koşuyu Veritabanına Yükle + +beatrun.toolsmenu.courses.updatecourse=Veritabanında bir Koşuyu Güncelle +beatrun.toolsmenu.courses.updatecoursehelp=Veritabanındaki bir koşuyu şu anda devam eden koşuyla günceller + +# Tools Menu HUD Section +beatrun.toolsmenu.hud.name=ARAYÜZ +beatrun.toolsmenu.hud.desc=Arayüz Ayarları + +beatrun.toolsmenu.hud.dynamic=Dinamik Arayüz +beatrun.toolsmenu.hud.dynamicdesc=Hareket ederken arayüzü gizler + +beatrun.toolsmenu.hud.sway=Arayüz Sarsıntısı +beatrun.toolsmenu.hud.swaydesc=Arayüz sallanmayı açar/kapatır + +beatrun.toolsmenu.hud.reticle=Nişangahı Göster +beatrun.toolsmenu.hud.reticledesc=Ekranın ortasında bir nokta gösterir + +beatrun.toolsmenu.hud.nametags=Ad Etiketlerini Göster +beatrun.toolsmenu.hud.nametagsdesc=Oyuncuların üzerindeki ad etiketlerini açar + +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.wind=Rüzgar Etkisi +beatrun.toolsmenu.hud.winddesc=Koşarken rüzgar sesleri + +beatrun.toolsmenu.hud.fov=Görüş Alanı +beatrun.toolsmenu.hud.fovdesc=Görüş Alanınızı değiştirdikten sonra yeniden canlanmanız gerekiyor! + +beatrun.toolsmenu.hud.hidden=Arayüzü gizle +beatrun.toolsmenu.hud.hiddendesc=0 - Gösterilen\n1 - Yalnızca oyun\nmodu 2 - Gizli + +beatrun.toolsmenu.hud.textcolor=Arayüz Metin Rengi +beatrun.toolsmenu.hud.cornercolor=Arayüz Köşe Rengi +beatrun.toolsmenu.hud.floatxpcolor=Arayüz Süzülen XP Rengi + +# Tools Menu Viewbob Section +beatrun.toolsmenu.viewbob.name=Görüntü Sarsılması +beatrun.toolsmenu.viewbob.desc=Görüntü Sarsılma Ayarları + +beatrun.toolsmenu.viewbob.stabilization=Görüntü Sarsılma Stabilizasyonu +beatrun.toolsmenu.viewbob.stabilizationdesc=Görüntü sallamayı oyuncunun görünüm pozisyonunu ortalanmış halde tutarak yol tutmasını azaltmak için açın +beatrun.toolsmenu.viewbob.intensity=Sarsılma Şiddeti + +# Tools Menu Gameplay Section +beatrun.toolsmenu.gameplay.name=Oynanış +beatrun.toolsmenu.gameplay.desc=Oynanış Ayarları + +beatrun.toolsmenu.gameplay.quickturnground=Yerde Hızlı Dönüş +beatrun.toolsmenu.gameplay.quickturngrounddesc=Yerdeyken ikincil saldırı ile hızlı dönüşü etkinleştirir + +beatrun.toolsmenu.gameplay.quickturnhandsonly=Sadece Hızlı Dönüş Elleri +beatrun.toolsmenu.gameplay.quickturnhandsonlydesc=Yalnızca "Koşucu Elleri" ile hızlı dönüşü etkinleştirir + +beatrun.toolsmenu.gameplay.puristmode=Purist Modu +beatrun.toolsmenu.gameplay.puristmodedesc=Purist modu, havadayken "strafe" atmayı ciddi şekilde zayıflatan bir kullanıcı tercihidir, bu da ME oyunlarının bunu nasıl ele aldığıdır.\nDevre dışı = Kısıtlama yok\nEtkin = Havadaki azaltılmış hareket hızı + +beatrun.toolsmenu.gameplay.disablegrapple=Kanca Özelliğini Devre Dışı Bırak +beatrun.toolsmenu.gameplay.disablegrappledesc=Kanca özelliğini devre dışı bırakır + +# Tools Menu Misc Section +beatrun.toolsmenu.misc.name=Diğer +beatrun.toolsmenu.misc.desc=Çeşitli Ayarlar + +beatrun.toolsmenu.misc.propspawn=Nesne Oluşturma +beatrun.toolsmenu.misc.propspawndesc=Yönetici hakları olmayan oyuncuların nesne, varlık ve silah oluşturmasına izin verir + +beatrun.toolsmenu.misc.overdrivemp=Çok Oyunculuda Aşım +beatrun.toolsmenu.misc.overdrivempdesc=Sunucuda aşım kullanımına izin verir + +# Tools Menu Moves Section +beatrun.toolsmenu.moves.name=Hareketler +beatrun.toolsmenu.moves.desc=Hareket Ayarları +beatrun.toolsmenu.moves.help=Havadayken Ctrl + RMB ile dalış yapabilirsin!\nE + LMB ile Aşım Geçişleri. + +beatrun.toolsmenu.moves.speedlimit=Hız Sınırı +beatrun.toolsmenu.moves.speedlimitdesc=Oyuncunun hız sınırını değiştirir\nVarsayılan: 325 + +beatrun.toolsmenu.moves.forcepuristmode=Purist Modunu Zorla +beatrun.toolsmenu.moves.forcepuristmodedesc=Purist Modun tüm oyuncular için etkinleştirilmesini zorunlu kılar + +beatrun.toolsmenu.moves.realisticwallrunning="Gerçekçi" duvar koşusu +beatrun.toolsmenu.moves.realisticwallrunningdesc=Devre dışı bırakıldığında duvar koşusuna başlarken hız kaybetmezsiniz + +beatrun.toolsmenu.moves.kickglitch=Tekme Hatası +beatrun.toolsmenu.moves.kickglitchdesc=Tekme Hatası Hareketini Açar\nDuvardan koşarken ve hemen ardından zıplarken LMB basın + +beatrun.toolsmenu.moves.kickglitchversion=Tekme Hatası Sürümü +beatrun.toolsmenu.moves.kickglitchversiondesc=Etkin - Eski sürüm\nDevre Dışı - Yeni sürüm\nYeni sürüm, bir oyuncunun altında küçük bir platform oluşturan ME'nin mekaniğini kullanıyor + +beatrun.toolsmenu.moves.quakejump=Quake Zıplayışı +beatrun.toolsmenu.moves.quakejumpdesc=Quake Zıplama Hareketini açar/kapatır\nYan Adımdan Sonra Sağa Zıplaya basın + +beatrun.toolsmenu.moves.sidestep=Yan Adım +beatrun.toolsmenu.moves.sidestepdesc=Yan Adım Hareketini Açar\nA/D + RMB + +beatrun.toolsmenu.moves.disarm=Silahsızlandır +beatrun.toolsmenu.moves.disarmdesc=NPC'yi Silahsızlandırma Yeteneği\nBir NPC'de KULLAN'a basın + +beatrun.toolsmenu.moves.divesettings=Dalış Ayarları + +beatrun.toolsmenu.moves.totsugeki=Totsugeki +beatrun.toolsmenu.moves.totsugekidesc=Totsugeki Dalışı\nQuake Zıplayışından hemen sonra dal + +beatrun.toolsmenu.moves.totsugekispam=Totsugeki Abanması +beatrun.toolsmenu.moves.totsugekispamdesc=Totsugeki'yi Abanma Yeteneğini Açar + +beatrun.toolsmenu.moves.totsugekiheading=Totsugeki İlerleyişi +beatrun.toolsmenu.moves.totsugekiheadingdesc=Totsugeki'ye X ekseninde (yukarı/aşağı) izin verir + +beatrun.toolsmenu.moves.totsugekidirection=Totsugeki Yönü +beatrun.toolsmenu.moves.totsugekidirectiondesc=Başka Bir Yöne Totsugeki Yapmayı Sağlar\nAbanma ve İlerleyişle beraber kullanıldığında uçmanıza izin verir =) + +# Tools Menu Gamemodes Section +beatrun.toolsmenu.gamemodes.name=Oyun Modları +beatrun.toolsmenu.gamemodes.desc=Oyun Modları Ayarları +beatrun.toolsmenu.gamemodes.error=Başka bir oyun modu çalışıyor! + +beatrun.toolsmenu.gamemodes.infection=Enfeksiyon Oyun Modunu Aç +beatrun.toolsmenu.gamemodes.infectionstarttime=Başlamadan önceki zaman +beatrun.toolsmenu.gamemodes.infectiongametime=Oyunun uzunluğu +beatrun.toolsmenu.gamemodes.infectiontime=Saniyeler cinsinden zaman +beatrun.toolsmenu.gamemodes.datatheft=Veri Hırsızlığı Oyun Modunu Aç +beatrun.toolsmenu.gamemodes.deathmatch=Ölüm Maçı Oyun Modunu Aç + +# Checkpoints +beatrun.checkpoints.countdown1=Hazır +beatrun.checkpoints.countdown2=Dikkat +beatrun.checkpoints.countdown3=BAŞLA! +beatrun.checkpoints.speedometer=%s km/s + +# DataTheft +beatrun.datatheft.name=Veri Hırsızı (%s) +beatrun.datatheft.start=Veri hırsızı! Veri toplamak için oyuncuları öldür, bankalara veri yatır + +# Deathmatch +beatrun.deathmatch.name=Ölüm Maçı +beatrun.deathmatch.start=Ölüm Maçı! Puan almak için oyuncuları öldür! + +# Infection +beatrun.infection.name=Enfeksiyon +beatrun.infection.infectedtext=(Enfekte) +beatrun.infection.humantext=(İnsan) +beatrun.infection.start=Enfeksiyon! Diğer oyunculara bulaştırmak için dokun\n%s oyuncu %s süre içinde enfekte olacak +beatrun.infection.nosurvivors=Hiç kimse... +beatrun.infection.infected=enfekte oldu! +beatrun.infection.infectedby=enfekte etti +beatrun.infection.award=Hayatta kaldığın için 200 XP ile ödüllendirildin! +beatrun.infection.awardinfected=Enfekte olarak canlandığın için 100 XP ile ödüllendirildin! +beatrun.infection.end=Oyun sona erdi!\nYaşayanlar: %s\n15 saniye içinde \nyeniden başlıyor diff --git a/beatrun/gamemodes/beatrun/gamemode/cl/BodyAnim.lua b/beatrun/gamemodes/beatrun/gamemode/cl/BodyAnim.lua index 44d9422..c4c1f16 100644 --- a/beatrun/gamemodes/beatrun/gamemode/cl/BodyAnim.lua +++ b/beatrun/gamemodes/beatrun/gamemode/cl/BodyAnim.lua @@ -18,6 +18,30 @@ lockang = false CamAddAng = false CamIgnoreAng = false +local tools = { + ["gmod_tool"] = true, + ["weapon_physgun"] = true, + ["gmod_camera"] = true +} + +has_tool_equipped = false + +hook.Add("Think", "beatrun_detect_tool", function() + local lp = LocalPlayer() + if not IsValid(lp) then return end + + local weapon = lp:GetActiveWeapon() + if not IsValid(weapon) then return end + + local class = weapon:GetClass() + + if tools[class] then + has_tool_equipped = true + else + has_tool_equipped = false + end +end) + -- local BodyAnimPos = Vector(0, 0, 0) -- local BodyAnimAngLerp = Angle(0, 0, 0) -- local DidDraw = false @@ -338,8 +362,6 @@ function StartBodyAnim(animtable) BodyAnim:SetPos(ply:GetPos()) BodyAnim:SetNoDraw(false) - BodyAnimStartPos:Set(BodyAnim:GetPos()) - if not IsValid(ply:GetHands()) then return end local plymodel = ply @@ -480,6 +502,13 @@ function BodyAnimCalcView2(ply, pos, angles, fov) return end + if has_tool_equipped then + BodyAnim:SetNoDraw(true) + BodyAnim:SetRenderOrigin(pos * 1000) + + return + end + if IsValid(BodyAnim) and pos:Distance(ply:EyePos()) > 20 then if updatethirdperson then ply:SetNoDraw(false) @@ -575,7 +604,7 @@ function BodyAnimCalcView2(ply, pos, angles, fov) end if attach ~= nil then - view.origin = attach.Pos + view.origin = has_tool_equipped and pos or attach.Pos if savedeyeangb == Angle(0, 0, 0) then savedeyeangb = Angle(0, attach.Ang.y, 0) @@ -583,10 +612,10 @@ function BodyAnimCalcView2(ply, pos, angles, fov) view.angles = ply:EyeAngles() - if lockang2 then - view.angles = attach.Ang + if lockang2 and not has_tool_equipped then + view.angles = has_tool_equipped and angles or attach.Ang view.angles.x = ply:EyeAngles().x - view.origin = attach.Pos + view.origin = has_tool_equipped and pos or attach.Pos end allowedangchange = true @@ -598,7 +627,7 @@ function BodyAnimCalcView2(ply, pos, angles, fov) lastlockangstart:Set(lasteyeang) end - if ply:Alive() and lockang then + if ply:Alive() and (lockang and not has_tool_equipped) then local attachId = BodyAnim:LookupAttachment(camjoint) local attach = BodyAnim:GetAttachment(attachId) or attach local ang = attach.Ang @@ -608,7 +637,7 @@ function BodyAnimCalcView2(ply, pos, angles, fov) lerplockang = math.Approach(lerplockang, 1, FrameTime() * 4.5) end - view.angles = ang + view.angles = has_tool_equipped and angles or ang view.angles:Add(ViewTiltAngle) allowedangchange = false @@ -672,7 +701,10 @@ function BodyAnimCalcView2(ply, pos, angles, fov) hook.Run("BodyAnimCalcView", view) pos:Set(view.origin) - angles:Set(view.angles) + + if not has_tool_equipped then + angles:Set(view.angles) + end if lerpchangeatt < 1 then pos:Set(lerpedpos) @@ -697,7 +729,7 @@ function BodyAnimCalcView2(ply, pos, angles, fov) end if attach == nil or CurTime() < (mantletimer or 0) then - view.origin = lastattachpos + view.origin = has_tool_equipped and pos or lastattachpos pos:Set(lastattachpos) return @@ -745,8 +777,8 @@ hook.Add("CreateMove", "BodyAnim_Mouse", function(cmd) local limitx = BodyLimitX or 30 local limity = BodyLimitY or 50 - pastlimitx = limitx < math.AngleDifference(nang.x, oang.x) - pastlimity = limity < math.abs(math.AngleDifference(nang.y, oang.y)) + pastlimitx = limitx < math.AngleDifference(nang.x, oang.x) and not has_tool_equipped + pastlimity = limity < math.abs(math.AngleDifference(nang.y, oang.y)) and not has_tool_equipped if limitx ~= lastlimitx and pastlimitx or limity ~= lastlimity and pastlimity then BodyAnimLimitEase = true @@ -796,7 +828,7 @@ end) hook.Add("InputMouseApply", "BodyAnim_Mouse", function(cmd) local newvalues = false - if lockang then + if lockang and not has_tool_equipped then cmd:SetMouseX(0) cmd:SetMouseY(0) diff --git a/beatrun/gamemodes/beatrun/gamemode/cl/JumpAnim.lua b/beatrun/gamemodes/beatrun/gamemode/cl/JumpAnim.lua index 41b9c6c..3d2e1e7 100644 --- a/beatrun/gamemodes/beatrun/gamemode/cl/JumpAnim.lua +++ b/beatrun/gamemodes/beatrun/gamemode/cl/JumpAnim.lua @@ -1318,6 +1318,8 @@ hook.Add("PostDrawSkyBox", "JumpArm3DSky", function() end) hook.Add("CalcViewModelView", "lol", function(wep, vm, oldpos, oldang, pos, ang) + if has_tool_equipped then return end + pos:Sub(oldpos) pos:Add(campos) ang:Sub(oldang) diff --git a/beatrun/gamemodes/beatrun/gamemode/cl/ToolMenuSettings.lua b/beatrun/gamemodes/beatrun/gamemode/cl/ToolMenuSettings.lua index 5b691b0..4e7d4c8 100644 --- a/beatrun/gamemodes/beatrun/gamemode/cl/ToolMenuSettings.lua +++ b/beatrun/gamemodes/beatrun/gamemode/cl/ToolMenuSettings.lua @@ -283,7 +283,7 @@ hook.Add("PopulateToolMenu", "Beatrun_ToolMenu", function() panel:ControlHelp(language.GetPhrase("beatrun.toolsmenu.moves.sidestepdesc")) panel:CheckBox("#beatrun.toolsmenu.moves.disarm", "Beatrun_Disarm") - panel:ControlHelp(language.GetPhrase("beatrun.toolsmenu.moves.disarmdesc"):format(IN_USE)) + panel:ControlHelp(language.GetPhrase("beatrun.toolsmenu.moves.disarmdesc")) local divider = vgui.Create("DHorizontalDivider") panel:AddItem(divider) @@ -395,4 +395,4 @@ hook.Add("PopulateToolMenu", "Beatrun_ToolMenu", function() -- end -- panel:AddItem(LoadoutMenuButton) end) -end) \ No newline at end of file +end) diff --git a/beatrun/gamemodes/beatrun/gamemode/cl/XP.lua b/beatrun/gamemodes/beatrun/gamemode/cl/XP.lua index 9ce75c3..09a0d8f 100644 --- a/beatrun/gamemodes/beatrun/gamemode/cl/XP.lua +++ b/beatrun/gamemodes/beatrun/gamemode/cl/XP.lua @@ -35,8 +35,9 @@ XP_floatingxp = {} hook.Add("OnParkour", "ParkourXP", function(event) local ply = LocalPlayer() + if not IsValid(ply) then return end - if ply.InReplay then return end + -- if ply.InReplay then return end local pos = ply:GetPos() diff --git a/beatrun/gamemodes/beatrun/gamemode/sh/0_Misc.lua b/beatrun/gamemodes/beatrun/gamemode/sh/0_Misc.lua index 466db84..9d9fda2 100644 --- a/beatrun/gamemodes/beatrun/gamemode/sh/0_Misc.lua +++ b/beatrun/gamemodes/beatrun/gamemode/sh/0_Misc.lua @@ -6,7 +6,7 @@ if SERVER then local spawn = {"PlayerGiveSWEP", "PlayerSpawnEffect", "PlayerSpawnNPC", "PlayerSpawnObject", "PlayerSpawnProp", "PlayerSpawnRagdoll", "PlayerSpawnSENT", "PlayerSpawnSWEP", "PlayerSpawnVehicle"} local function BlockSpawn(ply) - if not ply:IsAdmin() and not allowPropSpawn:GetBool() then return false end + if ply:IsAdmin() or allowPropSpawn:GetBool() then return true end end for _, v in ipairs(spawn) do diff --git a/beatrun/gamemodes/beatrun/gamemode/sh/BuildMode.lua b/beatrun/gamemodes/beatrun/gamemode/sh/BuildMode.lua index 44edd8f..7f91fc5 100644 --- a/beatrun/gamemodes/beatrun/gamemode/sh/BuildMode.lua +++ b/beatrun/gamemodes/beatrun/gamemode/sh/BuildMode.lua @@ -301,9 +301,9 @@ end local function CustomPropMat(prop) if propmatsblacklist[buildmode_props_index[prop:GetModel()]] then return end - if prop.hr then + if prop.hr == true then prop:SetMaterial("medge/redplainplastervertex") - else + elseif prop.hr == nil or prop.hr == false then prop:SetMaterial("medge/plainplastervertex") end end @@ -498,7 +498,7 @@ if SERVER then net.Receive("BuildMode_ReadSave", function(len, ply) if not ply.BuildMode then return end - local a = util.Decompress(net.ReadData(len)) + local a = net.ReadData(len) local props = util.JSONToTable(a) for _, v in pairs(props) do @@ -604,7 +604,14 @@ if SERVER then for _, v in pairs(props) do local a = ents.Create("prop_physics") a.hr = v.hr - a:SetModel(buildmode_props[v.model]) + + local is_model_an_index = tonumber(v.model) + if is_model_an_index then + a:SetModel(buildmode_props[v.model]) + else + a:SetModel(v.model) + end + CustomPropMat(a) a:SetPos(v.pos) @@ -612,8 +619,11 @@ if SERVER then a:Spawn() local phys = a:GetPhysicsObject() - phys:EnableMotion(false) - phys:Sleep() + + if IsValid(phys) then + phys:EnableMotion(false) + phys:Sleep() + end a:PhysicsDestroy() a:SetHealth(inf) @@ -886,7 +896,7 @@ if CLIENT then end function CourseData(name) - local save = {{}, {}, Course_StartPos, Course_StartAng, name or "Unnamed", {}} + local save = {{}, {}, Course_StartPos, Course_StartAng, name or os.date("%H:%M:%S - %d/%m/%Y", os.time()), {}} for _, v in pairs(buildmode_placed) do if not IsValid(v) then -- Nothing @@ -895,13 +905,13 @@ if CLIENT then else local class = v:GetClass() - if class == "prop_physics" and not buildmode_props_index[v:GetModel():lower()] then - print("ignoring", v:GetModel():lower()) - elseif class == "prop_physics" then + if class == "prop_physics" then local hr = v:GetMaterial() == "medge/redplainplastervertex" and true or nil + if v.buildmode_placed_manually then hr = false end + table.insert(save[1], { - model = buildmode_props_index[v:GetModel():lower()], + model = v:GetModel():lower(), pos = v:GetPos(), ang = v:GetAngles(), hr = hr @@ -947,7 +957,7 @@ if CLIENT then end concommand.Add("Beatrun_SaveCourse", function(ply, cmd, args, argstr) - local name = args[1] or "Unnamed" + local name = args[1] or os.date("%H:%M:%S - %d/%m/%Y", os.time()) SaveCourse(name, args[2]) end) @@ -970,14 +980,20 @@ if CLIENT then end concommand.Add("Beatrun_LoadCourse", function(ply, cmd, args, argstr) - local id = args[1] or "Unnamed" + local id = args[1] + + if not id then + print("Supply course name") + + return + end LoadCourse(id) end) function LoadCourseRaw(data) if not data then - print("LOAD NOTHING??!!") + print("Supply course data") return end @@ -1144,24 +1160,13 @@ if CLIENT then end end, [KEY_BACKSPACE] = function() - if not dragging then - local props = {} - - for k, v in pairs(buildmode_selected) do - table.insert(props, k) - buildmode_selected[k] = nil - end - - net.Start("BuildMode_Delete") - net.WriteTable(props) - net.SendToServer() - end + buildmodeinputs[KEY_DELETE]() end, [KEY_T] = function() if not dragging then local props = {} - for k, v in pairs(buildmode_selected) do + for k, _ in pairs(buildmode_selected) do if not propmatsblacklist[buildmode_props_index[k:GetModel()]] then table.insert(props, k) end @@ -1205,7 +1210,7 @@ if CLIENT then end end end, - [KEY_ENTER] = function() + [KEY_PAD_MINUS] = function() if table.Count(buildmode_selected) == 0 then return end local save = {} @@ -1228,7 +1233,7 @@ if CLIENT then local jsonsave = util.TableToJSON(save) file.CreateDir("beatrun/savedbuilds") - file.Write("beatrun/savedbuilds/save.txt", util.Compress(jsonsave)) + file.Write("beatrun/savedbuilds/save.txt", jsonsave) end, [KEY_PAD_PLUS] = function() local save = file.Read("beatrun/savedbuilds/save.txt", "DATA") @@ -1402,12 +1407,19 @@ if CLIENT then if bind ~= "buildmode" and not camcontrol then return true end end - hook.Add("OnEntityCreated", "BuildModeProps", function(ent) - if not ent:GetNW2Bool("BRProtected") and ent:GetClass() == "prop_physics" or buildmode_ents[ent:GetClass()] then - table.insert(buildmode_placed, ent) - end + hook.Add("InitPostEntity", "buildmode_create_hook", function() + timer.Simple(2, function() + hook.Add("OnEntityCreated", "BuildModeProps", function(ent) + if not ent:GetNW2Bool("BRProtected") and ent:GetClass() == "prop_physics" or buildmode_ents[ent:GetClass()] then + if not BuildMode then ent.buildmode_placed_manually = true end + + table.insert(buildmode_placed, ent) + end + end) + end) end) + local dragorigin = nil function BuildModeDrag() @@ -1546,7 +1558,7 @@ if CLIENT then local num = v:GetCPNum() surface.SetTextPos(w2s.x, w2s.y) - surface.DrawText(num) + surface.DrawText("Checkpoint: " .. num) end local startw2s = Course_StartPos:ToScreen() @@ -1626,4 +1638,4 @@ if CLIENT then hook.Run("BuildModeState", false) end end) -end \ No newline at end of file +end diff --git a/beatrun/gamemodes/beatrun/gamemode/sh/Climb.lua b/beatrun/gamemodes/beatrun/gamemode/sh/Climb.lua index dfe7d3d..7905721 100644 --- a/beatrun/gamemodes/beatrun/gamemode/sh/Climb.lua +++ b/beatrun/gamemodes/beatrun/gamemode/sh/Climb.lua @@ -207,7 +207,7 @@ local function ClimbingThink(ply, mv, cmd) return end - if mv:KeyPressed(IN_FORWARD) and ang <= 42 then + if (mv:KeyPressed(IN_FORWARD) or mv:KeyPressed(IN_JUMP)) and ang <= 42 then local tr = ply.ClimbingTraceSafety local trout = ply.ClimbingTraceSafetyOut local mins, maxs = ply:GetHull() diff --git a/beatrun/gamemodes/beatrun/gamemode/sh/SafetyRoll.lua b/beatrun/gamemodes/beatrun/gamemode/sh/SafetyRoll.lua index fea11c3..6820a05 100644 --- a/beatrun/gamemodes/beatrun/gamemode/sh/SafetyRoll.lua +++ b/beatrun/gamemodes/beatrun/gamemode/sh/SafetyRoll.lua @@ -60,11 +60,7 @@ net.Receive("RollAnimSP", function() local ply = LocalPlayer() if net.ReadBool() then - if ply:UsingRH() then - roll.AnimString = "land" - else - roll.AnimString = "landgun" - end + roll.AnimString = ply:UsingRH() and "land" or "landgun" roll.animmodelstring = "climbanim" roll.BodyAnimSpeed = 1 elseif net.ReadBool() then @@ -72,12 +68,7 @@ net.Receive("RollAnimSP", function() roll.animmodelstring = "climbanim" roll.BodyAnimSpeed = 1.5 else - if ply:UsingRH() then - roll.AnimString = "meroll" - else - roll.AnimString = "merollgun" - end - + roll.AnimString = ply:UsingRH() and "meroll" or "merollgun" roll.animmodelstring = "climbanim" roll.BodyAnimSpeed = 1.15 end @@ -167,12 +158,7 @@ hook.Add("OnPlayerHitGround", "SafetyRoll", function(ply, water, floater, speed) ply:SetSafetyRollAng(landang) ply:SetSafetyRollTime(CurTime() + 0.6) - if ply:UsingRH() then - roll.AnimString = "land" - else - roll.AnimString = "landgun" - end - + roll.AnimString = ply:UsingRH() and "land" or "landgun" roll.animmodelstring = "climbanim" roll.usefullbody = true else @@ -181,12 +167,7 @@ hook.Add("OnPlayerHitGround", "SafetyRoll", function(ply, water, floater, speed) ply:SetSafetyRollAng(ang) ply:SetSafetyRollTime(CurTime() + 1.05) - if ply:UsingRH() then - roll.AnimString = "meroll" - else - roll.AnimString = "merollgun" - end - + roll.AnimString = ply:UsingRH() and "meroll" or "merollgun" roll.animmodelstring = "climbanim" roll.usefullbody = false end