v1.2.2.b3
## 📋 Changelog - #### General: - ###### Updated Chinese language translation by [by: [@Ericzzrbb](hhttps://github.com/Ericzzrbb)]. - ###### Fixed a bug where a player could be given multiple skills at once while the HUD displayed only one (the player list was never cleared on map change and had no duplicate protection on join). [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Fixed skill names and descriptions showing the raw translation key on Turkish servers (culture-sensitive lowercasing) - affected skills starting with "I" (e.g. Illiterate, Impostor, InfiniteAmmo, Iana). [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### RayTrace-based skills and the skill-use button no longer throw when the RayTrace module is not installed - they now degrade gracefully instead of crashing. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Fixed the skill-use button (when bound to Use/E) blocking option selection inside WSAD target menus. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Performance: cached reflection lookups in `SkillAction` and `SkillsInfo.GetValue`, and de-duplicated the repeated event-dispatch logic on hot paths (OnTick, OnTakeDamage, etc.). [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Stability: removed dead methods that threw `NotImplementedException`, hardened team-score handling, and reset all skill state on round start / map change. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Build: post-build copy paths now follow the active `$(Configuration)` and `$(TargetFramework)`. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Added new Turkish translation strings for the skill notifications listed below. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Fixed bot-related messages so they now display correctly in the chat of the controlling player. - ###### When a player takes control of a bot, all active skill effects affecting that bot are now correctly transferred to the controlling player. - ###### Prevented bots from automatically using skills while being controlled by a player. - #### Skill improvements: - ###### Wallhack: - ###### Fixed enemy outlines briefly flashing for everyone when the skill holder dies. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Area Reaper: - ###### Teammates (CT) are now notified which bombsite (A/B) was sealed. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Wild Throw: - ###### Now notifies the targeted player, consistent with other targeted skills. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Careful Bullets / Darkness / Deaf / Glitch / Jammer / Jump Ban / Magnifier / Poison / Primary Ban / Wild Throw: - ###### The targeted player is now notified when the effect ends after the skill holder dies. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Careful Bullets: - ###### Added damage-taken sound effects when missing a shot - ###### C4 Camouflage / Ninja: - ###### Fixed a bug where dying with invisibility active and taking control of a bot would grant invisibility to the bot as well. - ###### Poison: - ###### Added damage-taken sound effects. - ###### Primary Ban: - ###### Changed mechanic to directly block shooting weapons instead of forcing a weapon switch to the knife. - ###### Hot Bomb: - ###### Replaced the bomb-burning sound effects. - ###### Added a notification when the burning effect ends and the bomb returns to its normal color.
This commit is contained in:
parent
425bbaa784
commit
2ae293d1aa
45 changed files with 831 additions and 173 deletions
42
.github/en.md
vendored
42
.github/en.md
vendored
|
|
@ -31,7 +31,7 @@ jRandomSkills is a plugin for CounterStrike 2 that brings chaos and fun to gamep
|
||||||
- **German** [by: [@Enrory](https://github.com/Enrory)]
|
- **German** [by: [@Enrory](https://github.com/Enrory)]
|
||||||
- **Turkish** [by: [@brkvlr](https://github.com/brkvlr), [@ByDexterTR](https://github.com/ByDexterTR)]
|
- **Turkish** [by: [@brkvlr](https://github.com/brkvlr), [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
- **Russian** [by: [@213sdfsdgf](https://github.com/213sdfsdgf)]
|
- **Russian** [by: [@213sdfsdgf](https://github.com/213sdfsdgf)]
|
||||||
- **Simplified Chinese** [GrokAI / ChatGPT]
|
- **Simplified Chinese** [by: [@Ericzzrbb](hhttps://github.com/Ericzzrbb)]
|
||||||
|
|
||||||
## 🖼️ Preview
|
## 🖼️ Preview
|
||||||

|

|
||||||
|
|
@ -357,6 +357,46 @@ This plugin uses content from the following projects:
|
||||||
|
|
||||||
## 📋 Changelog
|
## 📋 Changelog
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><b>v1.2.2.b3</b></summary>
|
||||||
|
|
||||||
|
- #### General:
|
||||||
|
- ###### Updated Chinese language translation by [by: [@Ericzzrbb](hhttps://github.com/Ericzzrbb)].
|
||||||
|
- ###### Fixed a bug where a player could be given multiple skills at once while the HUD displayed only one (the player list was never cleared on map change and had no duplicate protection on join). [by: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Fixed skill names and descriptions showing the raw translation key on Turkish servers (culture-sensitive lowercasing) - affected skills starting with "I" (e.g. Illiterate, Impostor, InfiniteAmmo, Iana). [by: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### RayTrace-based skills and the skill-use button no longer throw when the RayTrace module is not installed - they now degrade gracefully instead of crashing. [by: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Fixed the skill-use button (when bound to Use/E) blocking option selection inside WSAD target menus. [by: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Performance: cached reflection lookups in `SkillAction` and `SkillsInfo.GetValue`, and de-duplicated the repeated event-dispatch logic on hot paths (OnTick, OnTakeDamage, etc.). [by: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Stability: removed dead methods that threw `NotImplementedException`, hardened team-score handling, and reset all skill state on round start / map change. [by: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Build: post-build copy paths now follow the active `$(Configuration)` and `$(TargetFramework)`. [by: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Added new Turkish translation strings for the skill notifications listed below. [by: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Fixed bot-related messages so they now display correctly in the chat of the controlling player.
|
||||||
|
- ###### When a player takes control of a bot, all active skill effects affecting that bot are now correctly transferred to the controlling player.
|
||||||
|
- ###### Prevented bots from automatically using skills while being controlled by a player.
|
||||||
|
|
||||||
|
- #### Skill improvements:
|
||||||
|
- ###### Wallhack:
|
||||||
|
- ###### Fixed enemy outlines briefly flashing for everyone when the skill holder dies. [by: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Area Reaper:
|
||||||
|
- ###### Teammates (CT) are now notified which bombsite (A/B) was sealed. [by: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Wild Throw:
|
||||||
|
- ###### Now notifies the targeted player, consistent with other targeted skills. [by: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Careful Bullets / Darkness / Deaf / Glitch / Jammer / Jump Ban / Magnifier / Poison / Primary Ban / Wild Throw:
|
||||||
|
- ###### The targeted player is now notified when the effect ends after the skill holder dies. [by: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Careful Bullets:
|
||||||
|
- ###### Added damage-taken sound effects when missing a shot
|
||||||
|
- ###### C4 Camouflage / Ninja:
|
||||||
|
- ###### Fixed a bug where dying with invisibility active and taking control of a bot would grant invisibility to the bot as well.
|
||||||
|
- ###### Poison:
|
||||||
|
- ###### Added damage-taken sound effects.
|
||||||
|
- ###### Primary Ban:
|
||||||
|
- ###### Changed mechanic to directly block shooting weapons instead of forcing a weapon switch to the knife.
|
||||||
|
- ###### Hot Bomb:
|
||||||
|
- ###### Replaced the bomb-burning sound effects.
|
||||||
|
- ###### Added a notification when the burning effect ends and the bomb returns to its normal color.
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><b>v1.2.2.b2</b></summary>
|
<summary><b>v1.2.2.b2</b></summary>
|
||||||
|
|
||||||
|
|
|
||||||
56
.github/pl.md
vendored
56
.github/pl.md
vendored
|
|
@ -26,12 +26,12 @@ jRandomSkills to plugin do CounterStrike 2, który wprowadza chaos i frajdę do
|
||||||
## 💬 Dostępne języki
|
## 💬 Dostępne języki
|
||||||
- **Angielski**
|
- **Angielski**
|
||||||
- **Polski**
|
- **Polski**
|
||||||
- **Francuski** [by: [@felyjyn](https://github.com/felyjyn)]
|
- **Francuski** [autor: [@felyjyn](https://github.com/felyjyn)]
|
||||||
- **Portugalski (Brazylijski)** [by: [@vinicius-trev](https://github.com/vinicius-trev)]
|
- **Portugalski (Brazylijski)** [autor: [@vinicius-trev](https://github.com/vinicius-trev)]
|
||||||
- **Niemiecki** [by: [@Enrory](https://github.com/Enrory)]
|
- **Niemiecki** [autor: [@Enrory](https://github.com/Enrory)]
|
||||||
- **Turecki** [by: [@brkvlr](https://github.com/brkvlr), [@ByDexterTR](https://github.com/ByDexterTR)]
|
- **Turecki** [autor: [@brkvlr](https://github.com/brkvlr), [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
- **Rosyjski** [by: [@213sdfsdgf](https://github.com/213sdfsdgf)]
|
- **Rosyjski** [autor: [@213sdfsdgf](https://github.com/213sdfsdgf)]
|
||||||
- **Chiński uproszczony** [GrokAI / ChatGPT]
|
- **Chiński uproszczony** [autor: [@Ericzzrbb](hhttps://github.com/Ericzzrbb)]
|
||||||
|
|
||||||
## 🖼️ Prezentacja Pluginu
|
## 🖼️ Prezentacja Pluginu
|
||||||

|

|
||||||
|
|
@ -170,7 +170,7 @@ Kupujesz serwer na pukawce? Skorzystaj z mojego [kodu polecającego](https://puk
|
||||||
| Złodziej | Możesz ukraść supermoc wybranemu graczowi | - |
|
| Złodziej | Możesz ukraść supermoc wybranemu graczowi | - |
|
||||||
| Trzecie Oko | Kliknij [css_useSkill], aby aktywować trzecią osobę | 0 s |
|
| Trzecie Oko | Kliknij [css_useSkill], aby aktywować trzecią osobę | 0 s |
|
||||||
| Ciernie | Twój przeciwnik otrzymuje część obrażeń, które zadał ci | - |
|
| Ciernie | Twój przeciwnik otrzymuje część obrażeń, które zadał ci | - |
|
||||||
| TNóż do Rzucania | Naciśnij [css_useSkill], aby rzucić nożem. Ale uważaj na innych | - |
|
| Nóż do Rzucania | Naciśnij [css_useSkill], aby rzucić nożem. Ale uważaj na innych | - |
|
||||||
| Toksyczny Dym | Twoje granaty dymne zadają obrażenia | - |
|
| Toksyczny Dym | Twoje granaty dymne zadają obrażenia | - |
|
||||||
| Wallhack | Widzisz wrogów przez ściany | - |
|
| Wallhack | Widzisz wrogów przez ściany | - |
|
||||||
| Zegarmistrz | Każdy rzut granatem zmienia czas rundy o -10 lub +10 sekund | - |
|
| Zegarmistrz | Każdy rzut granatem zmienia czas rundy o -10 lub +10 sekund | - |
|
||||||
|
|
@ -355,6 +355,46 @@ Plugin korzysta z zawartości następujących projektów:
|
||||||
|
|
||||||
## 📋 Lista Zmian
|
## 📋 Lista Zmian
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><b>v1.2.2.b3</b></summary>
|
||||||
|
|
||||||
|
- #### Ogólne:
|
||||||
|
- ###### Zaktualizowano tłumaczenie na język chiński uproszczony [autor: [@Ericzzrbb](https://www.google.com/search?q=hhttps://github.com/Ericzzrbb)].
|
||||||
|
- ###### Naprawiono błąd, w którym gracz mógł otrzymać kilka umiejętności jednocześnie, podczas gdy HUD wyświetlał tylko jedną (lista graczy nie była czyszczona przy zmianie mapy i brakowało zabezpieczenia przed duplikacją przy dołączaniu). [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Naprawiono błąd, przez który nazwy i opisy umiejętności wyświetlały surowe klucze tłumaczenia na tureckich serwerach (zależna od języka zamiana na małe litery) - problem dotyczył umiejętności zaczynających się na literę "I" (np. Illiterate, Impostor, InfiniteAmmo, Iana). [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Umiejętności oparte na module RayTrace oraz przycisk użycia umiejętności nie wyrzucają już błędów, gdy moduł RayTrace nie jest zainstalowany - teraz ich działanie ulega bezpiecznemu ograniczeniu zamiast scrashowania gry. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Naprawiono błąd, w którym przycisk użycia umiejętności (gdy był przypisany pod klawisz Użyj/E) blokował wybór opcji w menu celowania WSAD. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Wydajność: dodano buforowanie (cache) dla wyszukiwań refleksji w `SkillAction` oraz `SkillsInfo.GetValue`, a także usunięto powtarzającą się logikę wysyłania zdarzeń w kluczowych ścieżkach kodu (OnTick, OnTakeDamage itp.). [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Stabilność: usunięto martwe metody, które wyrzucały błąd `NotImplementedException`, wzmocniono logikę obsługi punktacji drużynowej oraz zresetowano stany wszystkich umiejętności na początku rundy / przy zmianie mapy. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Build: ścieżki kopiowania plików po zbudowaniu projektu (post-build) zależą teraz od aktywnego `$(Configuration)` oraz `$(TargetFramework)`. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Dodano nowe tureckie ciągi tłumaczeń dla powiadomień o umiejętnościach wymienionych poniżej. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Naprawiono wyświetlanie wiadomości bota, dzięki czemu pojawiają się one teraz prawidłowo na czacie kontrolującego go gracza.
|
||||||
|
- ###### Po przejęciu bota przez gracza, wszystkie aktywne efekty umiejętności działające na tego bota przechodzą na kontrolującego go gracza.
|
||||||
|
- ###### Zablokowano automatyczne używanie umiejętności przez boty, jeśli są one aktualnie kontrolowane przez gracza.
|
||||||
|
|
||||||
|
- #### Poprawki mocy:
|
||||||
|
- ###### Wallhack:
|
||||||
|
- ###### Naprawiono błąd, w którym obrysy przeciwników na chwilę błyskały wszystkim graczom w momencie śmierci posiadacza umiejętności. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Niszczyciel Stref:
|
||||||
|
- ###### Członkowie drużyny (CT) są teraz powiadamiani, który bombsite (A/B) został zamknięty. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Dzikie rzuty:
|
||||||
|
- ###### Umiejętność powiadamia teraz celowanego gracza, co jest spójne z działaniem innych umiejętności celowanych. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Ostrożne pociski / Mrok / Głuchy / Glitch / Zakłócacz / Beznogi / Lupa / Trutka / Brak Karabinów / Dzikie rzuty:
|
||||||
|
- ###### Celowany gracz otrzymuje teraz powiadomienie, gdy efekt kończy się po śmierci posiadacza umiejętności. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
|
||||||
|
- ###### Ostrożne pociski:
|
||||||
|
- ###### Dodano efekty dźwiękowe otrzymywania obrażeń po nietrafieniu w gracza.
|
||||||
|
- ###### C4 Kamuflaż / Ninja:
|
||||||
|
- ###### Naprawiono błąd, w którym umierając z aktywną niewidzialnością i przejmując bota, bot również otrzymywał niewidzialność.
|
||||||
|
- ###### Trutka:
|
||||||
|
- ###### Dodano efekty dźwiękowe otrzymywania obrażeń.
|
||||||
|
- ###### Brak Karabinów:
|
||||||
|
- ###### Zmieniono mechanikę na bezpośrednie blokowanie możliwości oddania strzału zamiast wymuszania zmiany broni na nóż.
|
||||||
|
- ###### Gorąca Bomba:
|
||||||
|
- ###### Zmieniono efekty dźwiękowe parzenia paki.
|
||||||
|
- ###### Dodano powiadomienie po zakończeniu parzenia, gdy bomba wraca do swojego normalnego koloru.
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><b>v1.2.2.b2</b></summary>
|
<summary><b>v1.2.2.b2</b></summary>
|
||||||
|
|
||||||
|
|
@ -1203,7 +1243,7 @@ Plugin korzysta z zawartości następujących projektów:
|
||||||
- ###### Twój decoy zamraża wszystkich pobliskich graczy.
|
- ###### Twój decoy zamraża wszystkich pobliskich graczy.
|
||||||
- ##### Żołnierz:
|
- ##### Żołnierz:
|
||||||
- ###### Masz losowy mnożnik obrażeń (1.15 - 1.35)x.
|
- ###### Masz losowy mnożnik obrażeń (1.15 - 1.35)x.
|
||||||
- ##### Gruby:
|
- ##### Gruautor:
|
||||||
- ###### Masz losowy mnożnik otrzymywanych obrażeń (0.65 - 0.85)x.
|
- ###### Masz losowy mnożnik otrzymywanych obrażeń (0.65 - 0.85)x.
|
||||||
- ##### Aimbot:
|
- ##### Aimbot:
|
||||||
- ###### Każdy twój trafiony pocisk jest liczony jako głowa.
|
- ###### Każdy twój trafiony pocisk jest liczony jako głowa.
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ using CounterStrikeSharp.API;
|
||||||
using CounterStrikeSharp.API.Core;
|
using CounterStrikeSharp.API.Core;
|
||||||
using CounterStrikeSharp.API.Modules.Admin;
|
using CounterStrikeSharp.API.Modules.Admin;
|
||||||
using CounterStrikeSharp.API.Modules.Commands;
|
using CounterStrikeSharp.API.Modules.Commands;
|
||||||
|
using CounterStrikeSharp.API.Modules.Commands.Targeting;
|
||||||
using CounterStrikeSharp.API.Modules.Entities.Constants;
|
using CounterStrikeSharp.API.Modules.Entities.Constants;
|
||||||
using CounterStrikeSharp.API.Modules.Utils;
|
using CounterStrikeSharp.API.Modules.Utils;
|
||||||
using src.menu;
|
using src.menu;
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"areareaper_select_info": "Standort zum Deaktivieren auswählen:",
|
"areareaper_select_info": "Standort zum Deaktivieren auswählen:",
|
||||||
"areareaper_site_disabled": "Bombenstandort {0} wurde deaktiviert – dort können keine Bomben platziert werden!",
|
"areareaper_site_disabled": "Bombenstandort {0} wurde deaktiviert – dort können keine Bomben platziert werden!",
|
||||||
"areareaper_used_info": "Deine Fähigkeit wurde bereits eingesetzt.",
|
"areareaper_used_info": "Deine Fähigkeit wurde bereits eingesetzt.",
|
||||||
|
"areareaper_teammates_info": "Bereich {0} wurde für das Pflanzen der Bombe gesperrt.",
|
||||||
"areareaper_bombsite_disabled": "Dieser Bombenplatz wurde deaktiviert!",
|
"areareaper_bombsite_disabled": "Dieser Bombenplatz wurde deaktiviert!",
|
||||||
|
|
||||||
"armored": "Gepanzert",
|
"armored": "Gepanzert",
|
||||||
|
|
@ -62,6 +63,7 @@
|
||||||
"carefulbullets": "Vorsichtige Kugeln",
|
"carefulbullets": "Vorsichtige Kugeln",
|
||||||
"carefulbullets_desc": "Wähle einen Spieler aus, der für jeden Fehlschuss Schaden nimmt",
|
"carefulbullets_desc": "Wähle einen Spieler aus, der für jeden Fehlschuss Schaden nimmt",
|
||||||
"carefulbullets_enemy_info": "Von nun an wird Ungenauigkeit buchstäblich wehtun.",
|
"carefulbullets_enemy_info": "Von nun an wird Ungenauigkeit buchstäblich wehtun.",
|
||||||
|
"carefulbullets_disable_info": "Fehlschüsse verursachen keinen Schaden mehr.",
|
||||||
"carefulbullets_player_info": "‚{0}‘ muss jetzt vorsichtiger sein.",
|
"carefulbullets_player_info": "‚{0}‘ muss jetzt vorsichtiger sein.",
|
||||||
"carefulbullets_select_info": "Fehler schaden dem Spieler:",
|
"carefulbullets_select_info": "Fehler schaden dem Spieler:",
|
||||||
|
|
||||||
|
|
@ -85,6 +87,7 @@
|
||||||
"darkness": "Dunkelheit",
|
"darkness": "Dunkelheit",
|
||||||
"darkness_desc": "Wendet einen Dunkelheitseffekt auf einen ausgewählten Gegner an",
|
"darkness_desc": "Wendet einen Dunkelheitseffekt auf einen ausgewählten Gegner an",
|
||||||
"darkness_enemy_info": "Lass die Lichter ausgehen",
|
"darkness_enemy_info": "Lass die Lichter ausgehen",
|
||||||
|
"darkness_disable_info": "Das Licht ist zurück.",
|
||||||
"darkness_player_info": "Die Dunkelheit hat den Spieler \"{0}\" überwältigt.",
|
"darkness_player_info": "Die Dunkelheit hat den Spieler \"{0}\" überwältigt.",
|
||||||
"darkness_select_info": "Wähle einen Spieler für die Dunkelheit aus:",
|
"darkness_select_info": "Wähle einen Spieler für die Dunkelheit aus:",
|
||||||
|
|
||||||
|
|
@ -97,6 +100,7 @@
|
||||||
"deaf": "Taub",
|
"deaf": "Taub",
|
||||||
"deaf_desc": "Wähle einen Spieler aus, für den alle Sounds stummgeschaltet werden sollen",
|
"deaf_desc": "Wähle einen Spieler aus, für den alle Sounds stummgeschaltet werden sollen",
|
||||||
"deaf_enemy_info": "Deine Kopfhörer haben das Spiel verlassen.",
|
"deaf_enemy_info": "Deine Kopfhörer haben das Spiel verlassen.",
|
||||||
|
"deaf_disable_info": "Du kannst wieder hören.",
|
||||||
"deaf_player_info": "Der Ton für den Spieler ‚{0}‘ wurde deaktiviert.",
|
"deaf_player_info": "Der Ton für den Spieler ‚{0}‘ wurde deaktiviert.",
|
||||||
"deaf_select_info": "Alle Töne für den Spieler stummschalten:",
|
"deaf_select_info": "Alle Töne für den Spieler stummschalten:",
|
||||||
|
|
||||||
|
|
@ -167,6 +171,7 @@
|
||||||
"glitch": "Glitch",
|
"glitch": "Glitch",
|
||||||
"glitch_desc": "Deaktiviert das Radar für einen ausgewählten Gegner",
|
"glitch_desc": "Deaktiviert das Radar für einen ausgewählten Gegner",
|
||||||
"glitch_enemy_info": "Dein Radar wurde deaktiviert",
|
"glitch_enemy_info": "Dein Radar wurde deaktiviert",
|
||||||
|
"glitch_disable_info": "Dein Radar funktioniert wieder.",
|
||||||
"glitch_player_info": "Das Radar des Spielers ‚{0}‘ wurde deaktiviert.",
|
"glitch_player_info": "Das Radar des Spielers ‚{0}‘ wurde deaktiviert.",
|
||||||
"glitch_select_info": "Radar des Spielers ausschalten:",
|
"glitch_select_info": "Radar des Spielers ausschalten:",
|
||||||
|
|
||||||
|
|
@ -196,6 +201,7 @@
|
||||||
"hotbomb": "Heiße Bombe",
|
"hotbomb": "Heiße Bombe",
|
||||||
"hotbomb_desc": "Solange du am Leben bist, fügt die Bombe ihrem Träger Schaden zu",
|
"hotbomb_desc": "Solange du am Leben bist, fügt die Bombe ihrem Träger Schaden zu",
|
||||||
"hotbomb_hint": "Vorsicht, die Bombe ist heiß!",
|
"hotbomb_hint": "Vorsicht, die Bombe ist heiß!",
|
||||||
|
"hotbomb_disable_info": "Die Bombe ist nicht mehr heiß.",
|
||||||
|
|
||||||
"iana": "Hologramm",
|
"iana": "Hologramm",
|
||||||
"iana_desc": "Klicken Sie auf [css_useSkill], um Ihr Hologramm für einige Sekunden zu steuern",
|
"iana_desc": "Klicken Sie auf [css_useSkill], um Ihr Hologramm für einige Sekunden zu steuern",
|
||||||
|
|
@ -218,6 +224,7 @@
|
||||||
"jammer": "Störsender",
|
"jammer": "Störsender",
|
||||||
"jammer_desc": "Wähle einen Spieler aus, um dessen Fadenkreuz zu deaktivieren",
|
"jammer_desc": "Wähle einen Spieler aus, um dessen Fadenkreuz zu deaktivieren",
|
||||||
"jammer_enemy_info": "Dein Fadenkreuz wurde deaktiviert.",
|
"jammer_enemy_info": "Dein Fadenkreuz wurde deaktiviert.",
|
||||||
|
"jammer_disable_info": "Dein Fadenkreuz funktioniert wieder.",
|
||||||
"jammer_player_info": "Das Fadenkreuz von Spieler ‚{0}‘ wurde deaktiviert.",
|
"jammer_player_info": "Das Fadenkreuz von Spieler ‚{0}‘ wurde deaktiviert.",
|
||||||
"jammer_select_info": "Fadenkreuz des Spielers deaktivieren:",
|
"jammer_select_info": "Fadenkreuz des Spielers deaktivieren:",
|
||||||
|
|
||||||
|
|
@ -230,6 +237,7 @@
|
||||||
"jumpban": "Beinlos",
|
"jumpban": "Beinlos",
|
||||||
"jumpban_desc": "Wähle einen Spieler, der nicht springen kann",
|
"jumpban_desc": "Wähle einen Spieler, der nicht springen kann",
|
||||||
"jumpban_enemy_info": "Jemand hat dir die Beine abgeschnitten.",
|
"jumpban_enemy_info": "Jemand hat dir die Beine abgeschnitten.",
|
||||||
|
"jumpban_disable_info": "Du kannst deine Beine wieder benutzen.",
|
||||||
"jumpban_player_info": "Der Spieler ‚{0}‘ kann nicht mehr springen.",
|
"jumpban_player_info": "Der Spieler ‚{0}‘ kann nicht mehr springen.",
|
||||||
"jumpban_select_info": "Spieler vom Springen ausschließen:",
|
"jumpban_select_info": "Spieler vom Springen ausschließen:",
|
||||||
|
|
||||||
|
|
@ -260,6 +268,7 @@
|
||||||
"magnifier": "Lupe",
|
"magnifier": "Lupe",
|
||||||
"magnifier_desc": "Vergrößert den Bildschirm des Gegners und verringert dessen Sichtfeld",
|
"magnifier_desc": "Vergrößert den Bildschirm des Gegners und verringert dessen Sichtfeld",
|
||||||
"magnifier_enemy_info": "Dein Sichtfeld wurde verzerrt!",
|
"magnifier_enemy_info": "Dein Sichtfeld wurde verzerrt!",
|
||||||
|
"magnifier_disable_info": "Deine Sicht ist wieder normal.",
|
||||||
"magnifier_player_info": "Der Spieler ‚{0}‘ wurde in den Zoom-Modus versetzt.",
|
"magnifier_player_info": "Der Spieler ‚{0}‘ wurde in den Zoom-Modus versetzt.",
|
||||||
"magnifier_select_info": "Bildschirm des Spielers vergrößern:",
|
"magnifier_select_info": "Bildschirm des Spielers vergrößern:",
|
||||||
|
|
||||||
|
|
@ -321,12 +330,14 @@
|
||||||
"poison": "Gift",
|
"poison": "Gift",
|
||||||
"poison_desc": "Wähle einen Spieler aus, der alle paar Sekunden Schaden nimmt",
|
"poison_desc": "Wähle einen Spieler aus, der alle paar Sekunden Schaden nimmt",
|
||||||
"poison_enemy_info": "Du wurdest vergiftet",
|
"poison_enemy_info": "Du wurdest vergiftet",
|
||||||
|
"poison_disable_info": "Du bist jetzt immun gegen Gift.",
|
||||||
"poison_player_info": "Der Spieler ‚{0}‘ wurde vergiftet",
|
"poison_player_info": "Der Spieler ‚{0}‘ wurde vergiftet",
|
||||||
"poison_select_info": "Einen Spieler vergiften:",
|
"poison_select_info": "Einen Spieler vergiften:",
|
||||||
|
|
||||||
"primaryban": "Keine Gewehre",
|
"primaryban": "Keine Gewehre",
|
||||||
"primaryban_desc": "Wähle einen Spieler aus, der keine Gewehre verwenden kann",
|
"primaryban_desc": "Wähle einen Spieler aus, der keine Gewehre verwenden kann",
|
||||||
"primaryban_enemy_info": "Du kannst keine Gewehre mehr verwenden.",
|
"primaryban_enemy_info": "Du kannst keine Gewehre mehr verwenden.",
|
||||||
|
"primaryban_disable_info": "Du kannst wieder Gewehre benutzen.",
|
||||||
"primaryban_player_info": "Der Spieler ‚{0}‘ kann keine Gewehre mehr verwenden.",
|
"primaryban_player_info": "Der Spieler ‚{0}‘ kann keine Gewehre mehr verwenden.",
|
||||||
"primaryban_select_info": "Gewehre für Spieler verbieten:",
|
"primaryban_select_info": "Gewehre für Spieler verbieten:",
|
||||||
|
|
||||||
|
|
@ -457,6 +468,8 @@
|
||||||
"wildthrow": "Wilder Wurf",
|
"wildthrow": "Wilder Wurf",
|
||||||
"wildthrow_desc": "Wähle einen Spieler aus, der Probleme beim Werfen von Granaten haben wird",
|
"wildthrow_desc": "Wähle einen Spieler aus, der Probleme beim Werfen von Granaten haben wird",
|
||||||
"wildthrow_player_info": "Spieler '{0}' hat all seine Lineups vergessen",
|
"wildthrow_player_info": "Spieler '{0}' hat all seine Lineups vergessen",
|
||||||
|
"wildthrow_enemy_info": "Du wirst beim Werfen von Granaten zu nervös.",
|
||||||
|
"wildthrow_disable_info": "Deine Erinnerung daran, wie man Granaten wirft, ist wieder normal.",
|
||||||
"wildthrow_select_info": "Wähle einen Spieler aus:",
|
"wildthrow_select_info": "Wähle einen Spieler aus:",
|
||||||
|
|
||||||
"zeus": "Zeus",
|
"zeus": "Zeus",
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"areareaper_select_info": "Select site to deactivate:",
|
"areareaper_select_info": "Select site to deactivate:",
|
||||||
"areareaper_site_disabled": "Bomb site {0} has been deactivated - no bombs can be planted there!",
|
"areareaper_site_disabled": "Bomb site {0} has been deactivated - no bombs can be planted there!",
|
||||||
"areareaper_used_info": "Your skill has already been used.",
|
"areareaper_used_info": "Your skill has already been used.",
|
||||||
|
"areareaper_teammates_info": "Bombsite {0} has been blocked for planting.",
|
||||||
"areareaper_bombsite_disabled": "This bombsite has been disabled!",
|
"areareaper_bombsite_disabled": "This bombsite has been disabled!",
|
||||||
|
|
||||||
"armored": "Armored",
|
"armored": "Armored",
|
||||||
|
|
@ -62,6 +63,7 @@
|
||||||
"carefulbullets": "Careful Bullets",
|
"carefulbullets": "Careful Bullets",
|
||||||
"carefulbullets_desc": "Select a player who takes damage for every missed shot",
|
"carefulbullets_desc": "Select a player who takes damage for every missed shot",
|
||||||
"carefulbullets_enemy_info": "From now on, inaccuracy will literally hurt.",
|
"carefulbullets_enemy_info": "From now on, inaccuracy will literally hurt.",
|
||||||
|
"carefulbullets_disable_info": "Missing shots no longer hurts you.",
|
||||||
"carefulbullets_player_info": "'{0}' must now be more careful.",
|
"carefulbullets_player_info": "'{0}' must now be more careful.",
|
||||||
"carefulbullets_select_info": "Inaccuracy hurts the player:",
|
"carefulbullets_select_info": "Inaccuracy hurts the player:",
|
||||||
|
|
||||||
|
|
@ -85,6 +87,7 @@
|
||||||
"darkness": "Darkness",
|
"darkness": "Darkness",
|
||||||
"darkness_desc": "Applies a darkness effect to a chosen enemy",
|
"darkness_desc": "Applies a darkness effect to a chosen enemy",
|
||||||
"darkness_enemy_info": "Let the lights go out.",
|
"darkness_enemy_info": "Let the lights go out.",
|
||||||
|
"darkness_disable_info": "The lights are back on.",
|
||||||
"darkness_player_info": "Darkness has overtaken player '{0}'.",
|
"darkness_player_info": "Darkness has overtaken player '{0}'.",
|
||||||
"darkness_select_info": "Select player for darkness:",
|
"darkness_select_info": "Select player for darkness:",
|
||||||
|
|
||||||
|
|
@ -97,6 +100,7 @@
|
||||||
"deaf": "Deaf",
|
"deaf": "Deaf",
|
||||||
"deaf_desc": "Choose a player to mute all sounds for",
|
"deaf_desc": "Choose a player to mute all sounds for",
|
||||||
"deaf_enemy_info": "Your headphones have left the game.",
|
"deaf_enemy_info": "Your headphones have left the game.",
|
||||||
|
"deaf_disable_info": "You can hear again.",
|
||||||
"deaf_player_info": "Sound has been disabled for player '{0}'.",
|
"deaf_player_info": "Sound has been disabled for player '{0}'.",
|
||||||
"deaf_select_info": "Mute all sounds for player:",
|
"deaf_select_info": "Mute all sounds for player:",
|
||||||
|
|
||||||
|
|
@ -167,6 +171,7 @@
|
||||||
"glitch": "Glitch",
|
"glitch": "Glitch",
|
||||||
"glitch_desc": "Disables the radar for a chosen enemy",
|
"glitch_desc": "Disables the radar for a chosen enemy",
|
||||||
"glitch_enemy_info": "Your radar has been disabled.",
|
"glitch_enemy_info": "Your radar has been disabled.",
|
||||||
|
"glitch_disable_info": "Your radar is back to normal.",
|
||||||
"glitch_player_info": "Player '{0}'s radar has been disabled.",
|
"glitch_player_info": "Player '{0}'s radar has been disabled.",
|
||||||
"glitch_select_info": "Turn off player's radar:",
|
"glitch_select_info": "Turn off player's radar:",
|
||||||
|
|
||||||
|
|
@ -196,6 +201,7 @@
|
||||||
"hotbomb": "Hot Bomb",
|
"hotbomb": "Hot Bomb",
|
||||||
"hotbomb_desc": "As long as you are alive, the bomb deals damage to its carrier",
|
"hotbomb_desc": "As long as you are alive, the bomb deals damage to its carrier",
|
||||||
"hotbomb_hint": "Careful, the bomb is hot!",
|
"hotbomb_hint": "Careful, the bomb is hot!",
|
||||||
|
"hotbomb_disable_info": "The bomb is no longer hot.",
|
||||||
|
|
||||||
"iana": "Hologram",
|
"iana": "Hologram",
|
||||||
"iana_desc": "Click [css_useSkill] to control your hologram for a few seconds",
|
"iana_desc": "Click [css_useSkill] to control your hologram for a few seconds",
|
||||||
|
|
@ -218,6 +224,7 @@
|
||||||
"jammer": "Jammer",
|
"jammer": "Jammer",
|
||||||
"jammer_desc": "Choose a player to disable their crosshair",
|
"jammer_desc": "Choose a player to disable their crosshair",
|
||||||
"jammer_enemy_info": "Your crosshair has been disabled.",
|
"jammer_enemy_info": "Your crosshair has been disabled.",
|
||||||
|
"jammer_disable_info": "Your crosshair is back to normal.",
|
||||||
"jammer_player_info": "Player '{0}'s crosshair has been disabled.",
|
"jammer_player_info": "Player '{0}'s crosshair has been disabled.",
|
||||||
"jammer_select_info": "Disable player's crosshair:",
|
"jammer_select_info": "Disable player's crosshair:",
|
||||||
|
|
||||||
|
|
@ -230,6 +237,7 @@
|
||||||
"jumpban": "Legless",
|
"jumpban": "Legless",
|
||||||
"jumpban_desc": "Choose a player who cannot jump",
|
"jumpban_desc": "Choose a player who cannot jump",
|
||||||
"jumpban_enemy_info": "Someone cut off your legs.",
|
"jumpban_enemy_info": "Someone cut off your legs.",
|
||||||
|
"jumpban_disable_info": "You can use your legs again.",
|
||||||
"jumpban_player_info": "Player '{0}' can no longer jump.",
|
"jumpban_player_info": "Player '{0}' can no longer jump.",
|
||||||
"jumpban_select_info": "Ban player from jumping:",
|
"jumpban_select_info": "Ban player from jumping:",
|
||||||
|
|
||||||
|
|
@ -260,6 +268,7 @@
|
||||||
"magnifier": "Magnifier",
|
"magnifier": "Magnifier",
|
||||||
"magnifier_desc": "Forces the enemy's screen to zoom in, reducing their field of view",
|
"magnifier_desc": "Forces the enemy's screen to zoom in, reducing their field of view",
|
||||||
"magnifier_enemy_info": "Your field of view has been distorted!",
|
"magnifier_enemy_info": "Your field of view has been distorted!",
|
||||||
|
"magnifier_disable_info": "Your vision is back to normal.",
|
||||||
"magnifier_player_info": "Player '{0}' has been forced into zoom mode.",
|
"magnifier_player_info": "Player '{0}' has been forced into zoom mode.",
|
||||||
"magnifier_select_info": "Magnify player's screen:",
|
"magnifier_select_info": "Magnify player's screen:",
|
||||||
|
|
||||||
|
|
@ -321,12 +330,14 @@
|
||||||
"poison": "Poison",
|
"poison": "Poison",
|
||||||
"poison_desc": "Choose a player who will take damage every few seconds",
|
"poison_desc": "Choose a player who will take damage every few seconds",
|
||||||
"poison_enemy_info": "You have been poisoned.",
|
"poison_enemy_info": "You have been poisoned.",
|
||||||
|
"poison_disable_info": "You are now immune to poison.",
|
||||||
"poison_player_info": "Player '{0}' has been poisoned.",
|
"poison_player_info": "Player '{0}' has been poisoned.",
|
||||||
"poison_select_info": "Poison a player:",
|
"poison_select_info": "Poison a player:",
|
||||||
|
|
||||||
"primaryban": "No Rifles",
|
"primaryban": "No Rifles",
|
||||||
"primaryban_desc": "Choose a player who cannot use rifles",
|
"primaryban_desc": "Choose a player who cannot use rifles",
|
||||||
"primaryban_enemy_info": "You can no longer use rifles.",
|
"primaryban_enemy_info": "You can no longer use rifles.",
|
||||||
|
"primaryban_disable_info": "You can use rifles again.",
|
||||||
"primaryban_player_info": "Player '{0}' can no longer use rifles.",
|
"primaryban_player_info": "Player '{0}' can no longer use rifles.",
|
||||||
"primaryban_select_info": "Ban rifles for player:",
|
"primaryban_select_info": "Ban rifles for player:",
|
||||||
|
|
||||||
|
|
@ -457,6 +468,8 @@
|
||||||
"wildthrow": "Wild Throws",
|
"wildthrow": "Wild Throws",
|
||||||
"wildthrow_desc": "Choose a player who will have trouble throwing grenades",
|
"wildthrow_desc": "Choose a player who will have trouble throwing grenades",
|
||||||
"wildthrow_player_info": "Player '{0}' has forgotten all their lineups",
|
"wildthrow_player_info": "Player '{0}' has forgotten all their lineups",
|
||||||
|
"wildthrow_enemy_info": "You get too excited when throwing grenades.",
|
||||||
|
"wildthrow_disable_info": "Your memory of how to throw grenades is back to normal.",
|
||||||
"wildthrow_select_info": "Select a player:",
|
"wildthrow_select_info": "Select a player:",
|
||||||
|
|
||||||
"zeus": "Zeus",
|
"zeus": "Zeus",
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"areareaper_select_info": "Sélectionnez un site à désactiver :",
|
"areareaper_select_info": "Sélectionnez un site à désactiver :",
|
||||||
"areareaper_site_disabled": "Le site de bombe {0} a été désactivé – aucune bombe ne peut y être posée !",
|
"areareaper_site_disabled": "Le site de bombe {0} a été désactivé – aucune bombe ne peut y être posée !",
|
||||||
"areareaper_used_info": "Votre compétence a déjà été utilisée.",
|
"areareaper_used_info": "Votre compétence a déjà été utilisée.",
|
||||||
|
"areareaper_teammates_info": "Le site de bombe {0} est désormais interdit au plant.",
|
||||||
"areareaper_bombsite_disabled": "Ce site de bombe a été désactivé !",
|
"areareaper_bombsite_disabled": "Ce site de bombe a été désactivé !",
|
||||||
|
|
||||||
"armored": "Blindé",
|
"armored": "Blindé",
|
||||||
|
|
@ -62,6 +63,7 @@
|
||||||
"carefulbullets": "Balles prudentes",
|
"carefulbullets": "Balles prudentes",
|
||||||
"carefulbullets_desc": "Sélectionnez un joueur qui subit des dégâts à chaque tir manqué",
|
"carefulbullets_desc": "Sélectionnez un joueur qui subit des dégâts à chaque tir manqué",
|
||||||
"carefulbullets_enemy_info": "À partir de maintenant, l'inexactitude fera littéralement mal.",
|
"carefulbullets_enemy_info": "À partir de maintenant, l'inexactitude fera littéralement mal.",
|
||||||
|
"carefulbullets_disable_info": "Rater vos tirs ne vous blessera plus.",
|
||||||
"carefulbullets_player_info": "« {0} » doit désormais être plus prudent.",
|
"carefulbullets_player_info": "« {0} » doit désormais être plus prudent.",
|
||||||
"carefulbullets_select_info": "L'inexactitude nuit au joueur :",
|
"carefulbullets_select_info": "L'inexactitude nuit au joueur :",
|
||||||
|
|
||||||
|
|
@ -85,6 +87,7 @@
|
||||||
"darkness": "Obscurité",
|
"darkness": "Obscurité",
|
||||||
"darkness_desc": "Applique un effet d’obscurité à un ennemi choisi",
|
"darkness_desc": "Applique un effet d’obscurité à un ennemi choisi",
|
||||||
"darkness_enemy_info": "Que la lumière s’éteigne.",
|
"darkness_enemy_info": "Que la lumière s’éteigne.",
|
||||||
|
"darkness_disable_info": "Les lumières sont revenues.",
|
||||||
"darkness_player_info": "L’obscurité a envahi le joueur « {0} ».",
|
"darkness_player_info": "L’obscurité a envahi le joueur « {0} ».",
|
||||||
"darkness_select_info": "Sélectionnez un joueur pour l’obscurité :",
|
"darkness_select_info": "Sélectionnez un joueur pour l’obscurité :",
|
||||||
|
|
||||||
|
|
@ -97,6 +100,7 @@
|
||||||
"deaf": "Sourd",
|
"deaf": "Sourd",
|
||||||
"deaf_desc": "Choisissez un joueur pour couper tous ses sons",
|
"deaf_desc": "Choisissez un joueur pour couper tous ses sons",
|
||||||
"deaf_enemy_info": "Votre casque a quitté la partie.",
|
"deaf_enemy_info": "Votre casque a quitté la partie.",
|
||||||
|
"deaf_disable_info": "Vous entendez de nouveau.",
|
||||||
"deaf_player_info": "Le son a été désactivé pour le joueur « {0} ».",
|
"deaf_player_info": "Le son a été désactivé pour le joueur « {0} ».",
|
||||||
"deaf_select_info": "Couper tous les sons du joueur :",
|
"deaf_select_info": "Couper tous les sons du joueur :",
|
||||||
|
|
||||||
|
|
@ -167,6 +171,7 @@
|
||||||
"glitch": "Glitch",
|
"glitch": "Glitch",
|
||||||
"glitch_desc": "Désactive le radar d’un ennemi choisi",
|
"glitch_desc": "Désactive le radar d’un ennemi choisi",
|
||||||
"glitch_enemy_info": "Votre radar a été désactivé.",
|
"glitch_enemy_info": "Votre radar a été désactivé.",
|
||||||
|
"glitch_disable_info": "Votre radar est revenu à la normale.",
|
||||||
"glitch_player_info": "Le radar du joueur « {0} » a été désactivé.",
|
"glitch_player_info": "Le radar du joueur « {0} » a été désactivé.",
|
||||||
"glitch_select_info": "Désactiver le radar du joueur :",
|
"glitch_select_info": "Désactiver le radar du joueur :",
|
||||||
|
|
||||||
|
|
@ -196,6 +201,7 @@
|
||||||
"hotbomb": "Bombe brûlante",
|
"hotbomb": "Bombe brûlante",
|
||||||
"hotbomb_desc": "Tant que vous êtes en vie, la bombe inflige des dégâts à son porteur",
|
"hotbomb_desc": "Tant que vous êtes en vie, la bombe inflige des dégâts à son porteur",
|
||||||
"hotbomb_hint": "Attention, la bombe est brûlante !",
|
"hotbomb_hint": "Attention, la bombe est brûlante !",
|
||||||
|
"hotbomb_disable_info": "La bombe ne brûle plus.",
|
||||||
|
|
||||||
"iana": "Hologramme",
|
"iana": "Hologramme",
|
||||||
"iana_desc": "Cliquez sur [css_useSkill] pour contrôler votre hologramme pendant quelques secondes",
|
"iana_desc": "Cliquez sur [css_useSkill] pour contrôler votre hologramme pendant quelques secondes",
|
||||||
|
|
@ -218,6 +224,7 @@
|
||||||
"jammer": "Brouilleur",
|
"jammer": "Brouilleur",
|
||||||
"jammer_desc": "Choisissez un joueur pour désactiver son viseur",
|
"jammer_desc": "Choisissez un joueur pour désactiver son viseur",
|
||||||
"jammer_enemy_info": "Votre viseur a été désactivé.",
|
"jammer_enemy_info": "Votre viseur a été désactivé.",
|
||||||
|
"jammer_disable_info": "Votre réticule est revenu à la normale.",
|
||||||
"jammer_player_info": "Le viseur du joueur « {0} » a été désactivé.",
|
"jammer_player_info": "Le viseur du joueur « {0} » a été désactivé.",
|
||||||
"jammer_select_info": "Désactiver le viseur d’un joueur :",
|
"jammer_select_info": "Désactiver le viseur d’un joueur :",
|
||||||
|
|
||||||
|
|
@ -230,6 +237,7 @@
|
||||||
"jumpban": "Sans Jambes",
|
"jumpban": "Sans Jambes",
|
||||||
"jumpban_desc": "Choisissez un joueur qui ne pourra plus sauter",
|
"jumpban_desc": "Choisissez un joueur qui ne pourra plus sauter",
|
||||||
"jumpban_enemy_info": "Quelqu’un vous a coupé les jambes.",
|
"jumpban_enemy_info": "Quelqu’un vous a coupé les jambes.",
|
||||||
|
"jumpban_disable_info": "Vous pouvez de nouveau utiliser vos jambes.",
|
||||||
"jumpban_player_info": "Le joueur « {0} » ne peut plus sauter.",
|
"jumpban_player_info": "Le joueur « {0} » ne peut plus sauter.",
|
||||||
"jumpban_select_info": "Interdire de sauter au joueur :",
|
"jumpban_select_info": "Interdire de sauter au joueur :",
|
||||||
|
|
||||||
|
|
@ -260,6 +268,7 @@
|
||||||
"magnifier": "Loupe",
|
"magnifier": "Loupe",
|
||||||
"magnifier_desc": "Force l’écran de l’ennemi à zoomer, réduisant son champ de vision",
|
"magnifier_desc": "Force l’écran de l’ennemi à zoomer, réduisant son champ de vision",
|
||||||
"magnifier_enemy_info": "Votre champ de vision a été déformé !",
|
"magnifier_enemy_info": "Votre champ de vision a été déformé !",
|
||||||
|
"magnifier_disable_info": "Votre vision est revenue à la normale.",
|
||||||
"magnifier_player_info": "Le joueur « {0} » a été forcé en mode zoom.",
|
"magnifier_player_info": "Le joueur « {0} » a été forcé en mode zoom.",
|
||||||
"magnifier_select_info": "Forcer l’écran du joueur à zoomer :",
|
"magnifier_select_info": "Forcer l’écran du joueur à zoomer :",
|
||||||
|
|
||||||
|
|
@ -321,12 +330,14 @@
|
||||||
"poison": "Poison",
|
"poison": "Poison",
|
||||||
"poison_desc": "Choisissez un joueur qui subira des dégâts toutes les quelques secondes",
|
"poison_desc": "Choisissez un joueur qui subira des dégâts toutes les quelques secondes",
|
||||||
"poison_enemy_info": "Vous avez été empoisonné.",
|
"poison_enemy_info": "Vous avez été empoisonné.",
|
||||||
|
"poison_disable_info": "Vous êtes désormais immunisé contre le poison.",
|
||||||
"poison_player_info": "Le joueur « {0} » a été empoisonné.",
|
"poison_player_info": "Le joueur « {0} » a été empoisonné.",
|
||||||
"poison_select_info": "Empoisonner un joueur :",
|
"poison_select_info": "Empoisonner un joueur :",
|
||||||
|
|
||||||
"primaryban": "Sans Fusils",
|
"primaryban": "Sans Fusils",
|
||||||
"primaryban_desc": "Choisissez un joueur qui ne pourra plus utiliser de fusils",
|
"primaryban_desc": "Choisissez un joueur qui ne pourra plus utiliser de fusils",
|
||||||
"primaryban_enemy_info": "Vous ne pouvez plus utiliser de fusils.",
|
"primaryban_enemy_info": "Vous ne pouvez plus utiliser de fusils.",
|
||||||
|
"primaryban_disable_info": "Vous pouvez de nouveau utiliser des fusils.",
|
||||||
"primaryban_player_info": "Le joueur « {0} » ne peut plus utiliser de fusils.",
|
"primaryban_player_info": "Le joueur « {0} » ne peut plus utiliser de fusils.",
|
||||||
"primaryban_select_info": "Interdire les fusils pour un joueur :",
|
"primaryban_select_info": "Interdire les fusils pour un joueur :",
|
||||||
|
|
||||||
|
|
@ -457,6 +468,8 @@
|
||||||
"wildthrow": "Lancers sauvages",
|
"wildthrow": "Lancers sauvages",
|
||||||
"wildthrow_desc": "Choisissez un joueur qui aura des difficultés à lancer des grenades",
|
"wildthrow_desc": "Choisissez un joueur qui aura des difficultés à lancer des grenades",
|
||||||
"wildthrow_player_info": "Le joueur '{0}' a oublié tous ses alignements (lineups)",
|
"wildthrow_player_info": "Le joueur '{0}' a oublié tous ses alignements (lineups)",
|
||||||
|
"wildthrow_enemy_info": "Vous êtes trop nerveux lorsque vous lancez des grenades.",
|
||||||
|
"wildthrow_disable_info": "Votre mémoire concernant le lancer de grenades est revenue à la normale.",
|
||||||
"wildthrow_select_info": "Sélectionnez un joueur :",
|
"wildthrow_select_info": "Sélectionnez un joueur :",
|
||||||
|
|
||||||
"zeus": "Zeus",
|
"zeus": "Zeus",
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"areareaper_select_info": "Wybierz strefę do dezaktyw.:",
|
"areareaper_select_info": "Wybierz strefę do dezaktyw.:",
|
||||||
"areareaper_site_disabled": "Strefa detonacji {0} została dezaktywowana - nie można na niej podłożyć bomby!",
|
"areareaper_site_disabled": "Strefa detonacji {0} została dezaktywowana - nie można na niej podłożyć bomby!",
|
||||||
"areareaper_used_info": "Twoja moc została już wykorzystana.",
|
"areareaper_used_info": "Twoja moc została już wykorzystana.",
|
||||||
|
"areareaper_teammates_info": "Strefa {0} została zablokowana do podłożenia bomby.",
|
||||||
"areareaper_bombsite_disabled": "Ten bombsite został wyłączony!",
|
"areareaper_bombsite_disabled": "Ten bombsite został wyłączony!",
|
||||||
|
|
||||||
"armored": "Gruby",
|
"armored": "Gruby",
|
||||||
|
|
@ -62,6 +63,7 @@
|
||||||
"carefulbullets": "Ostrożne pociski",
|
"carefulbullets": "Ostrożne pociski",
|
||||||
"carefulbullets_desc": "Wybierz gracza, który otrzymuje obrażenia za każdy niecelny strzał",
|
"carefulbullets_desc": "Wybierz gracza, który otrzymuje obrażenia za każdy niecelny strzał",
|
||||||
"carefulbullets_enemy_info": "Od teraz niecelność będzie dosłownie bolała.",
|
"carefulbullets_enemy_info": "Od teraz niecelność będzie dosłownie bolała.",
|
||||||
|
"carefulbullets_disable_info": "Pudłowanie nie zadaje już obrażeń.",
|
||||||
"carefulbullets_player_info": "'{0}' musi teraz być bardziej ostrożny.",
|
"carefulbullets_player_info": "'{0}' musi teraz być bardziej ostrożny.",
|
||||||
"carefulbullets_select_info": "Niedokładność szkodzi graczowi:",
|
"carefulbullets_select_info": "Niedokładność szkodzi graczowi:",
|
||||||
|
|
||||||
|
|
@ -85,6 +87,7 @@
|
||||||
"darkness": "Mrok",
|
"darkness": "Mrok",
|
||||||
"darkness_desc": "Nadaje efekt ciemności wybranemu przeciwnikowi",
|
"darkness_desc": "Nadaje efekt ciemności wybranemu przeciwnikowi",
|
||||||
"darkness_enemy_info": "Niech zgasną światła.",
|
"darkness_enemy_info": "Niech zgasną światła.",
|
||||||
|
"darkness_disable_info": "Światła wróciły.",
|
||||||
"darkness_player_info": "Ciemność opanowała gracza '{0}'.",
|
"darkness_player_info": "Ciemność opanowała gracza '{0}'.",
|
||||||
"darkness_select_info": "Nałóż efekt ciemności:",
|
"darkness_select_info": "Nałóż efekt ciemności:",
|
||||||
|
|
||||||
|
|
@ -97,6 +100,7 @@
|
||||||
"deaf": "Głuchy",
|
"deaf": "Głuchy",
|
||||||
"deaf_desc": "Wybierasz gracza, dla którego chcesz wyłączyć wszystkie dźwięki",
|
"deaf_desc": "Wybierasz gracza, dla którego chcesz wyłączyć wszystkie dźwięki",
|
||||||
"deaf_enemy_info": "Słuchawki opuściły grę.",
|
"deaf_enemy_info": "Słuchawki opuściły grę.",
|
||||||
|
"deaf_disable_info": "Znowu słyszysz.",
|
||||||
"deaf_player_info": "Dźwięk został wyłączony dla gracza '{0}'.",
|
"deaf_player_info": "Dźwięk został wyłączony dla gracza '{0}'.",
|
||||||
"deaf_select_info": "Wycisz dźwięki gracza:",
|
"deaf_select_info": "Wycisz dźwięki gracza:",
|
||||||
|
|
||||||
|
|
@ -167,6 +171,7 @@
|
||||||
"glitch": "Glitch",
|
"glitch": "Glitch",
|
||||||
"glitch_desc": "Wyłączasz radar wybranemu przeciwnikowi",
|
"glitch_desc": "Wyłączasz radar wybranemu przeciwnikowi",
|
||||||
"glitch_enemy_info": "Twój radar został wyłączony.",
|
"glitch_enemy_info": "Twój radar został wyłączony.",
|
||||||
|
"glitch_disable_info": "Twój radar wrócił do normy.",
|
||||||
"glitch_player_info": "Radar gracza '{0}' został wyłączony.",
|
"glitch_player_info": "Radar gracza '{0}' został wyłączony.",
|
||||||
"glitch_select_info": "Wyłącz radar dla gracza:",
|
"glitch_select_info": "Wyłącz radar dla gracza:",
|
||||||
|
|
||||||
|
|
@ -196,6 +201,7 @@
|
||||||
"hotbomb": "Gorąca Bomba",
|
"hotbomb": "Gorąca Bomba",
|
||||||
"hotbomb_desc": "Dopóki żyjesz, bomba zadaje obrażenia osobie, która ją niesie",
|
"hotbomb_desc": "Dopóki żyjesz, bomba zadaje obrażenia osobie, która ją niesie",
|
||||||
"hotbomb_hint": "Ostrożnie, bomba parzy!",
|
"hotbomb_hint": "Ostrożnie, bomba parzy!",
|
||||||
|
"hotbomb_disable_info": "Bomba już nie parzy.",
|
||||||
|
|
||||||
"iana": "Hologram",
|
"iana": "Hologram",
|
||||||
"iana_desc": "Kliknij [css_useSkill], aby sterować hologramem przez kilka sekund",
|
"iana_desc": "Kliknij [css_useSkill], aby sterować hologramem przez kilka sekund",
|
||||||
|
|
@ -218,6 +224,7 @@
|
||||||
"jammer": "Zakłócacz",
|
"jammer": "Zakłócacz",
|
||||||
"jammer_desc": "Wybierasz gracza, dla którego chcesz wyłączyć celownik",
|
"jammer_desc": "Wybierasz gracza, dla którego chcesz wyłączyć celownik",
|
||||||
"jammer_enemy_info": "Twój celownik został wyłączony.",
|
"jammer_enemy_info": "Twój celownik został wyłączony.",
|
||||||
|
"jammer_disable_info": "Twój celownik wrócił do normy.",
|
||||||
"jammer_player_info": "Celownik gracza '{0}' została wyłączona.",
|
"jammer_player_info": "Celownik gracza '{0}' została wyłączona.",
|
||||||
"jammer_select_info": "Wyłącz celownik dla gracza:",
|
"jammer_select_info": "Wyłącz celownik dla gracza:",
|
||||||
|
|
||||||
|
|
@ -230,6 +237,7 @@
|
||||||
"jumpban": "Beznogi",
|
"jumpban": "Beznogi",
|
||||||
"jumpban_desc": "Wybierasz gracza, który nie będzie mógł skakać",
|
"jumpban_desc": "Wybierasz gracza, który nie będzie mógł skakać",
|
||||||
"jumpban_enemy_info": "Ktoś odciął ci nogi.",
|
"jumpban_enemy_info": "Ktoś odciął ci nogi.",
|
||||||
|
"jumpban_disable_info": "Możesz znowu używać nóg.",
|
||||||
"jumpban_player_info": "Gracz '{0}' nie może teraz skakać.",
|
"jumpban_player_info": "Gracz '{0}' nie może teraz skakać.",
|
||||||
"jumpban_select_info": "Zablokuj skok dla gracza:",
|
"jumpban_select_info": "Zablokuj skok dla gracza:",
|
||||||
|
|
||||||
|
|
@ -260,6 +268,7 @@
|
||||||
"magnifier": "Lupa",
|
"magnifier": "Lupa",
|
||||||
"magnifier_desc": "Przybiżasz ekran wybranemu przeciwnikowi",
|
"magnifier_desc": "Przybiżasz ekran wybranemu przeciwnikowi",
|
||||||
"magnifier_enemy_info": "Twoje pole widzenia zostało zniekształcone!",
|
"magnifier_enemy_info": "Twoje pole widzenia zostało zniekształcone!",
|
||||||
|
"magnifier_disable_info": "Twój wzrok wrócił do normy.",
|
||||||
"magnifier_player_info": "Gracz '{0}' został zmuszony do przejścia w tryb powiększenia.",
|
"magnifier_player_info": "Gracz '{0}' został zmuszony do przejścia w tryb powiększenia.",
|
||||||
"magnifier_select_info": "Powiększ ekran gracza:",
|
"magnifier_select_info": "Powiększ ekran gracza:",
|
||||||
|
|
||||||
|
|
@ -321,12 +330,14 @@
|
||||||
"poison": "Trutka",
|
"poison": "Trutka",
|
||||||
"poison_desc": "Wybierasz gracza, który co kilka sekund będzie otrzymywał obrażenia",
|
"poison_desc": "Wybierasz gracza, który co kilka sekund będzie otrzymywał obrażenia",
|
||||||
"poison_enemy_info": "Zostałeś otruty.",
|
"poison_enemy_info": "Zostałeś otruty.",
|
||||||
|
"poison_disable_info": "Jesteś teraz odporny na truciznę.",
|
||||||
"poison_player_info": "Gracz '{0}' został otruty.",
|
"poison_player_info": "Gracz '{0}' został otruty.",
|
||||||
"poison_select_info": "Zatruj gracza:",
|
"poison_select_info": "Zatruj gracza:",
|
||||||
|
|
||||||
"primaryban": "Brak Karabinów",
|
"primaryban": "Brak Karabinów",
|
||||||
"primaryban_desc": "Wybierasz gracza, który nie może używać karabinów",
|
"primaryban_desc": "Wybierasz gracza, który nie może używać karabinów",
|
||||||
"primaryban_enemy_info": "Nie możesz już używać karabinów.",
|
"primaryban_enemy_info": "Nie możesz już używać karabinów.",
|
||||||
|
"primaryban_disable_info": "Możesz znowu używać karabinów.",
|
||||||
"primaryban_player_info": "Gracz '{0}' nie może już używać karabinów.",
|
"primaryban_player_info": "Gracz '{0}' nie może już używać karabinów.",
|
||||||
"primaryban_select_info": "Zablokuj karabiny dla gracza:",
|
"primaryban_select_info": "Zablokuj karabiny dla gracza:",
|
||||||
|
|
||||||
|
|
@ -457,6 +468,8 @@
|
||||||
"wildthrow": "Dzikie Rzuty",
|
"wildthrow": "Dzikie Rzuty",
|
||||||
"wildthrow_desc": "Wybierz gracza, który będzie miał trudności z rzucaniem granatami",
|
"wildthrow_desc": "Wybierz gracza, który będzie miał trudności z rzucaniem granatami",
|
||||||
"wildthrow_player_info": "Gracz '{0}' zapomniał wszystkie lineup'y",
|
"wildthrow_player_info": "Gracz '{0}' zapomniał wszystkie lineup'y",
|
||||||
|
"wildthrow_enemy_info": "Za bardzo denerwujesz się podczas rzucania granatami.",
|
||||||
|
"wildthrow_disable_info": "Twoja pamięć odnośnie granatów wróciła do normy.",
|
||||||
"wildthrow_select_info": "Wybierz gracza:",
|
"wildthrow_select_info": "Wybierz gracza:",
|
||||||
|
|
||||||
"zeus": "Zeus",
|
"zeus": "Zeus",
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"areareaper_select_info": "Escolha o bomb p/ desativar:",
|
"areareaper_select_info": "Escolha o bomb p/ desativar:",
|
||||||
"areareaper_site_disabled": "Bombsite {0} foi desativado - nenhuma bomba pode ser plantada lá!",
|
"areareaper_site_disabled": "Bombsite {0} foi desativado - nenhuma bomba pode ser plantada lá!",
|
||||||
"areareaper_used_info": "Seu poder já foi usado.",
|
"areareaper_used_info": "Seu poder já foi usado.",
|
||||||
|
"areareaper_teammates_info": "A área {0} foi bloqueada para plantar a bomba.",
|
||||||
"areareaper_bombsite_disabled": "Este local de bomba foi desativado!",
|
"areareaper_bombsite_disabled": "Este local de bomba foi desativado!",
|
||||||
|
|
||||||
"armored": "Super Tiro",
|
"armored": "Super Tiro",
|
||||||
|
|
@ -62,6 +63,7 @@
|
||||||
"carefulbullets": "Errou, mamou",
|
"carefulbullets": "Errou, mamou",
|
||||||
"carefulbullets_desc": "Selecione um jogador vai sofrer dano ao errar cada tiro",
|
"carefulbullets_desc": "Selecione um jogador vai sofrer dano ao errar cada tiro",
|
||||||
"carefulbullets_enemy_info": "A partir de agora, seu erro vai literalmente doer.",
|
"carefulbullets_enemy_info": "A partir de agora, seu erro vai literalmente doer.",
|
||||||
|
"carefulbullets_disable_info": "Errar tiros não causará mais dano.",
|
||||||
"carefulbullets_player_info": "'{0}' agora precisa ter mais cuidado.",
|
"carefulbullets_player_info": "'{0}' agora precisa ter mais cuidado.",
|
||||||
"carefulbullets_select_info": "O erro prejudica o jogador:",
|
"carefulbullets_select_info": "O erro prejudica o jogador:",
|
||||||
|
|
||||||
|
|
@ -85,6 +87,7 @@
|
||||||
"darkness": "Escuridão",
|
"darkness": "Escuridão",
|
||||||
"darkness_desc": "Aplica um efeito de escuridão a um inimigo escolhido",
|
"darkness_desc": "Aplica um efeito de escuridão a um inimigo escolhido",
|
||||||
"darkness_enemy_info": "Que as luzes se apaguem.",
|
"darkness_enemy_info": "Que as luzes se apaguem.",
|
||||||
|
"darkness_disable_info": "As luzes voltaram.",
|
||||||
"darkness_player_info": "A escuridão tomou conta do jogador '{0}'.",
|
"darkness_player_info": "A escuridão tomou conta do jogador '{0}'.",
|
||||||
"darkness_select_info": "Escolha jogador: escuridão:",
|
"darkness_select_info": "Escolha jogador: escuridão:",
|
||||||
|
|
||||||
|
|
@ -97,6 +100,7 @@
|
||||||
"deaf": "Surdo",
|
"deaf": "Surdo",
|
||||||
"deaf_desc": "Escolha um jogador para desativar todos os sons",
|
"deaf_desc": "Escolha um jogador para desativar todos os sons",
|
||||||
"deaf_enemy_info": "Seus fones de ouvido saíram do jogo.",
|
"deaf_enemy_info": "Seus fones de ouvido saíram do jogo.",
|
||||||
|
"deaf_disable_info": "Você pode ouvir novamente.",
|
||||||
"deaf_player_info": "O som foi desativado para o jogador '{0}'.",
|
"deaf_player_info": "O som foi desativado para o jogador '{0}'.",
|
||||||
"deaf_select_info": "Silenciar jogador:",
|
"deaf_select_info": "Silenciar jogador:",
|
||||||
|
|
||||||
|
|
@ -167,6 +171,7 @@
|
||||||
"glitch": "Sem Mapa",
|
"glitch": "Sem Mapa",
|
||||||
"glitch_desc": "Desativa o radar de um inimigo escolhido",
|
"glitch_desc": "Desativa o radar de um inimigo escolhido",
|
||||||
"glitch_enemy_info": "Seu radar foi desativado.",
|
"glitch_enemy_info": "Seu radar foi desativado.",
|
||||||
|
"glitch_disable_info": "Seu radar voltou ao normal.",
|
||||||
"glitch_player_info": "O radar do jogador '{0}' foi desativado.",
|
"glitch_player_info": "O radar do jogador '{0}' foi desativado.",
|
||||||
"glitch_select_info": "Desativar radar do jogador:",
|
"glitch_select_info": "Desativar radar do jogador:",
|
||||||
|
|
||||||
|
|
@ -196,6 +201,7 @@
|
||||||
"hotbomb": "Bomba Quente",
|
"hotbomb": "Bomba Quente",
|
||||||
"hotbomb_desc": "Enquanto você estiver vivo, a bomba causa dano ao portador",
|
"hotbomb_desc": "Enquanto você estiver vivo, a bomba causa dano ao portador",
|
||||||
"hotbomb_hint": "Cuidado, a bomba está quente!",
|
"hotbomb_hint": "Cuidado, a bomba está quente!",
|
||||||
|
"hotbomb_disable_info": "A bomba não está mais queimando.",
|
||||||
|
|
||||||
"iana": "Holograma",
|
"iana": "Holograma",
|
||||||
"iana_desc": "Clique em [css_useSkill] para controlar seu holograma por alguns segundos",
|
"iana_desc": "Clique em [css_useSkill] para controlar seu holograma por alguns segundos",
|
||||||
|
|
@ -218,6 +224,7 @@
|
||||||
"jammer": "No Scope",
|
"jammer": "No Scope",
|
||||||
"jammer_desc": "Escolha um jogador para desativar a mira",
|
"jammer_desc": "Escolha um jogador para desativar a mira",
|
||||||
"jammer_enemy_info": "Sua mira foi desativada.",
|
"jammer_enemy_info": "Sua mira foi desativada.",
|
||||||
|
"jammer_disable_info": "Sua mira voltou ao normal.",
|
||||||
"jammer_player_info": "A mira do jogador '{0}' foi desativada.",
|
"jammer_player_info": "A mira do jogador '{0}' foi desativada.",
|
||||||
"jammer_select_info": "Desativar mira do jogador:",
|
"jammer_select_info": "Desativar mira do jogador:",
|
||||||
|
|
||||||
|
|
@ -230,6 +237,7 @@
|
||||||
"jumpban": "Perneta",
|
"jumpban": "Perneta",
|
||||||
"jumpban_desc": "Escolha um jogador que não poderá pular",
|
"jumpban_desc": "Escolha um jogador que não poderá pular",
|
||||||
"jumpban_enemy_info": "Cortaram as suas pernas.",
|
"jumpban_enemy_info": "Cortaram as suas pernas.",
|
||||||
|
"jumpban_disable_info": "Você recuperou o uso das pernas.",
|
||||||
"jumpban_player_info": "O jogador '{0}' não pode mais pular.",
|
"jumpban_player_info": "O jogador '{0}' não pode mais pular.",
|
||||||
"jumpban_select_info": "Banir pulo do jogador:",
|
"jumpban_select_info": "Banir pulo do jogador:",
|
||||||
|
|
||||||
|
|
@ -260,6 +268,7 @@
|
||||||
"magnifier": "Lupa",
|
"magnifier": "Lupa",
|
||||||
"magnifier_desc": "Força a tela do inimigo a dar um zoom, reduzindo seu campo de visão",
|
"magnifier_desc": "Força a tela do inimigo a dar um zoom, reduzindo seu campo de visão",
|
||||||
"magnifier_enemy_info": "Seu campo de visão foi distorcido!",
|
"magnifier_enemy_info": "Seu campo de visão foi distorcido!",
|
||||||
|
"magnifier_disable_info": "Sua visão voltou ao normal.",
|
||||||
"magnifier_player_info": "O jogador ‘{0}’ foi forçado a entrar no modo zoom.",
|
"magnifier_player_info": "O jogador ‘{0}’ foi forçado a entrar no modo zoom.",
|
||||||
"magnifier_select_info": "Ampliar tela do jogador:",
|
"magnifier_select_info": "Ampliar tela do jogador:",
|
||||||
|
|
||||||
|
|
@ -321,12 +330,14 @@
|
||||||
"poison": "Veneno",
|
"poison": "Veneno",
|
||||||
"poison_desc": "Escolha um jogador que receberá dano a cada poucos segundos",
|
"poison_desc": "Escolha um jogador que receberá dano a cada poucos segundos",
|
||||||
"poison_enemy_info": "Você foi envenenado.",
|
"poison_enemy_info": "Você foi envenenado.",
|
||||||
|
"poison_disable_info": "Você agora está imune ao veneno.",
|
||||||
"poison_player_info": "O jogador '{0}' foi envenenado.",
|
"poison_player_info": "O jogador '{0}' foi envenenado.",
|
||||||
"poison_select_info": "Envenenar jogador:",
|
"poison_select_info": "Envenenar jogador:",
|
||||||
|
|
||||||
"primaryban": "Sem Rifle",
|
"primaryban": "Sem Rifle",
|
||||||
"primaryban_desc": "Escolha um jogador que não poderá usar rifles",
|
"primaryban_desc": "Escolha um jogador que não poderá usar rifles",
|
||||||
"primaryban_enemy_info": "Você não pode mais usar rifles.",
|
"primaryban_enemy_info": "Você não pode mais usar rifles.",
|
||||||
|
"primaryban_disable_info": "Você pode usar rifles novamente.",
|
||||||
"primaryban_player_info": "O jogador '{0}' não pode mais usar rifles.",
|
"primaryban_player_info": "O jogador '{0}' não pode mais usar rifles.",
|
||||||
"primaryban_select_info": "Banir rifles do jogador:",
|
"primaryban_select_info": "Banir rifles do jogador:",
|
||||||
|
|
||||||
|
|
@ -457,6 +468,8 @@
|
||||||
"wildthrow": "Arremesso Selvagem",
|
"wildthrow": "Arremesso Selvagem",
|
||||||
"wildthrow_desc": "Escolha um jogador que terá problemas para lançar granadas",
|
"wildthrow_desc": "Escolha um jogador que terá problemas para lançar granadas",
|
||||||
"wildthrow_player_info": "O jogador '{0}' esqueceu todos os seus lineups",
|
"wildthrow_player_info": "O jogador '{0}' esqueceu todos os seus lineups",
|
||||||
|
"wildthrow_enemy_info": "Você fica muito nervoso ao lançar granadas.",
|
||||||
|
"wildthrow_disable_info": "Sua memória sobre como lançar granadas voltou ao normal.",
|
||||||
"wildthrow_select_info": "Selecione um jogador:",
|
"wildthrow_select_info": "Selecione um jogador:",
|
||||||
|
|
||||||
"zeus": "Zeus",
|
"zeus": "Zeus",
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"areareaper_select_info": "Выберите сайт для деактивации:",
|
"areareaper_select_info": "Выберите сайт для деактивации:",
|
||||||
"areareaper_site_disabled": "Бомб-сайт {0} деактивирован — бомбу нельзя установить там!",
|
"areareaper_site_disabled": "Бомб-сайт {0} деактивирован — бомбу нельзя установить там!",
|
||||||
"areareaper_used_info": "Ваш навык уже был использован.",
|
"areareaper_used_info": "Ваш навык уже был использован.",
|
||||||
|
"areareaper_teammates_info": "Установка бомбы на точке {0} запрещена.",
|
||||||
"areareaper_bombsite_disabled": "Этот бомб-сайт отключён!",
|
"areareaper_bombsite_disabled": "Этот бомб-сайт отключён!",
|
||||||
|
|
||||||
"armored": "Бронированный",
|
"armored": "Бронированный",
|
||||||
|
|
@ -62,6 +63,7 @@
|
||||||
"carefulbullets": "Осторожные пули",
|
"carefulbullets": "Осторожные пули",
|
||||||
"carefulbullets_desc": "Выберите игрока, который будет получать урон за каждое ваше промахивание",
|
"carefulbullets_desc": "Выберите игрока, который будет получать урон за каждое ваше промахивание",
|
||||||
"carefulbullets_enemy_info": "Точность теперь буквально имеет значение.",
|
"carefulbullets_enemy_info": "Точность теперь буквально имеет значение.",
|
||||||
|
"carefulbullets_disable_info": "Промахи больше не наносят урон.",
|
||||||
"carefulbullets_player_info": "'{0}' теперь должен быть осторожнее.",
|
"carefulbullets_player_info": "'{0}' теперь должен быть осторожнее.",
|
||||||
"carefulbullets_select_info": "Промахи ранят игрока:",
|
"carefulbullets_select_info": "Промахи ранят игрока:",
|
||||||
|
|
||||||
|
|
@ -85,6 +87,7 @@
|
||||||
"darkness": "Тьма",
|
"darkness": "Тьма",
|
||||||
"darkness_desc": "Накладывает эффекть тьмы на выбранного врага",
|
"darkness_desc": "Накладывает эффекть тьмы на выбранного врага",
|
||||||
"darkness_enemy_info": "Пусть свет погаснет.",
|
"darkness_enemy_info": "Пусть свет погаснет.",
|
||||||
|
"darkness_disable_info": "Свет снова включился.",
|
||||||
"darkness_player_info": "Тьма охватила игрока '{0}'.",
|
"darkness_player_info": "Тьма охватила игрока '{0}'.",
|
||||||
"darkness_select_info": "Выберите игрока для тьмы:",
|
"darkness_select_info": "Выберите игрока для тьмы:",
|
||||||
|
|
||||||
|
|
@ -97,6 +100,7 @@
|
||||||
"deaf": "Глухой",
|
"deaf": "Глухой",
|
||||||
"deaf_desc": "Выберите игрока, у которого будет отключён весь звук",
|
"deaf_desc": "Выберите игрока, у которого будет отключён весь звук",
|
||||||
"deaf_enemy_info": "Ваши наушники покинули игру.",
|
"deaf_enemy_info": "Ваши наушники покинули игру.",
|
||||||
|
"deaf_disable_info": "Ты снова слышишь.",
|
||||||
"deaf_player_info": "Звук отключён для игрока '{0}'.",
|
"deaf_player_info": "Звук отключён для игрока '{0}'.",
|
||||||
"deaf_select_info": "Отключить звук для игрока:",
|
"deaf_select_info": "Отключить звук для игрока:",
|
||||||
|
|
||||||
|
|
@ -167,6 +171,7 @@
|
||||||
"glitch": "Глитч",
|
"glitch": "Глитч",
|
||||||
"glitch_desc": "Отключает радар выбранному врагу",
|
"glitch_desc": "Отключает радар выбранному врагу",
|
||||||
"glitch_enemy_info": "Ваш радар был отключён.",
|
"glitch_enemy_info": "Ваш радар был отключён.",
|
||||||
|
"glitch_disable_info": "Твой радар снова работает.",
|
||||||
"glitch_player_info": "Радар игрока '{0}' был отключён.",
|
"glitch_player_info": "Радар игрока '{0}' был отключён.",
|
||||||
"glitch_select_info": "Отключить радар игроку:",
|
"glitch_select_info": "Отключить радар игроку:",
|
||||||
|
|
||||||
|
|
@ -196,6 +201,7 @@
|
||||||
"hotbomb": "Горячая бомба",
|
"hotbomb": "Горячая бомба",
|
||||||
"hotbomb_desc": "Пока вы живы, бомба наносит урон её носителю",
|
"hotbomb_desc": "Пока вы живы, бомба наносит урон её носителю",
|
||||||
"hotbomb_hint": "Осторожно, бомба горячая!",
|
"hotbomb_hint": "Осторожно, бомба горячая!",
|
||||||
|
"hotbomb_disable_info": "Бомба больше не обжигает.",
|
||||||
|
|
||||||
"iana": "Голограмма",
|
"iana": "Голограмма",
|
||||||
"iana_desc": "Нажмите [css_useSkill], чтобы управлять своей голограммой несколько секунд",
|
"iana_desc": "Нажмите [css_useSkill], чтобы управлять своей голограммой несколько секунд",
|
||||||
|
|
@ -218,6 +224,7 @@
|
||||||
"jammer": "Глушилка",
|
"jammer": "Глушилка",
|
||||||
"jammer_desc": "Выберите игрока, чтобы отключить его прицел",
|
"jammer_desc": "Выберите игрока, чтобы отключить его прицел",
|
||||||
"jammer_enemy_info": "Ваш прицел был отключён.",
|
"jammer_enemy_info": "Ваш прицел был отключён.",
|
||||||
|
"jammer_disable_info": "Твой прицел снова работает.",
|
||||||
"jammer_player_info": "Прицел игрока '{0}' был отключён.",
|
"jammer_player_info": "Прицел игрока '{0}' был отключён.",
|
||||||
"jammer_select_info": "Отключить прицел игроку:",
|
"jammer_select_info": "Отключить прицел игроку:",
|
||||||
|
|
||||||
|
|
@ -230,6 +237,7 @@
|
||||||
"jumpban": "Безногий",
|
"jumpban": "Безногий",
|
||||||
"jumpban_desc": "Выберите игрока, который не сможет прыгать",
|
"jumpban_desc": "Выберите игрока, который не сможет прыгать",
|
||||||
"jumpban_enemy_info": "Кто-то отрезал вам ноги.",
|
"jumpban_enemy_info": "Кто-то отрезал вам ноги.",
|
||||||
|
"jumpban_disable_info": "Ты снова можешь нормально двигаться.",
|
||||||
"jumpban_player_info": "Игрок '{0}' больше не может прыгать.",
|
"jumpban_player_info": "Игрок '{0}' больше не может прыгать.",
|
||||||
"jumpban_select_info": "Запретить прыжки игроку:",
|
"jumpban_select_info": "Запретить прыжки игроку:",
|
||||||
|
|
||||||
|
|
@ -260,6 +268,7 @@
|
||||||
"magnifier": "Лупа",
|
"magnifier": "Лупа",
|
||||||
"magnifier_desc": "Приближает экран врага, уменьшая его поле зрения",
|
"magnifier_desc": "Приближает экран врага, уменьшая его поле зрения",
|
||||||
"magnifier_enemy_info": "Ваше поле зрения было искажено!",
|
"magnifier_enemy_info": "Ваше поле зрения было искажено!",
|
||||||
|
"magnifier_disable_info": "Твоё зрение восстановилось.",
|
||||||
"magnifier_player_info": "Игрок '{0}' принудительно переведён в режим увеличения.",
|
"magnifier_player_info": "Игрок '{0}' принудительно переведён в режим увеличения.",
|
||||||
"magnifier_select_info": "Увеличить экран игрока:",
|
"magnifier_select_info": "Увеличить экран игрока:",
|
||||||
|
|
||||||
|
|
@ -321,12 +330,14 @@
|
||||||
"poison": "Яд",
|
"poison": "Яд",
|
||||||
"poison_desc": "Выберите игрока, который будет получать урон каждые несколько секунд",
|
"poison_desc": "Выберите игрока, который будет получать урон каждые несколько секунд",
|
||||||
"poison_enemy_info": "Вы были отравлены.",
|
"poison_enemy_info": "Вы были отравлены.",
|
||||||
|
"poison_disable_info": "Теперь ты невосприимчив к яду.",
|
||||||
"poison_player_info": "Игрок '{0}' был отравлен.",
|
"poison_player_info": "Игрок '{0}' был отравлен.",
|
||||||
"poison_select_info": "Отравить игрока:",
|
"poison_select_info": "Отравить игрока:",
|
||||||
|
|
||||||
"primaryban": "Без винтовок",
|
"primaryban": "Без винтовок",
|
||||||
"primaryban_desc": "Выберите игрока, который не сможет использовать винтовки",
|
"primaryban_desc": "Выберите игрока, который не сможет использовать винтовки",
|
||||||
"primaryban_enemy_info": "Вы больше не можете использовать винтовки.",
|
"primaryban_enemy_info": "Вы больше не можете использовать винтовки.",
|
||||||
|
"primaryban_disable_info": "Ты снова можешь использовать винтовки.",
|
||||||
"primaryban_player_info": "Игрок '{0}' больше не может использовать винтовки.",
|
"primaryban_player_info": "Игрок '{0}' больше не может использовать винтовки.",
|
||||||
"primaryban_select_info": "Запретить винтовки игроку:",
|
"primaryban_select_info": "Запретить винтовки игроку:",
|
||||||
|
|
||||||
|
|
@ -457,6 +468,8 @@
|
||||||
"wildthrow": "Дикие броски",
|
"wildthrow": "Дикие броски",
|
||||||
"wildthrow_desc": "Выберите игрока, у которого будут проблемы с бросанием гранат",
|
"wildthrow_desc": "Выберите игрока, у которого будут проблемы с бросанием гранат",
|
||||||
"wildthrow_player_info": "Игрок '{0}' забыл все свои гранатлайны",
|
"wildthrow_player_info": "Игрок '{0}' забыл все свои гранатлайны",
|
||||||
|
"wildthrow_enemy_info": "Ты слишком волнуешься, когда бросаешь гранаты.",
|
||||||
|
"wildthrow_disable_info": "Твоя память о том, как бросать гранаты, вернулась в норму.",
|
||||||
"wildthrow_select_info": "Выберите игрока:",
|
"wildthrow_select_info": "Выберите игрока:",
|
||||||
|
|
||||||
"zeus": "Зевс",
|
"zeus": "Зевс",
|
||||||
|
|
|
||||||
|
|
@ -196,6 +196,7 @@
|
||||||
"hotbomb": "Sıcak C4",
|
"hotbomb": "Sıcak C4",
|
||||||
"hotbomb_desc": "Yaşadığın sürece bombacının canı azalıyor",
|
"hotbomb_desc": "Yaşadığın sürece bombacının canı azalıyor",
|
||||||
"hotbomb_hint": "Bomba çok sıcak!",
|
"hotbomb_hint": "Bomba çok sıcak!",
|
||||||
|
"hotbomb_disable_info": "Bomba artık yakmıyor.",
|
||||||
|
|
||||||
"iana": "Hologram",
|
"iana": "Hologram",
|
||||||
"iana_desc": "[css_useSkill] tuşuna basarak bir hologram oluştur",
|
"iana_desc": "[css_useSkill] tuşuna basarak bir hologram oluştur",
|
||||||
|
|
@ -457,6 +458,8 @@
|
||||||
"wildthrow": "Unutkan Bombacı",
|
"wildthrow": "Unutkan Bombacı",
|
||||||
"wildthrow_desc": "El bombası atmakta zorluk çekecek bir oyuncu seçin",
|
"wildthrow_desc": "El bombası atmakta zorluk çekecek bir oyuncu seçin",
|
||||||
"wildthrow_player_info": "'{0}' adlı oyuncu tüm taktiklerini unuttu",
|
"wildthrow_player_info": "'{0}' adlı oyuncu tüm taktiklerini unuttu",
|
||||||
|
"wildthrow_enemy_info": "Bomba atarken çok heyecanlanıyorsun.",
|
||||||
|
"wildthrow_disable_info": "El bombası atma hafızan normale döndü.",
|
||||||
"wildthrow_select_info": "Bir oyuncu seçin:",
|
"wildthrow_select_info": "Bir oyuncu seçin:",
|
||||||
|
|
||||||
"zeus": "Zeus",
|
"zeus": "Zeus",
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -51,6 +51,7 @@ namespace src.utils
|
||||||
|
|
||||||
var randomBot = activeBots[_random.Next(activeBots.Count)];
|
var randomBot = activeBots[_random.Next(activeBots.Count)];
|
||||||
if (randomBot == null || !randomBot.IsValid) return;
|
if (randomBot == null || !randomBot.IsValid) return;
|
||||||
|
if (randomBot.Index != randomBot.OriginalControllerOfCurrentPawn.Value?.Index) return;
|
||||||
if (randomBot.PlayerPawn?.Value == null || !randomBot.PlayerPawn.Value.IsValid || randomBot.PlayerPawn.Value.IsDefusing) return;
|
if (randomBot.PlayerPawn?.Value == null || !randomBot.PlayerPawn.Value.IsValid || randomBot.PlayerPawn.Value.IsDefusing) return;
|
||||||
|
|
||||||
var bot_info = PlayerManager.GetPlayerByIndex(randomBot.Index);
|
var bot_info = PlayerManager.GetPlayerByIndex(randomBot.Index);
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ public interface ISkill
|
||||||
public static void PlayerDeath(EventPlayerDeath _) { }
|
public static void PlayerDeath(EventPlayerDeath _) { }
|
||||||
public static void PlayerJump(EventPlayerJump _) { }
|
public static void PlayerJump(EventPlayerJump _) { }
|
||||||
public static void SwitchTeam(EventSwitchTeam _, GameEventInfo __) { }
|
public static void SwitchTeam(EventSwitchTeam _, GameEventInfo __) { }
|
||||||
|
public static void BotTakeover(EventBotTakeover _) { }
|
||||||
|
|
||||||
public static void WeaponFire(EventWeaponFire _) { }
|
public static void WeaponFire(EventWeaponFire _) { }
|
||||||
public static void WeaponEquip(EventItemEquip _) { }
|
public static void WeaponEquip(EventItemEquip _) { }
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@ namespace src.player
|
||||||
Instance.RegisterEventHandler<EventPlayerBlind>(PlayerBlind);
|
Instance.RegisterEventHandler<EventPlayerBlind>(PlayerBlind);
|
||||||
Instance.RegisterEventHandler<EventPlayerHurt>(PlayerHurt);
|
Instance.RegisterEventHandler<EventPlayerHurt>(PlayerHurt);
|
||||||
Instance.RegisterEventHandler<EventPlayerJump>(PlayerJump);
|
Instance.RegisterEventHandler<EventPlayerJump>(PlayerJump);
|
||||||
|
Instance.RegisterEventHandler<EventBotTakeover>(BotTakeover);
|
||||||
|
|
||||||
Instance.RegisterEventHandler<EventWeaponFire>(WeaponFire);
|
Instance.RegisterEventHandler<EventWeaponFire>(WeaponFire);
|
||||||
Instance.RegisterEventHandler<EventItemEquip>(WeaponEquip);
|
Instance.RegisterEventHandler<EventItemEquip>(WeaponEquip);
|
||||||
|
|
@ -377,6 +378,15 @@ namespace src.player
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static HookResult BotTakeover(EventBotTakeover @event, GameEventInfo info)
|
||||||
|
{
|
||||||
|
lock (setLock)
|
||||||
|
{
|
||||||
|
DispatchToActiveSkills("BotTakeover", @event);
|
||||||
|
return HookResult.Continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static HookResult PlayerBlind(EventPlayerBlind @event, GameEventInfo info)
|
private static HookResult PlayerBlind(EventPlayerBlind @event, GameEventInfo info)
|
||||||
{
|
{
|
||||||
lock (setLock)
|
lock (setLock)
|
||||||
|
|
|
||||||
|
|
@ -36,16 +36,19 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_used_info")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int site = bombsiteA.Contains(commands[0]) ? 0 : bombsiteB.Contains(commands[0]) ? 1 : -1;
|
int site = bombsiteA.Contains(commands[0]) ? 0 : bombsiteB.Contains(commands[0]) ? 1 : -1;
|
||||||
if (site == -1)
|
if (site == -1)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_incorrect_site")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_incorrect_site")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -71,8 +74,11 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player.Index);
|
||||||
if (playerInfo == null) return;
|
if (playerInfo == null) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
playerInfo.SkillUsed = false;
|
playerInfo.SkillUsed = false;
|
||||||
SkillUtils.CreateMenu(player, [(player.GetTranslation("bombsite_a"), "a")], (player.GetTranslation("bombsite_b"), "b", true));
|
SkillUtils.CreateMenu(player, [(playerEvent.GetTranslation("bombsite_a"), "a")], (playerEvent.GetTranslation("bombsite_b"), "b", true));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
|
|
@ -103,23 +109,24 @@ namespace src.player.skills
|
||||||
|
|
||||||
foreach (var player in Utilities.GetPlayers())
|
foreach (var player in Utilities.GetPlayers())
|
||||||
{
|
{
|
||||||
if (player == null || !player.IsValid || player.Team != CsTeam.Terrorist) continue;
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid || player == null || !player.IsValid || player.Team != CsTeam.Terrorist || player.PlayerPawn?.Value?.Health <= 0) continue;
|
||||||
|
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill == null) continue;
|
if (playerInfo?.Skill == null) continue;
|
||||||
|
|
||||||
var pawn = player.PlayerPawn.Value;
|
var pawn = player.PlayerPawn!.Value;
|
||||||
if (pawn == null || !pawn.IsValid || pawn.WeaponServices == null) continue;
|
if (pawn == null || !pawn.IsValid || pawn.WeaponServices == null) continue;
|
||||||
|
|
||||||
var activeWeapon = pawn.WeaponServices.ActiveWeapon.Value;
|
var activeWeapon = pawn.WeaponServices.ActiveWeapon.Value;
|
||||||
if (activeWeapon == null || !activeWeapon.IsValid || activeWeapon.DesignerName != "weapon_c4") continue;
|
if (activeWeapon == null || !activeWeapon.IsValid || activeWeapon.DesignerName != "weapon_c4") continue;
|
||||||
|
|
||||||
if (!pawn.InBombZone && pawn.InBombZoneTrigger)
|
if (!pawn.InBombZone && pawn.InBombZoneTrigger)
|
||||||
player.PrintToCenterAlert(player.GetTranslation("areareaper_bombsite_disabled"));
|
playerEvent.PrintToCenterAlert(playerEvent.GetTranslation("areareaper_bombsite_disabled"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#edf5b5", CsTeam onlyTeam = CsTeam.CounterTerrorist, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", int maxPerServer = -1, Rarity rarity = Rarity.Common) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, maxPerServer, rarity)
|
public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#edf5b5", CsTeam onlyTeam = CsTeam.CounterTerrorist, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", int maxPerServer = 1, Rarity rarity = Rarity.Common) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, maxPerServer, rarity)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ namespace src.player.skills
|
||||||
|
|
||||||
playerInfo.SkillUsed = false;
|
playerInfo.SkillUsed = false;
|
||||||
|
|
||||||
var enemies = Utilities.GetPlayers().Where(p => p.IsValid && p.PawnIsAlive && p.Team != player.Team && !p.IsHLTV && p.Team != CsTeam.Spectator && p.Team != CsTeam.None).ToArray();
|
var enemies = Utilities.GetPlayers().Where(p => p.IsValid && p.PlayerPawn?.Value?.Health > 0 && p.Team != player.Team && !p.IsHLTV && p.Team != CsTeam.Spectator && p.Team != CsTeam.None).ToArray();
|
||||||
if (enemies.Length > 0)
|
if (enemies.Length > 0)
|
||||||
{
|
{
|
||||||
ConcurrentBag<(string, string)> menuItems = [.. enemies.Select(e => ($"\u202A{e.PlayerName}\u202C : {(e.InGameMoneyServices?.Account ?? 0)}$", e.Index.ToString()))];
|
ConcurrentBag<(string, string)> menuItems = [.. enemies.Select(e => ($"\u202A{e.PlayerName}\u202C : {(e.InGameMoneyServices?.Account ?? 0)}$", e.Index.ToString()))];
|
||||||
|
|
@ -77,29 +77,35 @@ namespace src.player.skills
|
||||||
string option = commands[0];
|
string option = commands[0];
|
||||||
if (string.IsNullOrEmpty(option)) return;
|
if (string.IsNullOrEmpty(option)) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_used_info")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_used_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uint.TryParse(option, out uint enemyIndex))
|
if (uint.TryParse(option, out uint enemyIndex))
|
||||||
{
|
{
|
||||||
var enemy = Utilities.GetEntityFromIndex<CCSPlayerController>((int)enemyIndex);
|
var enemy = Utilities.GetEntityFromIndex<CCSPlayerController>((int)enemyIndex);
|
||||||
if (enemy != null && enemy.IsValid && enemy.PawnIsAlive && enemy.Team != player.Team)
|
if (enemy != null && enemy.IsValid && enemy.PlayerPawn?.Value?.Health > 0 && enemy.Team != player.Team)
|
||||||
{
|
{
|
||||||
ResetMoney(enemy);
|
ResetMoney(enemy);
|
||||||
playerInfo.SkillUsed = true;
|
playerInfo.SkillUsed = true;
|
||||||
SkillUtils.CloseMenu(player);
|
SkillUtils.CloseMenu(player);
|
||||||
player.PrintToChat($" {ChatColors.Lime}{player.GetTranslation("bankrupt_player_info", enemy.PlayerName)}");
|
playerEvent.PrintToChat($" {ChatColors.Lime}{playerEvent.GetTranslation("bankrupt_player_info", enemy.PlayerName)}");
|
||||||
enemy.PrintToChat($" {ChatColors.Red}{enemy.GetTranslation("bankrupt_enemy_info")}");
|
|
||||||
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy);
|
||||||
|
if (enemyEvent != null && enemyEvent.IsValid)
|
||||||
|
enemyEvent.PrintToChat($" {ChatColors.Red}{enemyEvent.GetTranslation("bankrupt_enemy_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void ResetMoney(CCSPlayerController enemy)
|
private static void ResetMoney(CCSPlayerController enemy)
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
if (weapon == "c4")
|
if (weapon == "c4" && player.PlayerPawn?.Value?.Health > 0)
|
||||||
{
|
{
|
||||||
invisiblePlayers.TryAdd(player.Index, 0);
|
invisiblePlayers.TryAdd(player.Index, 0);
|
||||||
SkillUtils.SetPlayerInvisibility(player, .5f);
|
SkillUtils.SetPlayerInvisibility(player, .5f);
|
||||||
|
|
@ -69,7 +69,7 @@ namespace src.player.skills
|
||||||
|
|
||||||
foreach (var player in Utilities.GetPlayers())
|
foreach (var player in Utilities.GetPlayers())
|
||||||
{
|
{
|
||||||
if (player.LifeState != (byte)LifeState_t.LIFE_ALIVE && invisiblePlayers.ContainsKey(player.Index))
|
if (player.PlayerPawn?.Value?.Health <= 0 && invisiblePlayers.ContainsKey(player.Index))
|
||||||
{
|
{
|
||||||
invisiblePlayers.TryRemove(player.Index, out _);
|
invisiblePlayers.TryRemove(player.Index, out _);
|
||||||
SkillUtils.SetPlayerInvisibility(player, 0);
|
SkillUtils.SetPlayerInvisibility(player, 0);
|
||||||
|
|
|
||||||
|
|
@ -61,19 +61,27 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_used_info")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
if (!uint.TryParse(enemyId, out uint enemyIndex)) { player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index")); return; }
|
|
||||||
|
if (!uint.TryParse(enemyId, out uint enemyIndex)) {
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
|
|
||||||
if (enemy == null)
|
if (enemy == null)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -81,8 +89,11 @@ namespace src.player.skills
|
||||||
playersToTarget[player.Index] = enemy.Index;
|
playersToTarget[player.Index] = enemy.Index;
|
||||||
playerInfo.SkillUsed = true;
|
playerInfo.SkillUsed = true;
|
||||||
|
|
||||||
player.PrintToChat($" {ChatColors.Green}" + player.GetTranslation("carefulbullets_player_info", enemy.PlayerName));
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy);
|
||||||
enemy.PrintToChat($" {ChatColors.Red}" + enemy.GetTranslation("carefulbullets_enemy_info"));
|
if (enemyEvent == null || !enemyEvent.IsValid) return;
|
||||||
|
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("carefulbullets_player_info", enemy.PlayerName));
|
||||||
|
enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("carefulbullets_enemy_info"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void EnableSkill(CCSPlayerController player)
|
public static void EnableSkill(CCSPlayerController player)
|
||||||
|
|
@ -91,6 +102,9 @@ namespace src.player.skills
|
||||||
if (playerInfo == null) return;
|
if (playerInfo == null) return;
|
||||||
playerInfo.SkillUsed = false;
|
playerInfo.SkillUsed = false;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
||||||
if (enemies.Length > 0)
|
if (enemies.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
@ -98,11 +112,14 @@ namespace src.player.skills
|
||||||
SkillUtils.CreateMenu(player, menuItems);
|
SkillUtils.CreateMenu(player, menuItems);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void BulletImpact(EventBulletImpact @event)
|
public static void BulletImpact(EventBulletImpact @event)
|
||||||
{
|
{
|
||||||
|
var eventPlayer = @event.Userid;
|
||||||
|
if (eventPlayer == null || !eventPlayer.IsValid) return;
|
||||||
|
|
||||||
var player = PlayerManager.GetPlayerEvent(@event.Userid);
|
var player = PlayerManager.GetPlayerEvent(@event.Userid);
|
||||||
if (player == null || !player.IsValid) return;
|
if (player == null || !player.IsValid) return;
|
||||||
|
|
||||||
|
|
@ -128,7 +145,10 @@ namespace src.player.skills
|
||||||
Instance.AddTickTimer(1, () =>
|
Instance.AddTickTimer(1, () =>
|
||||||
{
|
{
|
||||||
if (lastShot.TryRemove(playerIndex, out bool didHit) && !didHit)
|
if (lastShot.TryRemove(playerIndex, out bool didHit) && !didHit)
|
||||||
|
{
|
||||||
|
eventPlayer.ExecuteClientCommand($"play player/player_damagebody_0{Instance.Random.Next(4,8)}");
|
||||||
SkillUtils.TakeHealth(playerPawn, SkillsInfo.GetValue<int>(skillName, "damageAfterMiss"));
|
SkillUtils.TakeHealth(playerPawn, SkillsInfo.GetValue<int>(skillName, "damageAfterMiss"));
|
||||||
|
}
|
||||||
lastShot.TryRemove(playerIndex, out _);
|
lastShot.TryRemove(playerIndex, out _);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -155,6 +175,8 @@ namespace src.player.skills
|
||||||
return;
|
return;
|
||||||
|
|
||||||
CCSPlayerController attacker = PlayerManager.GetPlayerEvent(attackerPawn.Controller.Value.As<CCSPlayerController>())!;
|
CCSPlayerController attacker = PlayerManager.GetPlayerEvent(attackerPawn.Controller.Value.As<CCSPlayerController>())!;
|
||||||
|
|
||||||
|
if (attacker == null || !attacker.IsValid) return;
|
||||||
if (!targetPlayers.ContainsKey(attacker.Index)) return;
|
if (!targetPlayers.ContainsKey(attacker.Index)) return;
|
||||||
|
|
||||||
hitPlayer.AddOrUpdate(attacker.Index, Server.TickCount, (_, _) => Server.TickCount);
|
hitPlayer.AddOrUpdate(attacker.Index, Server.TickCount, (_, _) => Server.TickCount);
|
||||||
|
|
@ -171,6 +193,10 @@ namespace src.player.skills
|
||||||
targetPlayers.TryRemove(targetIndex, out _);
|
targetPlayers.TryRemove(targetIndex, out _);
|
||||||
lastShot.TryRemove(targetIndex, out _);
|
lastShot.TryRemove(targetIndex, out _);
|
||||||
hitPlayer.TryRemove(targetIndex, out _);
|
hitPlayer.TryRemove(targetIndex, out _);
|
||||||
|
|
||||||
|
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||||
|
if (target != null && target.IsValid && target.PawnIsAlive && !SkillUtils.IsFreezeTime())
|
||||||
|
target.PrintToChat($" {ChatColors.Green}" + target.GetTranslation("carefulbullets_disable_info"));
|
||||||
}
|
}
|
||||||
|
|
||||||
SkillUtils.CloseMenu(player);
|
SkillUtils.CloseMenu(player);
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
|
|
||||||
if (playerInfo == null || playerInfo.Skill != skillName) continue;
|
if (playerInfo == null || playerInfo.Skill != skillName) continue;
|
||||||
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 && !p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
||||||
|
|
||||||
ConcurrentBag<(string, string)> menuItems = [.. enemies.Select(e => (e.PlayerName, e.Index.ToString()))];
|
ConcurrentBag<(string, string)> menuItems = [.. enemies.Select(e => (e.PlayerName, e.Index.ToString()))];
|
||||||
SkillUtils.UpdateMenu(player, menuItems);
|
SkillUtils.UpdateMenu(player, menuItems);
|
||||||
|
|
@ -58,19 +58,27 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_used_info")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
if (!uint.TryParse(enemyId, out uint enemyIndex)) { player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index")); return; }
|
|
||||||
|
if (!uint.TryParse(enemyId, out uint enemyIndex)) {
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
|
|
||||||
if (enemy == null)
|
if (enemy == null)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -78,8 +86,24 @@ namespace src.player.skills
|
||||||
playersToTarget[player.Index] = enemy.Index;
|
playersToTarget[player.Index] = enemy.Index;
|
||||||
playerInfo.SkillUsed = true;
|
playerInfo.SkillUsed = true;
|
||||||
|
|
||||||
player.PrintToChat($" {ChatColors.Green}" + player.GetTranslation("darkness_player_info", enemy.PlayerName));
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy);
|
||||||
enemy.PrintToChat($" {ChatColors.Red}" + enemy.GetTranslation("darkness_enemy_info"));
|
if (enemyEvent == null || !enemyEvent.IsValid) return;
|
||||||
|
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("darkness_player_info", enemy.PlayerName));
|
||||||
|
enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("darkness_enemy_info"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void BotTakeover(EventBotTakeover @event)
|
||||||
|
{
|
||||||
|
var bot = @event.Botid;
|
||||||
|
if (bot == null || !bot.IsValid) return;
|
||||||
|
|
||||||
|
var player = @event.Userid;
|
||||||
|
if (player == null || !player.IsValid) return;
|
||||||
|
|
||||||
|
if (!playersInDark.ContainsKey(bot.Index)) return;
|
||||||
|
|
||||||
|
ApplyColor(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void EnableSkill(CCSPlayerController player)
|
public static void EnableSkill(CCSPlayerController player)
|
||||||
|
|
@ -88,6 +112,9 @@ namespace src.player.skills
|
||||||
if (playerInfo == null) return;
|
if (playerInfo == null) return;
|
||||||
playerInfo.SkillUsed = false;
|
playerInfo.SkillUsed = false;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
||||||
if (enemies.Length > 0)
|
if (enemies.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
@ -95,7 +122,7 @@ namespace src.player.skills
|
||||||
SkillUtils.CreateMenu(player, menuItems);
|
SkillUtils.CreateMenu(player, menuItems);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
|
|
@ -104,7 +131,7 @@ namespace src.player.skills
|
||||||
{
|
{
|
||||||
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
||||||
{
|
{
|
||||||
var target = Utilities.GetPlayerFromIndex((int)targetIndex);
|
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||||
if (target != null && target.IsValid)
|
if (target != null && target.IsValid)
|
||||||
SetUpPostProcessing(target, true);
|
SetUpPostProcessing(target, true);
|
||||||
playersInDark.TryRemove(targetIndex, out _);
|
playersInDark.TryRemove(targetIndex, out _);
|
||||||
|
|
@ -124,11 +151,12 @@ namespace src.player.skills
|
||||||
SkillUtils.CloseMenu(player);
|
SkillUtils.CloseMenu(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void SetUpPostProcessing(CCSPlayerController player, bool turnOff = false)
|
private static void SetUpPostProcessing(CCSPlayerController? player, bool turnOff = false)
|
||||||
{
|
{
|
||||||
if (player == null || !player.IsValid) return;
|
if (player == null || !player.IsValid) return;
|
||||||
|
|
||||||
uint playerIndex = player.Index;
|
uint playerIndex = player.Index;
|
||||||
|
player = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
|
||||||
lock (setLock)
|
lock (setLock)
|
||||||
{
|
{
|
||||||
|
|
@ -145,7 +173,7 @@ namespace src.player.skills
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var target = Utilities.GetPlayerFromIndex((int)playerIndex);
|
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)playerIndex));
|
||||||
if (target == null || !target.IsValid)
|
if (target == null || !target.IsValid)
|
||||||
{
|
{
|
||||||
darkTimer?.Kill();
|
darkTimer?.Kill();
|
||||||
|
|
|
||||||
|
|
@ -57,13 +57,21 @@ namespace src.player.skills
|
||||||
if (playerPawn?.CBodyComponent == null) return;
|
if (playerPawn?.CBodyComponent == null) return;
|
||||||
if (!player.IsValid || player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return;
|
if (!player.IsValid || player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
if (!uint.TryParse(enemyId, out uint enemyIndex)) { player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index")); return; }
|
|
||||||
|
if (!uint.TryParse(enemyId, out uint enemyIndex)) {
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
|
|
||||||
if (enemy == null)
|
if (enemy == null)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -72,22 +80,27 @@ namespace src.player.skills
|
||||||
|
|
||||||
public static void EnableSkill(CCSPlayerController player)
|
public static void EnableSkill(CCSPlayerController player)
|
||||||
{
|
{
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
||||||
if (enemies.Length > 0)
|
if (enemies.Length > 0)
|
||||||
{
|
{
|
||||||
ConcurrentBag<(string, string)> menuItems = [];
|
ConcurrentBag<(string, string)> menuItems = [];
|
||||||
foreach (var enemy in enemies)
|
foreach (var enemy in enemies)
|
||||||
{
|
{
|
||||||
var enemyInfo = PlayerManager.GetPlayerByIndex(enemy.Index);
|
var enemyInfo = PlayerManager.GetPlayerByIndex(enemy?.Index);
|
||||||
if (enemyInfo == null) continue;
|
if (enemyInfo == null) continue;
|
||||||
|
|
||||||
var skillData = SkillData.Skills.FirstOrDefault(s => s.Skill == enemyInfo.Skill);
|
var skillData = SkillData.Skills.FirstOrDefault(s => s.Skill == enemyInfo.Skill);
|
||||||
if (skillData == null) continue;
|
if (skillData == null) continue;
|
||||||
menuItems.Add(($"\u202A{enemy.PlayerName}\u202C : {player.GetSkillName(skillData.Skill)}", enemy.Index.ToString()));
|
|
||||||
|
menuItems.Add(($"\u202A{enemy!.PlayerName}\u202C : {playerEvent.GetSkillName(skillData.Skill)}", enemy.Index.ToString()));
|
||||||
}
|
}
|
||||||
SkillUtils.CreateMenu(player, menuItems);
|
SkillUtils.CreateMenu(player, menuItems);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
|
|
@ -103,11 +116,14 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
var enemyInfo = PlayerManager.GetPlayerByIndex(enemy.Index);
|
var enemyInfo = PlayerManager.GetPlayerByIndex(enemy.Index);
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
if (playerInfo != null)
|
if (playerInfo != null)
|
||||||
{
|
{
|
||||||
playerInfo.Skill = Skills.None;
|
playerInfo.Skill = Skills.None;
|
||||||
playerInfo.SpecialSkill = skillName;
|
playerInfo.SpecialSkill = skillName;
|
||||||
player.PrintToChat($" {ChatColors.Green}" + player.GetTranslation("deactivator_player_info", enemy.PlayerName));
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("deactivator_player_info", enemy.PlayerName));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (enemyInfo != null)
|
if (enemyInfo != null)
|
||||||
|
|
@ -115,7 +131,11 @@ namespace src.player.skills
|
||||||
Instance.SkillAction(enemyInfo.Skill.ToString(), "DisableSkill", [enemy]);
|
Instance.SkillAction(enemyInfo.Skill.ToString(), "DisableSkill", [enemy]);
|
||||||
enemyInfo.SpecialSkill = enemyInfo.Skill;
|
enemyInfo.SpecialSkill = enemyInfo.Skill;
|
||||||
enemyInfo.Skill = Skills.None;
|
enemyInfo.Skill = Skills.None;
|
||||||
enemy.PrintToChat($" {ChatColors.Red}" + enemy.GetTranslation("deactivator_enemy_info"));
|
|
||||||
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy);
|
||||||
|
if (enemyEvent == null || !enemyEvent.IsValid) return;
|
||||||
|
|
||||||
|
enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("deactivator_enemy_info"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ namespace src.player.skills
|
||||||
{
|
{
|
||||||
foreach (var playerIndex in deafPlayers.Keys)
|
foreach (var playerIndex in deafPlayers.Keys)
|
||||||
{
|
{
|
||||||
var player = Utilities.GetPlayerFromIndex((int)playerIndex);
|
var player = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)playerIndex));
|
||||||
if (player == null || !player.IsValid) continue;
|
if (player == null || !player.IsValid) continue;
|
||||||
um.Recipients.Remove(player);
|
um.Recipients.Remove(player);
|
||||||
}
|
}
|
||||||
|
|
@ -66,19 +66,27 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_used_info")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
if (!uint.TryParse(enemyId, out uint enemyIndex)) { player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index")); return; }
|
|
||||||
|
if (!uint.TryParse(enemyId, out uint enemyIndex)) {
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
|
|
||||||
if (enemy == null)
|
if (enemy == null)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -86,8 +94,11 @@ namespace src.player.skills
|
||||||
playersToTarget[player.Index] = enemy.Index;
|
playersToTarget[player.Index] = enemy.Index;
|
||||||
playerInfo.SkillUsed = true;
|
playerInfo.SkillUsed = true;
|
||||||
|
|
||||||
player.PrintToChat($" {ChatColors.Green}" + player.GetTranslation("deaf_player_info", enemy.PlayerName));
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy);
|
||||||
enemy.PrintToChat($" {ChatColors.Red}" + enemy.GetTranslation("deaf_enemy_info"));
|
if (enemyEvent == null || !enemyEvent.IsValid) return;
|
||||||
|
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("deaf_player_info", enemy.PlayerName));
|
||||||
|
enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("deaf_enemy_info"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void EnableSkill(CCSPlayerController player)
|
public static void EnableSkill(CCSPlayerController player)
|
||||||
|
|
@ -96,6 +107,9 @@ namespace src.player.skills
|
||||||
if (playerInfo == null) return;
|
if (playerInfo == null) return;
|
||||||
playerInfo.SkillUsed = false;
|
playerInfo.SkillUsed = false;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
||||||
if (enemies.Length > 0)
|
if (enemies.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
@ -103,7 +117,7 @@ namespace src.player.skills
|
||||||
SkillUtils.CreateMenu(player, menuItems);
|
SkillUtils.CreateMenu(player, menuItems);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
|
|
@ -111,6 +125,11 @@ namespace src.player.skills
|
||||||
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
||||||
deafPlayers.TryRemove(targetIndex, out _);
|
deafPlayers.TryRemove(targetIndex, out _);
|
||||||
|
|
||||||
|
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||||
|
if (target != null && target.IsValid && target.PawnIsAlive && !SkillUtils.IsFreezeTime())
|
||||||
|
target.PrintToChat($" {ChatColors.Green}" + target.GetTranslation("deaf_disable_info"));
|
||||||
|
}
|
||||||
|
|
||||||
SkillUtils.CloseMenu(player);
|
SkillUtils.CloseMenu(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -59,12 +59,15 @@ namespace src.player.skills
|
||||||
if (playerPawn?.CBodyComponent == null) return;
|
if (playerPawn?.CBodyComponent == null) return;
|
||||||
if (!player.IsValid || player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return;
|
if (!player.IsValid || player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
var enemy = Utilities.GetPlayers().FirstOrDefault(p => p.Index.ToString() == enemyId);
|
var enemy = Utilities.GetPlayers().FirstOrDefault(p => p.Index.ToString() == enemyId);
|
||||||
|
|
||||||
if (enemy == null)
|
if (enemy == null)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -73,7 +76,10 @@ namespace src.player.skills
|
||||||
|
|
||||||
public static void EnableSkill(CCSPlayerController player)
|
public static void EnableSkill(CCSPlayerController player)
|
||||||
{
|
{
|
||||||
var enemies = Utilities.GetPlayers().Where(p => p.PawnIsAlive && p != player && p.IsValid && !p.IsHLTV && p.Team != CsTeam.Spectator && p.Team != CsTeam.None).ToArray();
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
|
var enemies = Utilities.GetPlayers().Where(p => p != null && p.IsValid && p != player && p.PlayerPawn?.Value?.Health > 0 && !p.IsHLTV && p.Team != CsTeam.Spectator && p.Team != CsTeam.None).ToArray();
|
||||||
if (enemies.Length > 0)
|
if (enemies.Length > 0)
|
||||||
{
|
{
|
||||||
ConcurrentBag<string> skills = [];
|
ConcurrentBag<string> skills = [];
|
||||||
|
|
@ -87,7 +93,7 @@ namespace src.player.skills
|
||||||
if (skillData == null) continue;
|
if (skillData == null) continue;
|
||||||
|
|
||||||
skills.Add(skillData.Skill.ToString());
|
skills.Add(skillData.Skill.ToString());
|
||||||
menuItems.Add(($"\u202A{enemy.PlayerName}\u202C : {player.GetSkillName(skillData.Skill)}", enemy.Index.ToString()));
|
menuItems.Add(($"\u202A{enemy.PlayerName}\u202C : {playerEvent.GetSkillName(skillData.Skill)}", enemy.Index.ToString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
int ctSkills = Event.counterterroristSkills.Count(s => skills.Contains(s.Name));
|
int ctSkills = Event.counterterroristSkills.Count(s => skills.Contains(s.Name));
|
||||||
|
|
@ -100,11 +106,11 @@ namespace src.player.skills
|
||||||
}
|
}
|
||||||
|
|
||||||
SkillUtils.CreateMenu(player, menuItems);
|
SkillUtils.CreateMenu(player, menuItems);
|
||||||
SkillUtils.PrintToChat(player, $"{ChatColors.DarkRed}{player.GetSkillName(skillName)}{ChatColors.Lime}: {player.GetSkillDescription(skillName)}",
|
SkillUtils.PrintToChat(player, $"{ChatColors.DarkRed}{playerEvent.GetSkillName(skillName)}{ChatColors.Lime}: {playerEvent.GetSkillDescription(skillName)}",
|
||||||
border: !Utilities.GetPlayers().Any(p => p.Team == player.Team && p != player) ? "tb" : "t");
|
border: !Utilities.GetPlayers().Any(p => p.Team == player.Team && p != player) ? "tb" : "t");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
|
|
@ -121,6 +127,9 @@ namespace src.player.skills
|
||||||
var enemyInfo = PlayerManager.GetPlayerByIndex(enemy.Index);
|
var enemyInfo = PlayerManager.GetPlayerByIndex(enemy.Index);
|
||||||
if (playerInfo == null || enemyInfo == null) return;
|
if (playerInfo == null || enemyInfo == null) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var enemySkill = enemyInfo.Skill;
|
var enemySkill = enemyInfo.Skill;
|
||||||
bool ctSkill = Event.counterterroristSkills.Any(s => s.Name == enemySkill.ToString());
|
bool ctSkill = Event.counterterroristSkills.Any(s => s.Name == enemySkill.ToString());
|
||||||
bool ttSkill = Event.terroristSkills.Any(s => s.Name == enemySkill.ToString());
|
bool ttSkill = Event.terroristSkills.Any(s => s.Name == enemySkill.ToString());
|
||||||
|
|
@ -135,8 +144,10 @@ namespace src.player.skills
|
||||||
var player = Utilities.GetPlayerFromIndex((int)playerIndex);
|
var player = Utilities.GetPlayerFromIndex((int)playerIndex);
|
||||||
if (player == null || !player.IsValid) return;
|
if (player == null || !player.IsValid) return;
|
||||||
|
|
||||||
Instance.SkillAction(skillName.ToString(), "EnableSkill", [player]);
|
if (!player.IsBot)
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("thief_incorrect_skill", enemyName));
|
Instance.SkillAction(skillName.ToString(), "EnableSkill", [player]);
|
||||||
|
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("thief_incorrect_skill", enemyName));
|
||||||
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -160,7 +171,7 @@ namespace src.player.skills
|
||||||
else
|
else
|
||||||
Instance?.SkillAction(enemySkill.ToString(), "EnableSkill", [player]);
|
Instance?.SkillAction(enemySkill.ToString(), "EnableSkill", [player]);
|
||||||
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
||||||
player.PrintToChat($" {ChatColors.Green}" + player.GetTranslation("duplicator_player_info", enemy.PlayerName));
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("duplicator_player_info", enemy.PlayerName));
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#ffb73b", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", int maxPerServer = -1, Rarity rarity = Rarity.Common) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, maxPerServer, rarity)
|
public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#ffb73b", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", int maxPerServer = -1, Rarity rarity = Rarity.Common) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, maxPerServer, rarity)
|
||||||
|
|
|
||||||
|
|
@ -28,24 +28,27 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
uint playerIndex = player.Index;
|
uint playerIndex = player.Index;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_used_info")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var skill = SkillData.Skills.FirstOrDefault(s => player.GetSkillName(s.Skill).Equals(commands[0], StringComparison.OrdinalIgnoreCase) || s.Skill.ToString().Equals(commands[0], StringComparison.OrdinalIgnoreCase));
|
var skill = SkillData.Skills.FirstOrDefault(s => player.GetSkillName(s.Skill).Equals(commands[0], StringComparison.OrdinalIgnoreCase) || s.Skill.ToString().Equals(commands[0], StringComparison.OrdinalIgnoreCase));
|
||||||
if (skill == null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("skill_not_found_setskill"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("skill_not_found_setskill"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.Skill == skillName && !TakeMoney(player))
|
if (skill.Skill == skillName && !TakeMoney(player))
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("gambler_no_money"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("gambler_no_money"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -96,9 +99,12 @@ namespace src.player.skills
|
||||||
skills.Remove(firstSkill);
|
skills.Remove(firstSkill);
|
||||||
var secondSkill = skills[Instance.Random.Next(skills.Count)];
|
var secondSkill = skills[Instance.Random.Next(skills.Count)];
|
||||||
|
|
||||||
ConcurrentBag<(string, string)> menuItems = [(player.GetSkillName(firstSkill.Skill), firstSkill.Skill.ToString()),
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
(player.GetSkillName(secondSkill.Skill), secondSkill.Skill.ToString())];
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
SkillUtils.CreateMenu(player, menuItems, (player.GetTranslation("gambler_more", SkillsInfo.GetValue<int>(skillName, "refreshPrice")), skillName.ToString(), false));
|
|
||||||
|
ConcurrentBag<(string, string)> menuItems = [(playerEvent.GetSkillName(firstSkill.Skill), firstSkill.Skill.ToString()),
|
||||||
|
(playerEvent.GetSkillName(secondSkill.Skill), secondSkill.Skill.ToString())];
|
||||||
|
SkillUtils.CreateMenu(player, menuItems, (playerEvent.GetTranslation("gambler_more", SkillsInfo.GetValue<int>(skillName, "refreshPrice")), skillName.ToString(), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
using CounterStrikeSharp.API;
|
using CounterStrikeSharp.API;
|
||||||
using CounterStrikeSharp.API.Core;
|
using CounterStrikeSharp.API.Core;
|
||||||
using CounterStrikeSharp.API.Modules.Commands.Targeting;
|
|
||||||
using CounterStrikeSharp.API.Modules.Utils;
|
using CounterStrikeSharp.API.Modules.Utils;
|
||||||
using src.utils;
|
using src.utils;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
|
|
@ -56,30 +55,54 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_used_info")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
if (!uint.TryParse(enemyId, out uint enemyIndex)) { player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index")); return; }
|
|
||||||
|
if (!uint.TryParse(enemyId, out uint enemyIndex)) {
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
|
|
||||||
if (enemy == null)
|
if (enemy == null)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
glitchedPlayers.TryAdd(enemy.Index, 0);
|
glitchedPlayers.TryAdd(enemy.Index, 0);
|
||||||
playersToTarget[player.Index] = enemy.Index;
|
playersToTarget[player.Index] = enemy.Index;
|
||||||
|
|
||||||
enemy.ReplicateConVar("sv_disable_radar", "1");
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy);
|
||||||
|
if (enemyEvent == null || !enemyEvent.IsValid) return;
|
||||||
|
|
||||||
|
enemyEvent.ReplicateConVar("sv_disable_radar", "1");
|
||||||
playerInfo.SkillUsed = true;
|
playerInfo.SkillUsed = true;
|
||||||
|
|
||||||
player.PrintToChat($" {ChatColors.Green}" + player.GetTranslation("glitch_player_info", enemy.PlayerName));
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("glitch_player_info", enemy.PlayerName));
|
||||||
enemy.PrintToChat($" {ChatColors.Red}" + enemy.GetTranslation("glitch_enemy_info"));
|
enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("glitch_enemy_info"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void BotTakeover(EventBotTakeover @event)
|
||||||
|
{
|
||||||
|
var bot = PlayerManager.GetPlayerEvent(@event.Botid);
|
||||||
|
if (bot == null || !bot.IsValid) return;
|
||||||
|
|
||||||
|
var player = @event.Userid;
|
||||||
|
if (player == null || !player.IsValid) return;
|
||||||
|
|
||||||
|
if (!glitchedPlayers.ContainsKey(bot.Index)) return;
|
||||||
|
|
||||||
|
player.ReplicateConVar("sv_disable_radar", "1");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void EnableSkill(CCSPlayerController player)
|
public static void EnableSkill(CCSPlayerController player)
|
||||||
|
|
@ -88,6 +111,9 @@ namespace src.player.skills
|
||||||
if (playerInfo == null) return;
|
if (playerInfo == null) return;
|
||||||
playerInfo.SkillUsed = false;
|
playerInfo.SkillUsed = false;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
||||||
if (enemies.Length > 0)
|
if (enemies.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
@ -95,14 +121,14 @@ namespace src.player.skills
|
||||||
SkillUtils.CreateMenu(player, menuItems);
|
SkillUtils.CreateMenu(player, menuItems);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
{
|
{
|
||||||
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
||||||
{
|
{
|
||||||
var target = Utilities.GetPlayerFromIndex((int)targetIndex);
|
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||||
if (target != null && target.IsValid)
|
if (target != null && target.IsValid)
|
||||||
target.ReplicateConVar("sv_disable_radar", "0");
|
target.ReplicateConVar("sv_disable_radar", "0");
|
||||||
glitchedPlayers.TryRemove(targetIndex, out _);
|
glitchedPlayers.TryRemove(targetIndex, out _);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
using CounterStrikeSharp.API;
|
using CounterStrikeSharp.API;
|
||||||
using CounterStrikeSharp.API.Core;
|
using CounterStrikeSharp.API.Core;
|
||||||
|
using CounterStrikeSharp.API.Modules.Commands.Targeting;
|
||||||
using CounterStrikeSharp.API.Modules.Utils;
|
using CounterStrikeSharp.API.Modules.Utils;
|
||||||
using src.utils;
|
using src.utils;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
|
|
@ -19,25 +20,25 @@ namespace src.player.skills
|
||||||
|
|
||||||
public static void OnTick()
|
public static void OnTick()
|
||||||
{
|
{
|
||||||
float cooldown = SkillsInfo.GetValue<float>(skillName, "cooldown");
|
int cooldown = (int)(SkillsInfo.GetValue<float>(skillName, "cooldown") * 64);
|
||||||
if (Server.TickCount % (int)(cooldown * 64) != 0) return;
|
if (Server.TickCount % cooldown != 0) return;
|
||||||
|
|
||||||
if (players.IsEmpty || jRandomSkills.Instance.GameRules?.FreezePeriod == true) return;
|
if (players.IsEmpty || jRandomSkills.Instance.GameRules?.FreezePeriod == true) return;
|
||||||
int damage = SkillsInfo.GetValue<int>(skillName, "damage");
|
int damage = SkillsInfo.GetValue<int>(skillName, "damage");
|
||||||
|
|
||||||
foreach (var player in Utilities.GetPlayers().Where(p => p.IsValid && p.Team == CsTeam.Terrorist && p.PawnIsAlive))
|
foreach (var player in Utilities.GetPlayers().Where(p => p != null && p.IsValid && p.Team == CsTeam.Terrorist && p.PlayerPawn?.Value?.Health > 0))
|
||||||
{
|
{
|
||||||
var playerEvent = PlayerManager.GetPlayerEvent(player);
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
if (playerEvent == null || !playerEvent.IsValid) continue;
|
if (playerEvent == null || !playerEvent.IsValid) continue;
|
||||||
|
|
||||||
var pawn = playerEvent.PlayerPawn.Value;
|
var pawn = player.PlayerPawn.Value;
|
||||||
if (pawn == null || !pawn.IsValid || pawn.WeaponServices == null) continue;
|
if (pawn == null || !pawn.IsValid || pawn.WeaponServices == null) continue;
|
||||||
|
|
||||||
bool hasC4 = pawn.WeaponServices.MyWeapons.Any(w => w.Value?.DesignerName == "weapon_c4");
|
bool hasC4 = pawn.WeaponServices.MyWeapons.Any(w => w.Value?.DesignerName == "weapon_c4");
|
||||||
|
|
||||||
if (!hasC4) continue;
|
if (!hasC4) continue;
|
||||||
|
|
||||||
SkillUtils.TakeHealth(pawn, damage);
|
SkillUtils.TakeHealth(pawn, damage);
|
||||||
player.ExecuteClientCommand("play sounds/player/burn_damage1");
|
playerEvent?.ExecuteClientCommand($"play player/player_damagebody_0{jRandomSkills.Instance.Random.Next(4, 8)}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -52,7 +53,7 @@ namespace src.player.skills
|
||||||
player.PrintToCenterAlert(player.GetTranslation("hotbomb_hint"));
|
player.PrintToCenterAlert(player.GetTranslation("hotbomb_hint"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void ChangeC4Color()
|
private static void ChangeC4Color(Color color)
|
||||||
{
|
{
|
||||||
Server.NextFrame(() =>
|
Server.NextFrame(() =>
|
||||||
{
|
{
|
||||||
|
|
@ -62,7 +63,7 @@ namespace src.player.skills
|
||||||
var bomb = bombEntities.FirstOrDefault();
|
var bomb = bombEntities.FirstOrDefault();
|
||||||
if (bomb == null) return;
|
if (bomb == null) return;
|
||||||
|
|
||||||
bomb.Render = Color.Red;
|
bomb.Render = color;
|
||||||
Utilities.SetStateChanged(bomb, "CBaseModelEntity", "m_clrRender");
|
Utilities.SetStateChanged(bomb, "CBaseModelEntity", "m_clrRender");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -83,8 +84,8 @@ namespace src.player.skills
|
||||||
{
|
{
|
||||||
if (players.IsEmpty)
|
if (players.IsEmpty)
|
||||||
{
|
{
|
||||||
ChangeC4Color();
|
ChangeC4Color(Color.Red);
|
||||||
foreach (var enemy in Utilities.GetPlayers().Where(p => p.IsValid && p.Team == CsTeam.Terrorist && p.PawnIsAlive))
|
foreach (var enemy in Utilities.GetPlayers().Where(p => p.IsValid && p.Team == CsTeam.Terrorist && p.PlayerPawn?.Value?.Health > 0))
|
||||||
enemy.PrintToCenterAlert(enemy.GetTranslation("hotbomb_hint"));
|
enemy.PrintToCenterAlert(enemy.GetTranslation("hotbomb_hint"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -94,6 +95,13 @@ namespace src.player.skills
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
{
|
{
|
||||||
players.TryRemove(player.Index, out _);
|
players.TryRemove(player.Index, out _);
|
||||||
|
|
||||||
|
if (players.IsEmpty && !SkillUtils.IsFreezeTime())
|
||||||
|
{
|
||||||
|
ChangeC4Color(Color.White);
|
||||||
|
foreach (var enemy in Utilities.GetPlayers().Where(p => p.IsValid && p.Team == CsTeam.Terrorist && p.PlayerPawn?.Value?.Health > 0))
|
||||||
|
enemy.PrintToCenterAlert(enemy.GetTranslation("hotbomb_disable"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#baf081", CsTeam onlyTeam = CsTeam.CounterTerrorist, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", int maxPerServer = 1, Rarity rarity = Rarity.Common, float cooldown = 1, int damage = 2) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, maxPerServer, rarity)
|
public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#baf081", CsTeam onlyTeam = CsTeam.CounterTerrorist, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", int maxPerServer = 1, Rarity rarity = Rarity.Common, float cooldown = 1, int damage = 2) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, maxPerServer, rarity)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
using CounterStrikeSharp.API;
|
using CounterStrikeSharp.API;
|
||||||
using CounterStrikeSharp.API.Core;
|
using CounterStrikeSharp.API.Core;
|
||||||
using CounterStrikeSharp.API.Modules.Commands.Targeting;
|
|
||||||
using CounterStrikeSharp.API.Modules.Utils;
|
using CounterStrikeSharp.API.Modules.Utils;
|
||||||
using src.utils;
|
using src.utils;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
|
|
@ -27,7 +26,12 @@ namespace src.player.skills
|
||||||
{
|
{
|
||||||
var player = Utilities.GetPlayerFromIndex((int)playerIndex);
|
var player = Utilities.GetPlayerFromIndex((int)playerIndex);
|
||||||
if (player == null || !player.IsValid) continue;
|
if (player == null || !player.IsValid) continue;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)playerIndex));
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) continue;
|
||||||
|
|
||||||
SetCrosshair(player, true);
|
SetCrosshair(player, true);
|
||||||
|
SetCrosshair(playerEvent, true);
|
||||||
}
|
}
|
||||||
jammedPlayers.Clear();
|
jammedPlayers.Clear();
|
||||||
jammerToTarget.Clear();
|
jammerToTarget.Clear();
|
||||||
|
|
@ -59,48 +63,79 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_used_info")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
if (!uint.TryParse(enemyId, out uint enemyIndex)) { player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index")); return; }
|
|
||||||
|
if (!uint.TryParse(enemyId, out uint enemyIndex)) {
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
|
|
||||||
if (enemy == null)
|
if (enemy == null)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
jammedPlayers.TryAdd(enemy.Index, 0);
|
jammedPlayers.TryAdd(enemy.Index, 0);
|
||||||
jammerToTarget[player.Index] = enemy.Index;
|
jammerToTarget[player.Index] = enemy.Index;
|
||||||
|
|
||||||
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy);
|
||||||
|
if (enemyEvent == null || !enemyEvent.IsValid) return;
|
||||||
|
|
||||||
SetCrosshair(enemy, false);
|
SetCrosshair(enemy, false);
|
||||||
|
SetCrosshair(enemyEvent, false);
|
||||||
playerInfo.SkillUsed = true;
|
playerInfo.SkillUsed = true;
|
||||||
|
|
||||||
player.PrintToChat($" {ChatColors.Green}" + player.GetTranslation("jammer_player_info", enemy.PlayerName));
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("jammer_player_info", player.PlayerName));
|
||||||
enemy.PrintToChat($" {ChatColors.Red}" + enemy.GetTranslation("jammer_enemy_info"));
|
enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("jammer_enemy_info"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void SetCrosshair(CCSPlayerController player, bool enabled)
|
private static void SetCrosshair(CCSPlayerController player, bool enabled)
|
||||||
{
|
{
|
||||||
var pawn = player.PlayerPawn.Value;
|
var pawn = player.PlayerPawn.Value;
|
||||||
if (pawn == null || !pawn.IsValid) return;
|
if (pawn == null || !pawn.IsValid) return;
|
||||||
|
|
||||||
pawn.HideHUD = (uint)(enabled
|
pawn.HideHUD = (uint)(enabled
|
||||||
? (pawn.HideHUD & ~(1 << 8))
|
? (pawn.HideHUD & ~(1 << 8))
|
||||||
: (pawn.HideHUD | (1 << 8)));
|
: (pawn.HideHUD | (1 << 8)));
|
||||||
|
|
||||||
Utilities.SetStateChanged(pawn, "CBasePlayerPawn", "m_iHideHUD");
|
Utilities.SetStateChanged(pawn, "CBasePlayerPawn", "m_iHideHUD");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void BotTakeover(EventBotTakeover @event)
|
||||||
|
{
|
||||||
|
var bot = PlayerManager.GetPlayerEvent(@event.Botid);
|
||||||
|
if (bot == null || !bot.IsValid) return;
|
||||||
|
|
||||||
|
var player = @event.Userid;
|
||||||
|
if (player == null || !player.IsValid) return;
|
||||||
|
|
||||||
|
if (!jammedPlayers.ContainsKey(bot.Index)) return;
|
||||||
|
|
||||||
|
SetCrosshair(bot, false);
|
||||||
|
SetCrosshair(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
public static void EnableSkill(CCSPlayerController player)
|
public static void EnableSkill(CCSPlayerController player)
|
||||||
{
|
{
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo == null) return;
|
if (playerInfo == null) return;
|
||||||
playerInfo.SkillUsed = false;
|
playerInfo.SkillUsed = false;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
||||||
if (enemies.Length > 0)
|
if (enemies.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
@ -108,16 +143,23 @@ namespace src.player.skills
|
||||||
SkillUtils.CreateMenu(player, menuItems);
|
SkillUtils.CreateMenu(player, menuItems);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
{
|
{
|
||||||
if (jammerToTarget.TryRemove(player.Index, out uint targetIndex))
|
if (jammerToTarget.TryRemove(player.Index, out uint targetIndex))
|
||||||
{
|
{
|
||||||
var target = Utilities.GetPlayerFromIndex((int)targetIndex);
|
var target1 = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||||
if (target != null && target.IsValid)
|
var target2 = Utilities.GetPlayerFromIndex((int)targetIndex);
|
||||||
SetCrosshair(target, true);
|
if (target1 != null && target1.IsValid && target2 != null && target2.IsValid)
|
||||||
|
{
|
||||||
|
SetCrosshair(target1, true);
|
||||||
|
SetCrosshair(target2, true);
|
||||||
|
|
||||||
|
if (target1.PawnIsAlive && !SkillUtils.IsFreezeTime())
|
||||||
|
target1.PrintToChat($" {ChatColors.Green}" + target1.GetTranslation("jammer_disable_info"));
|
||||||
|
}
|
||||||
jammedPlayers.TryRemove(targetIndex, out _);
|
jammedPlayers.TryRemove(targetIndex, out _);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -126,10 +168,15 @@ namespace src.player.skills
|
||||||
|
|
||||||
public static void PlayerDeath(EventPlayerDeath @event)
|
public static void PlayerDeath(EventPlayerDeath @event)
|
||||||
{
|
{
|
||||||
|
var bot = PlayerManager.GetPlayerEvent(@event.Userid);
|
||||||
|
if (bot == null || !bot.IsValid) return;
|
||||||
|
|
||||||
var player = @event.Userid;
|
var player = @event.Userid;
|
||||||
if (player == null || !player.IsValid) return;
|
if (player == null || !player.IsValid) return;
|
||||||
|
|
||||||
|
SetCrosshair(bot, true);
|
||||||
SetCrosshair(player, true);
|
SetCrosshair(player, true);
|
||||||
|
|
||||||
jammedPlayers.TryRemove(player.Index, out _);
|
jammedPlayers.TryRemove(player.Index, out _);
|
||||||
SkillUtils.CloseMenu(player);
|
SkillUtils.CloseMenu(player);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -71,19 +71,27 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_used_info")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
if (!uint.TryParse(enemyId, out uint enemyIndex)) { player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index")); return; }
|
|
||||||
|
if (!uint.TryParse(enemyId, out uint enemyIndex)) {
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
|
|
||||||
if (enemy == null || !enemy.IsValid || enemy.PlayerPawn.Value == null || !enemy.PlayerPawn.Value.IsValid)
|
if (enemy == null || !enemy.IsValid || enemy.PlayerPawn.Value == null || !enemy.PlayerPawn.Value.IsValid)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -91,8 +99,11 @@ namespace src.player.skills
|
||||||
playersToTarget[player.Index] = enemy.Index;
|
playersToTarget[player.Index] = enemy.Index;
|
||||||
playerInfo.SkillUsed = true;
|
playerInfo.SkillUsed = true;
|
||||||
|
|
||||||
player.PrintToChat($" {ChatColors.Green}" + player.GetTranslation("jumpban_player_info", enemy.PlayerName));
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy);
|
||||||
enemy.PrintToChat($" {ChatColors.Red}" + enemy.GetTranslation("jumpban_enemy_info"));
|
if (enemyEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("jumpban_player_info", enemy.PlayerName));
|
||||||
|
enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("jumpban_enemy_info"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void EnableSkill(CCSPlayerController player)
|
public static void EnableSkill(CCSPlayerController player)
|
||||||
|
|
@ -101,6 +112,9 @@ namespace src.player.skills
|
||||||
if (playerInfo == null) return;
|
if (playerInfo == null) return;
|
||||||
playerInfo.SkillUsed = false;
|
playerInfo.SkillUsed = false;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
||||||
if (enemies.Length > 0)
|
if (enemies.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
@ -108,7 +122,7 @@ namespace src.player.skills
|
||||||
SkillUtils.CreateMenu(player, menuItems);
|
SkillUtils.CreateMenu(player, menuItems);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
|
|
@ -119,6 +133,11 @@ namespace src.player.skills
|
||||||
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
||||||
bannedPlayers.TryRemove(targetIndex, out _);
|
bannedPlayers.TryRemove(targetIndex, out _);
|
||||||
|
|
||||||
|
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||||
|
if (target != null && target.IsValid && target.PawnIsAlive && !SkillUtils.IsFreezeTime())
|
||||||
|
target.PrintToChat($" {ChatColors.Green}" + target.GetTranslation("jumpban_disable_info"));
|
||||||
|
}
|
||||||
|
|
||||||
SkillUtils.CloseMenu(player);
|
SkillUtils.CloseMenu(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
using CounterStrikeSharp.API;
|
using CounterStrikeSharp.API;
|
||||||
using CounterStrikeSharp.API.Core;
|
using CounterStrikeSharp.API.Core;
|
||||||
using CounterStrikeSharp.API.Modules.Utils;
|
using CounterStrikeSharp.API.Modules.Utils;
|
||||||
using static src.jRandomSkills;
|
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using src.utils;
|
using src.utils;
|
||||||
|
|
||||||
|
|
@ -41,29 +40,42 @@ namespace src.player.skills
|
||||||
public static void TypeSkill(CCSPlayerController player, string[] commands)
|
public static void TypeSkill(CCSPlayerController player, string[] commands)
|
||||||
{
|
{
|
||||||
if (player == null || !player.IsValid || player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return;
|
if (player == null || !player.IsValid || player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return;
|
||||||
|
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_used_info")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
if (!uint.TryParse(enemyId, out uint enemyIndex)) { player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index")); return; }
|
|
||||||
|
if (!uint.TryParse(enemyId, out uint enemyIndex)) {
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
|
|
||||||
if (enemy == null)
|
if (enemy == null)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SwapHealth(player, enemy);
|
SwapHealth(player, enemy);
|
||||||
playerInfo.SkillUsed = true;
|
playerInfo.SkillUsed = true;
|
||||||
player.PrintToChat($" {ChatColors.Green}" + player.GetTranslation("lifeswap_player_info", enemy.PlayerName));
|
|
||||||
enemy.PrintToChat($" {ChatColors.Red}" + enemy.GetTranslation("lifeswap_enemy_info"));
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("lifeswap_player_info", enemy.PlayerName));
|
||||||
|
|
||||||
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy);
|
||||||
|
if (enemyEvent != null && enemyEvent.IsValid)
|
||||||
|
enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("lifeswap_enemy_info"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void EnableSkill(CCSPlayerController player)
|
public static void EnableSkill(CCSPlayerController player)
|
||||||
|
|
|
||||||
|
|
@ -55,31 +55,56 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_used_info")}" );
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}" );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
if (!uint.TryParse(enemyId, out uint enemyIndex)) { player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index")); return; }
|
|
||||||
|
if (!uint.TryParse(enemyId, out uint enemyIndex)) {
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
|
|
||||||
if (enemy == null)
|
if (enemy == null)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
playersFOV.AddOrUpdate(enemy.Index, enemy.DesiredFOV, (k, v) => enemy.DesiredFOV);
|
playersFOV.AddOrUpdate(enemy.Index, enemy.DesiredFOV, (k, v) => enemy.DesiredFOV);
|
||||||
playersToTarget[player.Index] = enemy.Index;
|
playersToTarget[player.Index] = enemy.Index;
|
||||||
|
|
||||||
enemy.DesiredFOV = SkillsInfo.GetValue<uint>(skillName, "customFOV");
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy);
|
||||||
Utilities.SetStateChanged(enemy, "CBasePlayerController", "m_iDesiredFOV");
|
if (enemyEvent == null || !enemyEvent.IsValid) return;
|
||||||
|
|
||||||
|
enemyEvent.DesiredFOV = SkillsInfo.GetValue<uint>(skillName, "customFOV");
|
||||||
|
Utilities.SetStateChanged(enemyEvent, "CBasePlayerController", "m_iDesiredFOV");
|
||||||
playerInfo.SkillUsed = true;
|
playerInfo.SkillUsed = true;
|
||||||
|
|
||||||
player.PrintToChat($" {ChatColors.Green}" + player.GetTranslation("magnifier_player_info", enemy.PlayerName));
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("magnifier_player_info", enemy.PlayerName));
|
||||||
enemy.PrintToChat($" {ChatColors.Red}" + enemy.GetTranslation("magnifier_enemy_info"));
|
enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("magnifier_enemy_info"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void BotTakeover(EventBotTakeover @event)
|
||||||
|
{
|
||||||
|
var bot = PlayerManager.GetPlayerEvent(@event.Botid);
|
||||||
|
if (bot == null || !bot.IsValid) return;
|
||||||
|
|
||||||
|
var player = @event.Userid;
|
||||||
|
if (player == null || !player.IsValid) return;
|
||||||
|
|
||||||
|
if (!playersFOV.ContainsKey(bot.Index)) return;
|
||||||
|
|
||||||
|
player.DesiredFOV = SkillsInfo.GetValue<uint>(skillName, "customFOV");
|
||||||
|
Utilities.SetStateChanged(player, "CBasePlayerController", "m_iDesiredFOV");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void EnableSkill(CCSPlayerController player)
|
public static void EnableSkill(CCSPlayerController player)
|
||||||
|
|
@ -88,6 +113,9 @@ namespace src.player.skills
|
||||||
if (playerInfo == null) return;
|
if (playerInfo == null) return;
|
||||||
playerInfo.SkillUsed = false;
|
playerInfo.SkillUsed = false;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var enemies = Utilities.GetPlayers().Where(p => p != null && p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p => p != null && p.IsValid && p.Team != player.Team && p.PlayerPawn?.Value != null && p.PlayerPawn.Value.IsValid && p.PlayerPawn.Value.Health > 0 && !p.IsHLTV && p.Team != CsTeam.Spectator && p.Team != CsTeam.None).ToArray();
|
var enemies = Utilities.GetPlayers().Where(p => p != null && p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p => p != null && p.IsValid && p.Team != player.Team && p.PlayerPawn?.Value != null && p.PlayerPawn.Value.IsValid && p.PlayerPawn.Value.Health > 0 && !p.IsHLTV && p.Team != CsTeam.Spectator && p.Team != CsTeam.None).ToArray();
|
||||||
if (enemies.Length > 0)
|
if (enemies.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
@ -95,7 +123,7 @@ namespace src.player.skills
|
||||||
SkillUtils.CreateMenu(player, menuItems);
|
SkillUtils.CreateMenu(player, menuItems);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
|
|
@ -104,7 +132,7 @@ namespace src.player.skills
|
||||||
|
|
||||||
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
||||||
{
|
{
|
||||||
var target = Utilities.GetPlayerFromIndex((int)targetIndex);
|
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||||
if (target != null && target.IsValid)
|
if (target != null && target.IsValid)
|
||||||
if (playersFOV.TryGetValue(targetIndex, out uint fov))
|
if (playersFOV.TryGetValue(targetIndex, out uint fov))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -40,17 +40,26 @@ namespace src.player.skills
|
||||||
public static void TypeSkill(CCSPlayerController player, string[] commands)
|
public static void TypeSkill(CCSPlayerController player, string[] commands)
|
||||||
{
|
{
|
||||||
if (player == null || !player.IsValid || player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return;
|
if (player == null || !player.IsValid || player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return;
|
||||||
|
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_used_info")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
if (!uint.TryParse(enemyId, out uint enemyIndex)) { player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index")); return; }
|
|
||||||
|
if (!uint.TryParse(enemyId, out uint enemyIndex)) {
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
|
|
||||||
if (enemy == null)
|
if (enemy == null)
|
||||||
|
|
@ -61,8 +70,11 @@ namespace src.player.skills
|
||||||
|
|
||||||
SwapMoney(player, enemy);
|
SwapMoney(player, enemy);
|
||||||
playerInfo.SkillUsed = true;
|
playerInfo.SkillUsed = true;
|
||||||
player.PrintToChat($" {ChatColors.Green}" + player.GetTranslation("moneyswap_player_info", enemy.PlayerName));
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("moneyswap_player_info", enemy.PlayerName));
|
||||||
enemy.PrintToChat($" {ChatColors.Red}" + enemy.GetTranslation("moneyswap_enemy_info"));
|
|
||||||
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy);
|
||||||
|
if (enemyEvent != null && enemyEvent.IsValid)
|
||||||
|
enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("moneyswap_enemy_info"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void EnableSkill(CCSPlayerController player)
|
public static void EnableSkill(CCSPlayerController player)
|
||||||
|
|
|
||||||
|
|
@ -110,7 +110,7 @@ namespace src.player.skills
|
||||||
|
|
||||||
foreach (var player in Utilities.GetPlayers())
|
foreach (var player in Utilities.GetPlayers())
|
||||||
{
|
{
|
||||||
if (player.LifeState != (byte)LifeState_t.LIFE_ALIVE)
|
if (player.PlayerPawn?.Value == null || player.PlayerPawn?.Value?.Health <= 0)
|
||||||
invisiblePlayers.TryRemove(player.Index, out _);
|
invisiblePlayers.TryRemove(player.Index, out _);
|
||||||
|
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
|
|
@ -181,6 +181,11 @@ namespace src.player.skills
|
||||||
{
|
{
|
||||||
if (player == null || !player.IsValid) return;
|
if (player == null || !player.IsValid) return;
|
||||||
|
|
||||||
|
if (player.PlayerPawn?.Value?.Health <= 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Server.PrintToChatAll($"Update ninja for {player.PlayerName}");
|
||||||
|
|
||||||
var playerEvent = PlayerManager.GetPlayerEvent(player);
|
var playerEvent = PlayerManager.GetPlayerEvent(player);
|
||||||
if (playerEvent == null || !playerEvent.IsValid) return;
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,12 @@ namespace src.player.skills
|
||||||
|
|
||||||
public static void OnTick()
|
public static void OnTick()
|
||||||
{
|
{
|
||||||
if (Server.TickCount % (int)(64 * SkillsInfo.GetValue<float>(skillName, "Cooldown")) == 0)
|
int cooldown = (int)(64 * SkillsInfo.GetValue<float>(skillName, "Cooldown"));
|
||||||
|
|
||||||
|
if (Server.TickCount % cooldown == 0)
|
||||||
{
|
{
|
||||||
|
int cooldown2 = cooldown * 2;
|
||||||
|
|
||||||
foreach (var playerIndex in poisonedPlayers.Keys)
|
foreach (var playerIndex in poisonedPlayers.Keys)
|
||||||
{
|
{
|
||||||
var player = Utilities.GetPlayerFromIndex((int)playerIndex);
|
var player = Utilities.GetPlayerFromIndex((int)playerIndex);
|
||||||
|
|
@ -39,8 +43,13 @@ namespace src.player.skills
|
||||||
var pawn = player.PlayerPawn.Value;
|
var pawn = player.PlayerPawn.Value;
|
||||||
if (pawn == null || !pawn.IsValid) continue;
|
if (pawn == null || !pawn.IsValid) continue;
|
||||||
|
|
||||||
|
if (Jester.GetJesterInfo(playerIndex)?.Active == true) continue;
|
||||||
|
|
||||||
if (pawn.Health <= SkillsInfo.GetValue<int>(skillName, "MinHealth")) continue;
|
if (pawn.Health <= SkillsInfo.GetValue<int>(skillName, "MinHealth")) continue;
|
||||||
SkillUtils.TakeHealth(pawn, SkillsInfo.GetValue<int>(skillName, "Damage"));
|
SkillUtils.TakeHealth(pawn, SkillsInfo.GetValue<int>(skillName, "Damage"));
|
||||||
|
|
||||||
|
if (Server.TickCount % cooldown2 == 0)
|
||||||
|
PlayerManager.GetPlayerFromEvent(player)?.ExecuteClientCommand($"play player/player_damagebody_0{jRandomSkills.Instance.Random.Next(4, 8)}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -64,19 +73,27 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_used_info")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
if (!uint.TryParse(enemyId, out uint enemyIndex)) { player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index")); return; }
|
|
||||||
|
if (!uint.TryParse(enemyId, out uint enemyIndex)) {
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
|
|
||||||
if (enemy == null)
|
if (enemy == null)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -84,8 +101,11 @@ namespace src.player.skills
|
||||||
playersToTarget[player.Index] = enemy.Index;
|
playersToTarget[player.Index] = enemy.Index;
|
||||||
playerInfo.SkillUsed = true;
|
playerInfo.SkillUsed = true;
|
||||||
|
|
||||||
player.PrintToChat($" {ChatColors.Green}" + player.GetTranslation("poison_player_info", enemy.PlayerName));
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy);
|
||||||
enemy.PrintToChat($" {ChatColors.Red}" + enemy.GetTranslation("poison_enemy_info"));
|
if (enemyEvent == null || !enemyEvent.IsValid) return;
|
||||||
|
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("poison_player_info", enemy.PlayerName));
|
||||||
|
enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("poison_enemy_info"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void EnableSkill(CCSPlayerController player)
|
public static void EnableSkill(CCSPlayerController player)
|
||||||
|
|
@ -94,6 +114,9 @@ namespace src.player.skills
|
||||||
if (playerInfo == null) return;
|
if (playerInfo == null) return;
|
||||||
playerInfo.SkillUsed = false;
|
playerInfo.SkillUsed = false;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
||||||
if (enemies.Length > 0)
|
if (enemies.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
@ -101,7 +124,7 @@ namespace src.player.skills
|
||||||
SkillUtils.CreateMenu(player, menuItems);
|
SkillUtils.CreateMenu(player, menuItems);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
|
|
@ -109,6 +132,11 @@ namespace src.player.skills
|
||||||
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
||||||
poisonedPlayers.TryRemove(targetIndex, out _);
|
poisonedPlayers.TryRemove(targetIndex, out _);
|
||||||
|
|
||||||
|
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||||
|
if (target != null && target.IsValid && target.PawnIsAlive && !SkillUtils.IsFreezeTime())
|
||||||
|
target.PrintToChat($" {ChatColors.Green}" + target.GetTranslation("poison_disable_info"));
|
||||||
|
}
|
||||||
|
|
||||||
SkillUtils.CloseMenu(player);
|
SkillUtils.CloseMenu(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,13 @@ namespace src.player.skills
|
||||||
private static readonly object setLock = new();
|
private static readonly object setLock = new();
|
||||||
private static readonly string[] disabledWeapons =
|
private static readonly string[] disabledWeapons =
|
||||||
[
|
[
|
||||||
"ak47", "m4a1", "m4a4", "m4a1_silencer", "famas", "galilar", "aug", "sg553", "mp9", "mac10", "bizon", "mp7", "ump45",
|
"weapon_ak47", "weapon_m4a4", "weapon_m4a1", "weapon_m4a1_silencer",
|
||||||
"p90", "mp5sd", "ssg08", "awp", "scar20", "g3sg1", "nova", "xm1014", "mag7", "sawedoff", "m249", "negev"
|
"weapon_famas", "weapon_galilar", "weapon_aug", "weapon_sg553",
|
||||||
|
"weapon_mp9", "weapon_mac10", "weapon_bizon", "weapon_mp7",
|
||||||
|
"weapon_ump45", "weapon_p90", "weapon_mp5sd", "weapon_ssg08",
|
||||||
|
"weapon_awp", "weapon_scar20", "weapon_g3sg1", "weapon_nova",
|
||||||
|
"weapon_xm1014", "weapon_mag7", "weapon_sawedoff", "weapon_m249",
|
||||||
|
"weapon_negev", "weapon_sg556"
|
||||||
];
|
];
|
||||||
|
|
||||||
public static void LoadSkill()
|
public static void LoadSkill()
|
||||||
|
|
@ -37,11 +42,14 @@ namespace src.player.skills
|
||||||
|
|
||||||
public static void WeaponEquip(EventItemEquip @event)
|
public static void WeaponEquip(EventItemEquip @event)
|
||||||
{
|
{
|
||||||
var player = PlayerManager.GetPlayerEvent(@event.Userid);
|
var player = @event.Userid;
|
||||||
|
var playerEvent = PlayerManager.GetPlayerEvent(@event.Userid);
|
||||||
var weapon = @event.Item;
|
var weapon = @event.Item;
|
||||||
if (player == null || !player.IsValid) return;
|
|
||||||
if (!bannedPlayers.ContainsKey(player.Index) || !disabledWeapons.Contains(weapon)) return;
|
if (player == null || !player.IsValid || playerEvent == null || !playerEvent.IsValid) return;
|
||||||
player.ExecuteClientCommand("slot3");
|
if (!bannedPlayers.ContainsKey(playerEvent.Index) || !disabledWeapons.Contains("weapon_" + weapon)) return;
|
||||||
|
|
||||||
|
SetWeaponAttack(player, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void OnTick()
|
public static void OnTick()
|
||||||
|
|
@ -66,39 +74,40 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_used_info")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
if (!uint.TryParse(enemyId, out uint enemyIndex)) { player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index")); return; }
|
|
||||||
|
if (!uint.TryParse(enemyId, out uint enemyIndex)) {
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
|
|
||||||
if (enemy == null)
|
if (enemy == null)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bannedPlayers.TryAdd(enemy.Index, 0);
|
bannedPlayers.TryAdd(enemy.Index, 0);
|
||||||
playersToTarget[player.Index] = enemy.Index;
|
playersToTarget[player.Index] = enemy.Index;
|
||||||
CheckWeapon(enemy);
|
SetWeaponAttack(enemy, true);
|
||||||
playerInfo.SkillUsed = true;
|
playerInfo.SkillUsed = true;
|
||||||
|
|
||||||
player.PrintToChat($" {ChatColors.Green}" + player.GetTranslation("primaryban_player_info", enemy.PlayerName));
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy);
|
||||||
enemy.PrintToChat($" {ChatColors.Red}" + enemy.GetTranslation("primaryban_enemy_info"));
|
if (enemyEvent == null || !enemyEvent.IsValid) return;
|
||||||
}
|
|
||||||
|
|
||||||
private static void CheckWeapon(CCSPlayerController player)
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("primaryban_player_info", enemy.PlayerName));
|
||||||
{
|
enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("primaryban_enemy_info"));
|
||||||
var activeWeapon = player.PlayerPawn.Value?.WeaponServices?.ActiveWeapon?.Value;
|
|
||||||
if (activeWeapon == null || !activeWeapon.IsValid) return;
|
|
||||||
if (activeWeapon.DesignerName == null || string.IsNullOrEmpty(activeWeapon.DesignerName)) return;
|
|
||||||
|
|
||||||
if (!bannedPlayers.ContainsKey(player.Index) || !disabledWeapons.Contains(activeWeapon.DesignerName?.Replace("weapon_", ""))) return;
|
|
||||||
player.ExecuteClientCommand("slot3");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void EnableSkill(CCSPlayerController player)
|
public static void EnableSkill(CCSPlayerController player)
|
||||||
|
|
@ -107,6 +116,9 @@ namespace src.player.skills
|
||||||
if (playerInfo == null) return;
|
if (playerInfo == null) return;
|
||||||
playerInfo.SkillUsed = false;
|
playerInfo.SkillUsed = false;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
||||||
if (enemies.Length > 0)
|
if (enemies.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
@ -114,7 +126,7 @@ namespace src.player.skills
|
||||||
SkillUtils.CreateMenu(player, menuItems);
|
SkillUtils.CreateMenu(player, menuItems);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
|
|
@ -122,6 +134,14 @@ namespace src.player.skills
|
||||||
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
||||||
bannedPlayers.TryRemove(targetIndex, out _);
|
bannedPlayers.TryRemove(targetIndex, out _);
|
||||||
|
|
||||||
|
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||||
|
if (target != null && target.IsValid && target.PawnIsAlive && !SkillUtils.IsFreezeTime())
|
||||||
|
{
|
||||||
|
target.PrintToChat($" {ChatColors.Green}" + target.GetTranslation("primaryban_disable_info"));
|
||||||
|
SetWeaponAttack(target, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
SkillUtils.CloseMenu(player);
|
SkillUtils.CloseMenu(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -131,9 +151,32 @@ namespace src.player.skills
|
||||||
if (player == null || !player.IsValid) return;
|
if (player == null || !player.IsValid) return;
|
||||||
|
|
||||||
bannedPlayers.TryRemove(player.Index, out _);
|
bannedPlayers.TryRemove(player.Index, out _);
|
||||||
|
SetWeaponAttack(player, false);
|
||||||
SkillUtils.CloseMenu(player);
|
SkillUtils.CloseMenu(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void SetWeaponAttack(CCSPlayerController? player, bool disableWeapon)
|
||||||
|
{
|
||||||
|
player = PlayerManager.GetPlayerEvent(player);
|
||||||
|
if (player == null || !player.IsValid) return;
|
||||||
|
|
||||||
|
var pawn = player?.PlayerPawn?.Value;
|
||||||
|
if (pawn == null || !pawn.IsValid || pawn.WeaponServices == null) return;
|
||||||
|
foreach (var weapon in pawn.WeaponServices.MyWeapons)
|
||||||
|
if (weapon != null && weapon.IsValid && weapon.Value != null && weapon.Value.IsValid && !string.IsNullOrEmpty(weapon.Value.DesignerName))
|
||||||
|
{
|
||||||
|
string weaponName = weapon.Value.DesignerName;
|
||||||
|
if (disabledWeapons.Contains(weaponName))
|
||||||
|
{
|
||||||
|
weapon.Value.NextPrimaryAttackTick = disableWeapon ? int.MaxValue : Server.TickCount;
|
||||||
|
weapon.Value.NextSecondaryAttackTick = disableWeapon ? int.MaxValue : Server.TickCount;
|
||||||
|
|
||||||
|
Utilities.SetStateChanged(weapon.Value, "CBasePlayerWeapon", "m_nNextPrimaryAttackTick");
|
||||||
|
Utilities.SetStateChanged(weapon.Value, "CBasePlayerWeapon", "m_nNextSecondaryAttackTick");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#ffc061", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", int maxPerServer = -1, Rarity rarity = Rarity.Common) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, maxPerServer, rarity)
|
public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#ffc061", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", int maxPerServer = -1, Rarity rarity = Rarity.Common) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, maxPerServer, rarity)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -73,23 +73,26 @@ namespace src.player.skills
|
||||||
if (playerPawn?.CBodyComponent == null) return;
|
if (playerPawn?.CBodyComponent == null) return;
|
||||||
if (player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return;
|
if (player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
if (commands == null || commands.Length == 0)
|
if (commands == null || commands.Length == 0)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
if (!uint.TryParse(enemyId, out uint enemyIndex))
|
if (!uint.TryParse(enemyId, out uint enemyIndex))
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
if (enemy == null || !enemy.IsValid)
|
if (enemy == null || !enemy.IsValid)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,11 +103,14 @@ namespace src.player.skills
|
||||||
{
|
{
|
||||||
if (player == null || !player.IsValid) return;
|
if (player == null || !player.IsValid) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var enemies = Utilities.GetPlayers()
|
var enemies = Utilities.GetPlayers()
|
||||||
.Where(p => p != null
|
.Where(p => p != null
|
||||||
&& p.PawnIsAlive
|
|
||||||
&& p.Team != player.Team
|
|
||||||
&& p.IsValid
|
&& p.IsValid
|
||||||
|
&& p.Team != player.Team
|
||||||
|
&& p.PlayerPawn?.Value?.Health > 0
|
||||||
&& p.Team != CsTeam.Spectator
|
&& p.Team != CsTeam.Spectator
|
||||||
&& p.Team != CsTeam.None)
|
&& p.Team != CsTeam.None)
|
||||||
.ToArray();
|
.ToArray();
|
||||||
|
|
@ -128,7 +134,7 @@ namespace src.player.skills
|
||||||
border: !Utilities.GetPlayers().Any(p => p != null && p.Team == player.Team && p != player) ? "tb" : "t");
|
border: !Utilities.GetPlayers().Any(p => p != null && p.Team == player.Team && p != player) ? "tb" : "t");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
|
|
@ -167,8 +173,13 @@ namespace src.player.skills
|
||||||
var p = Utilities.GetPlayerFromIndex((int)playerIndex);
|
var p = Utilities.GetPlayerFromIndex((int)playerIndex);
|
||||||
if (p == null || !p.IsValid) return;
|
if (p == null || !p.IsValid) return;
|
||||||
|
|
||||||
Instance.SkillAction(skillName.ToString(), "EnableSkill", [p]);
|
var playerEvent = PlayerManager.GetPlayerFromEvent(p);
|
||||||
p.PrintToChat($" {ChatColors.Red}" + p.GetTranslation("thief_incorrect_skill", e.PlayerName));
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
|
if (!player.IsBot)
|
||||||
|
Instance.SkillAction(skillName.ToString(), "EnableSkill", [p]);
|
||||||
|
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("thief_incorrect_skill", e.PlayerName));
|
||||||
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -182,6 +193,9 @@ namespace src.player.skills
|
||||||
var p = Utilities.GetPlayerFromIndex((int)playerIndex);
|
var p = Utilities.GetPlayerFromIndex((int)playerIndex);
|
||||||
if (p == null || !p.IsValid) return;
|
if (p == null || !p.IsValid) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(p);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var pInfo = PlayerManager.GetPlayerByIndex(p.Index);
|
var pInfo = PlayerManager.GetPlayerByIndex(p.Index);
|
||||||
if (pInfo == null) return;
|
if (pInfo == null) return;
|
||||||
|
|
||||||
|
|
@ -191,7 +205,7 @@ namespace src.player.skills
|
||||||
SkillUtils.CloseMenu(p);
|
SkillUtils.CloseMenu(p);
|
||||||
Instance.SkillAction(enemySkill.ToString(), "EnableSkill", [p]);
|
Instance.SkillAction(enemySkill.ToString(), "EnableSkill", [p]);
|
||||||
|
|
||||||
p.PrintToChat($" {ChatColors.Green}" + p.GetTranslation("thief_player_info", e.PlayerName));
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("thief_player_info", e.PlayerName));
|
||||||
|
|
||||||
if (SkillsInfo.GetValue<bool>(enemySkill, "disableOnFreezeTime") && SkillUtils.IsFreezeTime())
|
if (SkillsInfo.GetValue<bool>(enemySkill, "disableOnFreezeTime") && SkillUtils.IsFreezeTime())
|
||||||
{
|
{
|
||||||
|
|
@ -218,11 +232,14 @@ namespace src.player.skills
|
||||||
var e = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var e = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
if (e == null || !e.IsValid) return;
|
if (e == null || !e.IsValid) return;
|
||||||
|
|
||||||
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(e);
|
||||||
|
if (enemyEvent == null || !enemyEvent.IsValid) return;
|
||||||
|
|
||||||
Instance.SkillAction(enemySkill.ToString(), "DisableSkill", [e]);
|
Instance.SkillAction(enemySkill.ToString(), "DisableSkill", [e]);
|
||||||
|
|
||||||
eInfo.SpecialSkill = enemySkill;
|
eInfo.SpecialSkill = enemySkill;
|
||||||
eInfo.Skill = Skills.None;
|
eInfo.Skill = Skills.None;
|
||||||
e.PrintToChat($" {ChatColors.Red}" + e.GetTranslation("thief_enemy_info"));
|
enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("thief_enemy_info"));
|
||||||
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,9 @@ namespace src.player.skills
|
||||||
if (playerInfo == null) return;
|
if (playerInfo == null) return;
|
||||||
playerInfo.SkillUsed = false;
|
playerInfo.SkillUsed = false;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
var enemies = Utilities.GetPlayers().Where(p =>p != null &&p.IsValid).Select(p => PlayerManager.GetPlayerEvent(p)).Where(p =>p != null &&p.IsValid &&p.Team != player.Team &&p.PlayerPawn?.Value != null &&p.PlayerPawn.Value.IsValid &&p.PlayerPawn.Value.Health > 0 &&!p.IsHLTV &&p.Team != CsTeam.Spectator&& p.Team != CsTeam.None).ToArray();
|
||||||
if (enemies.Length > 0)
|
if (enemies.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
@ -44,14 +47,20 @@ namespace src.player.skills
|
||||||
SkillUtils.CreateMenu(player, menuItems);
|
SkillUtils.CreateMenu(player, menuItems);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DisableSkill(CCSPlayerController player)
|
public static void DisableSkill(CCSPlayerController player)
|
||||||
{
|
{
|
||||||
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
||||||
|
{
|
||||||
infectedPlayers.TryRemove(targetIndex, out _);
|
infectedPlayers.TryRemove(targetIndex, out _);
|
||||||
|
|
||||||
|
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||||
|
if (target != null && target.IsValid && target.PawnIsAlive && !SkillUtils.IsFreezeTime())
|
||||||
|
target.PrintToChat($" {ChatColors.Green}{target.GetTranslation("wildthrow_disable_info")}");
|
||||||
|
}
|
||||||
|
|
||||||
SkillUtils.CloseMenu(player);
|
SkillUtils.CloseMenu(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,19 +109,27 @@ namespace src.player.skills
|
||||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||||
if (playerInfo?.Skill != skillName) return;
|
if (playerInfo?.Skill != skillName) return;
|
||||||
|
|
||||||
|
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||||
|
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||||
|
|
||||||
if (playerInfo.SkillUsed)
|
if (playerInfo.SkillUsed)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}{player.GetTranslation("areareaper_used_info")}");
|
playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string enemyId = commands[0];
|
string enemyId = commands[0];
|
||||||
if (!uint.TryParse(enemyId, out uint enemyIndex)) { player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index")); return; }
|
|
||||||
|
if (!uint.TryParse(enemyId, out uint enemyIndex)) {
|
||||||
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex);
|
||||||
|
|
||||||
if (enemy == null)
|
if (enemy == null)
|
||||||
{
|
{
|
||||||
player.PrintToChat($" {ChatColors.Red}" + player.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
playerEvent.PrintToChat($" {ChatColors.Red}" + playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -120,7 +137,12 @@ namespace src.player.skills
|
||||||
playersToTarget[player.Index] = enemy.Index;
|
playersToTarget[player.Index] = enemy.Index;
|
||||||
|
|
||||||
playerInfo.SkillUsed = true;
|
playerInfo.SkillUsed = true;
|
||||||
player.PrintToChat($" {ChatColors.Green}" + player.GetTranslation("wildthrow_player_info", enemy.PlayerName));
|
playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("wildthrow_player_info", enemy.PlayerName));
|
||||||
|
|
||||||
|
var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy);
|
||||||
|
if (enemyEvent == null || !enemyEvent.IsValid) return;
|
||||||
|
|
||||||
|
enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("wildthrow_enemy_info"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void OnEntitySpawned(CEntityInstance @event)
|
public static void OnEntitySpawned(CEntityInstance @event)
|
||||||
|
|
@ -137,6 +159,9 @@ namespace src.player.skills
|
||||||
if (pawn.Controller.Value == null || !pawn.Controller.Value.IsValid) return;
|
if (pawn.Controller.Value == null || !pawn.Controller.Value.IsValid) return;
|
||||||
var player = pawn.Controller.Value.As<CCSPlayerController>();
|
var player = pawn.Controller.Value.As<CCSPlayerController>();
|
||||||
|
|
||||||
|
player = PlayerManager.GetPlayerEvent(player);
|
||||||
|
if (player == null || !player.IsValid) return;
|
||||||
|
|
||||||
if (!infectedPlayers.ContainsKey(player.Index)) return;
|
if (!infectedPlayers.ContainsKey(player.Index)) return;
|
||||||
|
|
||||||
Server.NextFrame(() => {
|
Server.NextFrame(() => {
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1486,7 +1486,7 @@
|
||||||
"Active": true,
|
"Active": true,
|
||||||
"Name": "AreaReaper",
|
"Name": "AreaReaper",
|
||||||
"RequiredPermission": "",
|
"RequiredPermission": "",
|
||||||
"MaxPerServer": -1,
|
"MaxPerServer": 1,
|
||||||
"Rarity": "Common"
|
"Rarity": "Common"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -24,6 +24,7 @@
|
||||||
"areareaper_select_info": "Standort zum Deaktivieren auswählen:",
|
"areareaper_select_info": "Standort zum Deaktivieren auswählen:",
|
||||||
"areareaper_site_disabled": "Bombenstandort {0} wurde deaktiviert – dort können keine Bomben platziert werden!",
|
"areareaper_site_disabled": "Bombenstandort {0} wurde deaktiviert – dort können keine Bomben platziert werden!",
|
||||||
"areareaper_used_info": "Deine Fähigkeit wurde bereits eingesetzt.",
|
"areareaper_used_info": "Deine Fähigkeit wurde bereits eingesetzt.",
|
||||||
|
"areareaper_teammates_info": "Bereich {0} wurde für das Pflanzen der Bombe gesperrt.",
|
||||||
"areareaper_bombsite_disabled": "Dieser Bombenplatz wurde deaktiviert!",
|
"areareaper_bombsite_disabled": "Dieser Bombenplatz wurde deaktiviert!",
|
||||||
|
|
||||||
"armored": "Gepanzert",
|
"armored": "Gepanzert",
|
||||||
|
|
@ -62,6 +63,7 @@
|
||||||
"carefulbullets": "Vorsichtige Kugeln",
|
"carefulbullets": "Vorsichtige Kugeln",
|
||||||
"carefulbullets_desc": "Wähle einen Spieler aus, der für jeden Fehlschuss Schaden nimmt",
|
"carefulbullets_desc": "Wähle einen Spieler aus, der für jeden Fehlschuss Schaden nimmt",
|
||||||
"carefulbullets_enemy_info": "Von nun an wird Ungenauigkeit buchstäblich wehtun.",
|
"carefulbullets_enemy_info": "Von nun an wird Ungenauigkeit buchstäblich wehtun.",
|
||||||
|
"carefulbullets_disable_info": "Fehlschüsse verursachen keinen Schaden mehr.",
|
||||||
"carefulbullets_player_info": "‚{0}‘ muss jetzt vorsichtiger sein.",
|
"carefulbullets_player_info": "‚{0}‘ muss jetzt vorsichtiger sein.",
|
||||||
"carefulbullets_select_info": "Fehler schaden dem Spieler:",
|
"carefulbullets_select_info": "Fehler schaden dem Spieler:",
|
||||||
|
|
||||||
|
|
@ -85,6 +87,7 @@
|
||||||
"darkness": "Dunkelheit",
|
"darkness": "Dunkelheit",
|
||||||
"darkness_desc": "Wendet einen Dunkelheitseffekt auf einen ausgewählten Gegner an",
|
"darkness_desc": "Wendet einen Dunkelheitseffekt auf einen ausgewählten Gegner an",
|
||||||
"darkness_enemy_info": "Lass die Lichter ausgehen",
|
"darkness_enemy_info": "Lass die Lichter ausgehen",
|
||||||
|
"darkness_disable_info": "Das Licht ist zurück.",
|
||||||
"darkness_player_info": "Die Dunkelheit hat den Spieler \"{0}\" überwältigt.",
|
"darkness_player_info": "Die Dunkelheit hat den Spieler \"{0}\" überwältigt.",
|
||||||
"darkness_select_info": "Wähle einen Spieler für die Dunkelheit aus:",
|
"darkness_select_info": "Wähle einen Spieler für die Dunkelheit aus:",
|
||||||
|
|
||||||
|
|
@ -97,6 +100,7 @@
|
||||||
"deaf": "Taub",
|
"deaf": "Taub",
|
||||||
"deaf_desc": "Wähle einen Spieler aus, für den alle Sounds stummgeschaltet werden sollen",
|
"deaf_desc": "Wähle einen Spieler aus, für den alle Sounds stummgeschaltet werden sollen",
|
||||||
"deaf_enemy_info": "Deine Kopfhörer haben das Spiel verlassen.",
|
"deaf_enemy_info": "Deine Kopfhörer haben das Spiel verlassen.",
|
||||||
|
"deaf_disable_info": "Du kannst wieder hören.",
|
||||||
"deaf_player_info": "Der Ton für den Spieler ‚{0}‘ wurde deaktiviert.",
|
"deaf_player_info": "Der Ton für den Spieler ‚{0}‘ wurde deaktiviert.",
|
||||||
"deaf_select_info": "Alle Töne für den Spieler stummschalten:",
|
"deaf_select_info": "Alle Töne für den Spieler stummschalten:",
|
||||||
|
|
||||||
|
|
@ -167,6 +171,7 @@
|
||||||
"glitch": "Glitch",
|
"glitch": "Glitch",
|
||||||
"glitch_desc": "Deaktiviert das Radar für einen ausgewählten Gegner",
|
"glitch_desc": "Deaktiviert das Radar für einen ausgewählten Gegner",
|
||||||
"glitch_enemy_info": "Dein Radar wurde deaktiviert",
|
"glitch_enemy_info": "Dein Radar wurde deaktiviert",
|
||||||
|
"glitch_disable_info": "Dein Radar funktioniert wieder.",
|
||||||
"glitch_player_info": "Das Radar des Spielers ‚{0}‘ wurde deaktiviert.",
|
"glitch_player_info": "Das Radar des Spielers ‚{0}‘ wurde deaktiviert.",
|
||||||
"glitch_select_info": "Radar des Spielers ausschalten:",
|
"glitch_select_info": "Radar des Spielers ausschalten:",
|
||||||
|
|
||||||
|
|
@ -196,6 +201,7 @@
|
||||||
"hotbomb": "Heiße Bombe",
|
"hotbomb": "Heiße Bombe",
|
||||||
"hotbomb_desc": "Solange du am Leben bist, fügt die Bombe ihrem Träger Schaden zu",
|
"hotbomb_desc": "Solange du am Leben bist, fügt die Bombe ihrem Träger Schaden zu",
|
||||||
"hotbomb_hint": "Vorsicht, die Bombe ist heiß!",
|
"hotbomb_hint": "Vorsicht, die Bombe ist heiß!",
|
||||||
|
"hotbomb_disable_info": "Die Bombe ist nicht mehr heiß.",
|
||||||
|
|
||||||
"iana": "Hologramm",
|
"iana": "Hologramm",
|
||||||
"iana_desc": "Klicken Sie auf [css_useSkill], um Ihr Hologramm für einige Sekunden zu steuern",
|
"iana_desc": "Klicken Sie auf [css_useSkill], um Ihr Hologramm für einige Sekunden zu steuern",
|
||||||
|
|
@ -218,6 +224,7 @@
|
||||||
"jammer": "Störsender",
|
"jammer": "Störsender",
|
||||||
"jammer_desc": "Wähle einen Spieler aus, um dessen Fadenkreuz zu deaktivieren",
|
"jammer_desc": "Wähle einen Spieler aus, um dessen Fadenkreuz zu deaktivieren",
|
||||||
"jammer_enemy_info": "Dein Fadenkreuz wurde deaktiviert.",
|
"jammer_enemy_info": "Dein Fadenkreuz wurde deaktiviert.",
|
||||||
|
"jammer_disable_info": "Dein Fadenkreuz funktioniert wieder.",
|
||||||
"jammer_player_info": "Das Fadenkreuz von Spieler ‚{0}‘ wurde deaktiviert.",
|
"jammer_player_info": "Das Fadenkreuz von Spieler ‚{0}‘ wurde deaktiviert.",
|
||||||
"jammer_select_info": "Fadenkreuz des Spielers deaktivieren:",
|
"jammer_select_info": "Fadenkreuz des Spielers deaktivieren:",
|
||||||
|
|
||||||
|
|
@ -230,6 +237,7 @@
|
||||||
"jumpban": "Beinlos",
|
"jumpban": "Beinlos",
|
||||||
"jumpban_desc": "Wähle einen Spieler, der nicht springen kann",
|
"jumpban_desc": "Wähle einen Spieler, der nicht springen kann",
|
||||||
"jumpban_enemy_info": "Jemand hat dir die Beine abgeschnitten.",
|
"jumpban_enemy_info": "Jemand hat dir die Beine abgeschnitten.",
|
||||||
|
"jumpban_disable_info": "Du kannst deine Beine wieder benutzen.",
|
||||||
"jumpban_player_info": "Der Spieler ‚{0}‘ kann nicht mehr springen.",
|
"jumpban_player_info": "Der Spieler ‚{0}‘ kann nicht mehr springen.",
|
||||||
"jumpban_select_info": "Spieler vom Springen ausschließen:",
|
"jumpban_select_info": "Spieler vom Springen ausschließen:",
|
||||||
|
|
||||||
|
|
@ -260,6 +268,7 @@
|
||||||
"magnifier": "Lupe",
|
"magnifier": "Lupe",
|
||||||
"magnifier_desc": "Vergrößert den Bildschirm des Gegners und verringert dessen Sichtfeld",
|
"magnifier_desc": "Vergrößert den Bildschirm des Gegners und verringert dessen Sichtfeld",
|
||||||
"magnifier_enemy_info": "Dein Sichtfeld wurde verzerrt!",
|
"magnifier_enemy_info": "Dein Sichtfeld wurde verzerrt!",
|
||||||
|
"magnifier_disable_info": "Deine Sicht ist wieder normal.",
|
||||||
"magnifier_player_info": "Der Spieler ‚{0}‘ wurde in den Zoom-Modus versetzt.",
|
"magnifier_player_info": "Der Spieler ‚{0}‘ wurde in den Zoom-Modus versetzt.",
|
||||||
"magnifier_select_info": "Bildschirm des Spielers vergrößern:",
|
"magnifier_select_info": "Bildschirm des Spielers vergrößern:",
|
||||||
|
|
||||||
|
|
@ -321,12 +330,14 @@
|
||||||
"poison": "Gift",
|
"poison": "Gift",
|
||||||
"poison_desc": "Wähle einen Spieler aus, der alle paar Sekunden Schaden nimmt",
|
"poison_desc": "Wähle einen Spieler aus, der alle paar Sekunden Schaden nimmt",
|
||||||
"poison_enemy_info": "Du wurdest vergiftet",
|
"poison_enemy_info": "Du wurdest vergiftet",
|
||||||
|
"poison_disable_info": "Du bist jetzt immun gegen Gift.",
|
||||||
"poison_player_info": "Der Spieler ‚{0}‘ wurde vergiftet",
|
"poison_player_info": "Der Spieler ‚{0}‘ wurde vergiftet",
|
||||||
"poison_select_info": "Einen Spieler vergiften:",
|
"poison_select_info": "Einen Spieler vergiften:",
|
||||||
|
|
||||||
"primaryban": "Keine Gewehre",
|
"primaryban": "Keine Gewehre",
|
||||||
"primaryban_desc": "Wähle einen Spieler aus, der keine Gewehre verwenden kann",
|
"primaryban_desc": "Wähle einen Spieler aus, der keine Gewehre verwenden kann",
|
||||||
"primaryban_enemy_info": "Du kannst keine Gewehre mehr verwenden.",
|
"primaryban_enemy_info": "Du kannst keine Gewehre mehr verwenden.",
|
||||||
|
"primaryban_disable_info": "Du kannst wieder Gewehre benutzen.",
|
||||||
"primaryban_player_info": "Der Spieler ‚{0}‘ kann keine Gewehre mehr verwenden.",
|
"primaryban_player_info": "Der Spieler ‚{0}‘ kann keine Gewehre mehr verwenden.",
|
||||||
"primaryban_select_info": "Gewehre für Spieler verbieten:",
|
"primaryban_select_info": "Gewehre für Spieler verbieten:",
|
||||||
|
|
||||||
|
|
@ -457,6 +468,8 @@
|
||||||
"wildthrow": "Wilder Wurf",
|
"wildthrow": "Wilder Wurf",
|
||||||
"wildthrow_desc": "Wähle einen Spieler aus, der Probleme beim Werfen von Granaten haben wird",
|
"wildthrow_desc": "Wähle einen Spieler aus, der Probleme beim Werfen von Granaten haben wird",
|
||||||
"wildthrow_player_info": "Spieler '{0}' hat all seine Lineups vergessen",
|
"wildthrow_player_info": "Spieler '{0}' hat all seine Lineups vergessen",
|
||||||
|
"wildthrow_enemy_info": "Du wirst beim Werfen von Granaten zu nervös.",
|
||||||
|
"wildthrow_disable_info": "Deine Erinnerung daran, wie man Granaten wirft, ist wieder normal.",
|
||||||
"wildthrow_select_info": "Wähle einen Spieler aus:",
|
"wildthrow_select_info": "Wähle einen Spieler aus:",
|
||||||
|
|
||||||
"zeus": "Zeus",
|
"zeus": "Zeus",
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"areareaper_select_info": "Select site to deactivate:",
|
"areareaper_select_info": "Select site to deactivate:",
|
||||||
"areareaper_site_disabled": "Bomb site {0} has been deactivated - no bombs can be planted there!",
|
"areareaper_site_disabled": "Bomb site {0} has been deactivated - no bombs can be planted there!",
|
||||||
"areareaper_used_info": "Your skill has already been used.",
|
"areareaper_used_info": "Your skill has already been used.",
|
||||||
|
"areareaper_teammates_info": "Bombsite {0} has been blocked for planting.",
|
||||||
"areareaper_bombsite_disabled": "This bombsite has been disabled!",
|
"areareaper_bombsite_disabled": "This bombsite has been disabled!",
|
||||||
|
|
||||||
"armored": "Armored",
|
"armored": "Armored",
|
||||||
|
|
@ -62,6 +63,7 @@
|
||||||
"carefulbullets": "Careful Bullets",
|
"carefulbullets": "Careful Bullets",
|
||||||
"carefulbullets_desc": "Select a player who takes damage for every missed shot",
|
"carefulbullets_desc": "Select a player who takes damage for every missed shot",
|
||||||
"carefulbullets_enemy_info": "From now on, inaccuracy will literally hurt.",
|
"carefulbullets_enemy_info": "From now on, inaccuracy will literally hurt.",
|
||||||
|
"carefulbullets_disable_info": "Missing shots no longer hurts you.",
|
||||||
"carefulbullets_player_info": "'{0}' must now be more careful.",
|
"carefulbullets_player_info": "'{0}' must now be more careful.",
|
||||||
"carefulbullets_select_info": "Inaccuracy hurts the player:",
|
"carefulbullets_select_info": "Inaccuracy hurts the player:",
|
||||||
|
|
||||||
|
|
@ -85,6 +87,7 @@
|
||||||
"darkness": "Darkness",
|
"darkness": "Darkness",
|
||||||
"darkness_desc": "Applies a darkness effect to a chosen enemy",
|
"darkness_desc": "Applies a darkness effect to a chosen enemy",
|
||||||
"darkness_enemy_info": "Let the lights go out.",
|
"darkness_enemy_info": "Let the lights go out.",
|
||||||
|
"darkness_disable_info": "The lights are back on.",
|
||||||
"darkness_player_info": "Darkness has overtaken player '{0}'.",
|
"darkness_player_info": "Darkness has overtaken player '{0}'.",
|
||||||
"darkness_select_info": "Select player for darkness:",
|
"darkness_select_info": "Select player for darkness:",
|
||||||
|
|
||||||
|
|
@ -97,6 +100,7 @@
|
||||||
"deaf": "Deaf",
|
"deaf": "Deaf",
|
||||||
"deaf_desc": "Choose a player to mute all sounds for",
|
"deaf_desc": "Choose a player to mute all sounds for",
|
||||||
"deaf_enemy_info": "Your headphones have left the game.",
|
"deaf_enemy_info": "Your headphones have left the game.",
|
||||||
|
"deaf_disable_info": "You can hear again.",
|
||||||
"deaf_player_info": "Sound has been disabled for player '{0}'.",
|
"deaf_player_info": "Sound has been disabled for player '{0}'.",
|
||||||
"deaf_select_info": "Mute all sounds for player:",
|
"deaf_select_info": "Mute all sounds for player:",
|
||||||
|
|
||||||
|
|
@ -167,6 +171,7 @@
|
||||||
"glitch": "Glitch",
|
"glitch": "Glitch",
|
||||||
"glitch_desc": "Disables the radar for a chosen enemy",
|
"glitch_desc": "Disables the radar for a chosen enemy",
|
||||||
"glitch_enemy_info": "Your radar has been disabled.",
|
"glitch_enemy_info": "Your radar has been disabled.",
|
||||||
|
"glitch_disable_info": "Your radar is back to normal.",
|
||||||
"glitch_player_info": "Player '{0}'s radar has been disabled.",
|
"glitch_player_info": "Player '{0}'s radar has been disabled.",
|
||||||
"glitch_select_info": "Turn off player's radar:",
|
"glitch_select_info": "Turn off player's radar:",
|
||||||
|
|
||||||
|
|
@ -196,6 +201,7 @@
|
||||||
"hotbomb": "Hot Bomb",
|
"hotbomb": "Hot Bomb",
|
||||||
"hotbomb_desc": "As long as you are alive, the bomb deals damage to its carrier",
|
"hotbomb_desc": "As long as you are alive, the bomb deals damage to its carrier",
|
||||||
"hotbomb_hint": "Careful, the bomb is hot!",
|
"hotbomb_hint": "Careful, the bomb is hot!",
|
||||||
|
"hotbomb_disable_info": "The bomb is no longer hot.",
|
||||||
|
|
||||||
"iana": "Hologram",
|
"iana": "Hologram",
|
||||||
"iana_desc": "Click [css_useSkill] to control your hologram for a few seconds",
|
"iana_desc": "Click [css_useSkill] to control your hologram for a few seconds",
|
||||||
|
|
@ -218,6 +224,7 @@
|
||||||
"jammer": "Jammer",
|
"jammer": "Jammer",
|
||||||
"jammer_desc": "Choose a player to disable their crosshair",
|
"jammer_desc": "Choose a player to disable their crosshair",
|
||||||
"jammer_enemy_info": "Your crosshair has been disabled.",
|
"jammer_enemy_info": "Your crosshair has been disabled.",
|
||||||
|
"jammer_disable_info": "Your crosshair is back to normal.",
|
||||||
"jammer_player_info": "Player '{0}'s crosshair has been disabled.",
|
"jammer_player_info": "Player '{0}'s crosshair has been disabled.",
|
||||||
"jammer_select_info": "Disable player's crosshair:",
|
"jammer_select_info": "Disable player's crosshair:",
|
||||||
|
|
||||||
|
|
@ -230,6 +237,7 @@
|
||||||
"jumpban": "Legless",
|
"jumpban": "Legless",
|
||||||
"jumpban_desc": "Choose a player who cannot jump",
|
"jumpban_desc": "Choose a player who cannot jump",
|
||||||
"jumpban_enemy_info": "Someone cut off your legs.",
|
"jumpban_enemy_info": "Someone cut off your legs.",
|
||||||
|
"jumpban_disable_info": "You can use your legs again.",
|
||||||
"jumpban_player_info": "Player '{0}' can no longer jump.",
|
"jumpban_player_info": "Player '{0}' can no longer jump.",
|
||||||
"jumpban_select_info": "Ban player from jumping:",
|
"jumpban_select_info": "Ban player from jumping:",
|
||||||
|
|
||||||
|
|
@ -260,6 +268,7 @@
|
||||||
"magnifier": "Magnifier",
|
"magnifier": "Magnifier",
|
||||||
"magnifier_desc": "Forces the enemy's screen to zoom in, reducing their field of view",
|
"magnifier_desc": "Forces the enemy's screen to zoom in, reducing their field of view",
|
||||||
"magnifier_enemy_info": "Your field of view has been distorted!",
|
"magnifier_enemy_info": "Your field of view has been distorted!",
|
||||||
|
"magnifier_disable_info": "Your vision is back to normal.",
|
||||||
"magnifier_player_info": "Player '{0}' has been forced into zoom mode.",
|
"magnifier_player_info": "Player '{0}' has been forced into zoom mode.",
|
||||||
"magnifier_select_info": "Magnify player's screen:",
|
"magnifier_select_info": "Magnify player's screen:",
|
||||||
|
|
||||||
|
|
@ -321,12 +330,14 @@
|
||||||
"poison": "Poison",
|
"poison": "Poison",
|
||||||
"poison_desc": "Choose a player who will take damage every few seconds",
|
"poison_desc": "Choose a player who will take damage every few seconds",
|
||||||
"poison_enemy_info": "You have been poisoned.",
|
"poison_enemy_info": "You have been poisoned.",
|
||||||
|
"poison_disable_info": "You are now immune to poison.",
|
||||||
"poison_player_info": "Player '{0}' has been poisoned.",
|
"poison_player_info": "Player '{0}' has been poisoned.",
|
||||||
"poison_select_info": "Poison a player:",
|
"poison_select_info": "Poison a player:",
|
||||||
|
|
||||||
"primaryban": "No Rifles",
|
"primaryban": "No Rifles",
|
||||||
"primaryban_desc": "Choose a player who cannot use rifles",
|
"primaryban_desc": "Choose a player who cannot use rifles",
|
||||||
"primaryban_enemy_info": "You can no longer use rifles.",
|
"primaryban_enemy_info": "You can no longer use rifles.",
|
||||||
|
"primaryban_disable_info": "You can use rifles again.",
|
||||||
"primaryban_player_info": "Player '{0}' can no longer use rifles.",
|
"primaryban_player_info": "Player '{0}' can no longer use rifles.",
|
||||||
"primaryban_select_info": "Ban rifles for player:",
|
"primaryban_select_info": "Ban rifles for player:",
|
||||||
|
|
||||||
|
|
@ -457,6 +468,8 @@
|
||||||
"wildthrow": "Wild Throws",
|
"wildthrow": "Wild Throws",
|
||||||
"wildthrow_desc": "Choose a player who will have trouble throwing grenades",
|
"wildthrow_desc": "Choose a player who will have trouble throwing grenades",
|
||||||
"wildthrow_player_info": "Player '{0}' has forgotten all their lineups",
|
"wildthrow_player_info": "Player '{0}' has forgotten all their lineups",
|
||||||
|
"wildthrow_enemy_info": "You get too excited when throwing grenades.",
|
||||||
|
"wildthrow_disable_info": "Your memory of how to throw grenades is back to normal.",
|
||||||
"wildthrow_select_info": "Select a player:",
|
"wildthrow_select_info": "Select a player:",
|
||||||
|
|
||||||
"zeus": "Zeus",
|
"zeus": "Zeus",
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"areareaper_select_info": "Sélectionnez un site à désactiver :",
|
"areareaper_select_info": "Sélectionnez un site à désactiver :",
|
||||||
"areareaper_site_disabled": "Le site de bombe {0} a été désactivé – aucune bombe ne peut y être posée !",
|
"areareaper_site_disabled": "Le site de bombe {0} a été désactivé – aucune bombe ne peut y être posée !",
|
||||||
"areareaper_used_info": "Votre compétence a déjà été utilisée.",
|
"areareaper_used_info": "Votre compétence a déjà été utilisée.",
|
||||||
|
"areareaper_teammates_info": "Le site de bombe {0} est désormais interdit au plant.",
|
||||||
"areareaper_bombsite_disabled": "Ce site de bombe a été désactivé !",
|
"areareaper_bombsite_disabled": "Ce site de bombe a été désactivé !",
|
||||||
|
|
||||||
"armored": "Blindé",
|
"armored": "Blindé",
|
||||||
|
|
@ -62,6 +63,7 @@
|
||||||
"carefulbullets": "Balles prudentes",
|
"carefulbullets": "Balles prudentes",
|
||||||
"carefulbullets_desc": "Sélectionnez un joueur qui subit des dégâts à chaque tir manqué",
|
"carefulbullets_desc": "Sélectionnez un joueur qui subit des dégâts à chaque tir manqué",
|
||||||
"carefulbullets_enemy_info": "À partir de maintenant, l'inexactitude fera littéralement mal.",
|
"carefulbullets_enemy_info": "À partir de maintenant, l'inexactitude fera littéralement mal.",
|
||||||
|
"carefulbullets_disable_info": "Rater vos tirs ne vous blessera plus.",
|
||||||
"carefulbullets_player_info": "« {0} » doit désormais être plus prudent.",
|
"carefulbullets_player_info": "« {0} » doit désormais être plus prudent.",
|
||||||
"carefulbullets_select_info": "L'inexactitude nuit au joueur :",
|
"carefulbullets_select_info": "L'inexactitude nuit au joueur :",
|
||||||
|
|
||||||
|
|
@ -85,6 +87,7 @@
|
||||||
"darkness": "Obscurité",
|
"darkness": "Obscurité",
|
||||||
"darkness_desc": "Applique un effet d’obscurité à un ennemi choisi",
|
"darkness_desc": "Applique un effet d’obscurité à un ennemi choisi",
|
||||||
"darkness_enemy_info": "Que la lumière s’éteigne.",
|
"darkness_enemy_info": "Que la lumière s’éteigne.",
|
||||||
|
"darkness_disable_info": "Les lumières sont revenues.",
|
||||||
"darkness_player_info": "L’obscurité a envahi le joueur « {0} ».",
|
"darkness_player_info": "L’obscurité a envahi le joueur « {0} ».",
|
||||||
"darkness_select_info": "Sélectionnez un joueur pour l’obscurité :",
|
"darkness_select_info": "Sélectionnez un joueur pour l’obscurité :",
|
||||||
|
|
||||||
|
|
@ -97,6 +100,7 @@
|
||||||
"deaf": "Sourd",
|
"deaf": "Sourd",
|
||||||
"deaf_desc": "Choisissez un joueur pour couper tous ses sons",
|
"deaf_desc": "Choisissez un joueur pour couper tous ses sons",
|
||||||
"deaf_enemy_info": "Votre casque a quitté la partie.",
|
"deaf_enemy_info": "Votre casque a quitté la partie.",
|
||||||
|
"deaf_disable_info": "Vous entendez de nouveau.",
|
||||||
"deaf_player_info": "Le son a été désactivé pour le joueur « {0} ».",
|
"deaf_player_info": "Le son a été désactivé pour le joueur « {0} ».",
|
||||||
"deaf_select_info": "Couper tous les sons du joueur :",
|
"deaf_select_info": "Couper tous les sons du joueur :",
|
||||||
|
|
||||||
|
|
@ -167,6 +171,7 @@
|
||||||
"glitch": "Glitch",
|
"glitch": "Glitch",
|
||||||
"glitch_desc": "Désactive le radar d’un ennemi choisi",
|
"glitch_desc": "Désactive le radar d’un ennemi choisi",
|
||||||
"glitch_enemy_info": "Votre radar a été désactivé.",
|
"glitch_enemy_info": "Votre radar a été désactivé.",
|
||||||
|
"glitch_disable_info": "Votre radar est revenu à la normale.",
|
||||||
"glitch_player_info": "Le radar du joueur « {0} » a été désactivé.",
|
"glitch_player_info": "Le radar du joueur « {0} » a été désactivé.",
|
||||||
"glitch_select_info": "Désactiver le radar du joueur :",
|
"glitch_select_info": "Désactiver le radar du joueur :",
|
||||||
|
|
||||||
|
|
@ -196,6 +201,7 @@
|
||||||
"hotbomb": "Bombe brûlante",
|
"hotbomb": "Bombe brûlante",
|
||||||
"hotbomb_desc": "Tant que vous êtes en vie, la bombe inflige des dégâts à son porteur",
|
"hotbomb_desc": "Tant que vous êtes en vie, la bombe inflige des dégâts à son porteur",
|
||||||
"hotbomb_hint": "Attention, la bombe est brûlante !",
|
"hotbomb_hint": "Attention, la bombe est brûlante !",
|
||||||
|
"hotbomb_disable_info": "La bombe ne brûle plus.",
|
||||||
|
|
||||||
"iana": "Hologramme",
|
"iana": "Hologramme",
|
||||||
"iana_desc": "Cliquez sur [css_useSkill] pour contrôler votre hologramme pendant quelques secondes",
|
"iana_desc": "Cliquez sur [css_useSkill] pour contrôler votre hologramme pendant quelques secondes",
|
||||||
|
|
@ -218,6 +224,7 @@
|
||||||
"jammer": "Brouilleur",
|
"jammer": "Brouilleur",
|
||||||
"jammer_desc": "Choisissez un joueur pour désactiver son viseur",
|
"jammer_desc": "Choisissez un joueur pour désactiver son viseur",
|
||||||
"jammer_enemy_info": "Votre viseur a été désactivé.",
|
"jammer_enemy_info": "Votre viseur a été désactivé.",
|
||||||
|
"jammer_disable_info": "Votre réticule est revenu à la normale.",
|
||||||
"jammer_player_info": "Le viseur du joueur « {0} » a été désactivé.",
|
"jammer_player_info": "Le viseur du joueur « {0} » a été désactivé.",
|
||||||
"jammer_select_info": "Désactiver le viseur d’un joueur :",
|
"jammer_select_info": "Désactiver le viseur d’un joueur :",
|
||||||
|
|
||||||
|
|
@ -230,6 +237,7 @@
|
||||||
"jumpban": "Sans Jambes",
|
"jumpban": "Sans Jambes",
|
||||||
"jumpban_desc": "Choisissez un joueur qui ne pourra plus sauter",
|
"jumpban_desc": "Choisissez un joueur qui ne pourra plus sauter",
|
||||||
"jumpban_enemy_info": "Quelqu’un vous a coupé les jambes.",
|
"jumpban_enemy_info": "Quelqu’un vous a coupé les jambes.",
|
||||||
|
"jumpban_disable_info": "Vous pouvez de nouveau utiliser vos jambes.",
|
||||||
"jumpban_player_info": "Le joueur « {0} » ne peut plus sauter.",
|
"jumpban_player_info": "Le joueur « {0} » ne peut plus sauter.",
|
||||||
"jumpban_select_info": "Interdire de sauter au joueur :",
|
"jumpban_select_info": "Interdire de sauter au joueur :",
|
||||||
|
|
||||||
|
|
@ -260,6 +268,7 @@
|
||||||
"magnifier": "Loupe",
|
"magnifier": "Loupe",
|
||||||
"magnifier_desc": "Force l’écran de l’ennemi à zoomer, réduisant son champ de vision",
|
"magnifier_desc": "Force l’écran de l’ennemi à zoomer, réduisant son champ de vision",
|
||||||
"magnifier_enemy_info": "Votre champ de vision a été déformé !",
|
"magnifier_enemy_info": "Votre champ de vision a été déformé !",
|
||||||
|
"magnifier_disable_info": "Votre vision est revenue à la normale.",
|
||||||
"magnifier_player_info": "Le joueur « {0} » a été forcé en mode zoom.",
|
"magnifier_player_info": "Le joueur « {0} » a été forcé en mode zoom.",
|
||||||
"magnifier_select_info": "Forcer l’écran du joueur à zoomer :",
|
"magnifier_select_info": "Forcer l’écran du joueur à zoomer :",
|
||||||
|
|
||||||
|
|
@ -321,12 +330,14 @@
|
||||||
"poison": "Poison",
|
"poison": "Poison",
|
||||||
"poison_desc": "Choisissez un joueur qui subira des dégâts toutes les quelques secondes",
|
"poison_desc": "Choisissez un joueur qui subira des dégâts toutes les quelques secondes",
|
||||||
"poison_enemy_info": "Vous avez été empoisonné.",
|
"poison_enemy_info": "Vous avez été empoisonné.",
|
||||||
|
"poison_disable_info": "Vous êtes désormais immunisé contre le poison.",
|
||||||
"poison_player_info": "Le joueur « {0} » a été empoisonné.",
|
"poison_player_info": "Le joueur « {0} » a été empoisonné.",
|
||||||
"poison_select_info": "Empoisonner un joueur :",
|
"poison_select_info": "Empoisonner un joueur :",
|
||||||
|
|
||||||
"primaryban": "Sans Fusils",
|
"primaryban": "Sans Fusils",
|
||||||
"primaryban_desc": "Choisissez un joueur qui ne pourra plus utiliser de fusils",
|
"primaryban_desc": "Choisissez un joueur qui ne pourra plus utiliser de fusils",
|
||||||
"primaryban_enemy_info": "Vous ne pouvez plus utiliser de fusils.",
|
"primaryban_enemy_info": "Vous ne pouvez plus utiliser de fusils.",
|
||||||
|
"primaryban_disable_info": "Vous pouvez de nouveau utiliser des fusils.",
|
||||||
"primaryban_player_info": "Le joueur « {0} » ne peut plus utiliser de fusils.",
|
"primaryban_player_info": "Le joueur « {0} » ne peut plus utiliser de fusils.",
|
||||||
"primaryban_select_info": "Interdire les fusils pour un joueur :",
|
"primaryban_select_info": "Interdire les fusils pour un joueur :",
|
||||||
|
|
||||||
|
|
@ -457,6 +468,8 @@
|
||||||
"wildthrow": "Lancers sauvages",
|
"wildthrow": "Lancers sauvages",
|
||||||
"wildthrow_desc": "Choisissez un joueur qui aura des difficultés à lancer des grenades",
|
"wildthrow_desc": "Choisissez un joueur qui aura des difficultés à lancer des grenades",
|
||||||
"wildthrow_player_info": "Le joueur '{0}' a oublié tous ses alignements (lineups)",
|
"wildthrow_player_info": "Le joueur '{0}' a oublié tous ses alignements (lineups)",
|
||||||
|
"wildthrow_enemy_info": "Vous êtes trop nerveux lorsque vous lancez des grenades.",
|
||||||
|
"wildthrow_disable_info": "Votre mémoire concernant le lancer de grenades est revenue à la normale.",
|
||||||
"wildthrow_select_info": "Sélectionnez un joueur :",
|
"wildthrow_select_info": "Sélectionnez un joueur :",
|
||||||
|
|
||||||
"zeus": "Zeus",
|
"zeus": "Zeus",
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"areareaper_select_info": "Wybierz strefę do dezaktyw.:",
|
"areareaper_select_info": "Wybierz strefę do dezaktyw.:",
|
||||||
"areareaper_site_disabled": "Strefa detonacji {0} została dezaktywowana - nie można na niej podłożyć bomby!",
|
"areareaper_site_disabled": "Strefa detonacji {0} została dezaktywowana - nie można na niej podłożyć bomby!",
|
||||||
"areareaper_used_info": "Twoja moc została już wykorzystana.",
|
"areareaper_used_info": "Twoja moc została już wykorzystana.",
|
||||||
|
"areareaper_teammates_info": "Strefa {0} została zablokowana do podłożenia bomby.",
|
||||||
"areareaper_bombsite_disabled": "Ten bombsite został wyłączony!",
|
"areareaper_bombsite_disabled": "Ten bombsite został wyłączony!",
|
||||||
|
|
||||||
"armored": "Gruby",
|
"armored": "Gruby",
|
||||||
|
|
@ -62,6 +63,7 @@
|
||||||
"carefulbullets": "Ostrożne pociski",
|
"carefulbullets": "Ostrożne pociski",
|
||||||
"carefulbullets_desc": "Wybierz gracza, który otrzymuje obrażenia za każdy niecelny strzał",
|
"carefulbullets_desc": "Wybierz gracza, który otrzymuje obrażenia za każdy niecelny strzał",
|
||||||
"carefulbullets_enemy_info": "Od teraz niecelność będzie dosłownie bolała.",
|
"carefulbullets_enemy_info": "Od teraz niecelność będzie dosłownie bolała.",
|
||||||
|
"carefulbullets_disable_info": "Pudłowanie nie zadaje już obrażeń.",
|
||||||
"carefulbullets_player_info": "'{0}' musi teraz być bardziej ostrożny.",
|
"carefulbullets_player_info": "'{0}' musi teraz być bardziej ostrożny.",
|
||||||
"carefulbullets_select_info": "Niedokładność szkodzi graczowi:",
|
"carefulbullets_select_info": "Niedokładność szkodzi graczowi:",
|
||||||
|
|
||||||
|
|
@ -85,6 +87,7 @@
|
||||||
"darkness": "Mrok",
|
"darkness": "Mrok",
|
||||||
"darkness_desc": "Nadaje efekt ciemności wybranemu przeciwnikowi",
|
"darkness_desc": "Nadaje efekt ciemności wybranemu przeciwnikowi",
|
||||||
"darkness_enemy_info": "Niech zgasną światła.",
|
"darkness_enemy_info": "Niech zgasną światła.",
|
||||||
|
"darkness_disable_info": "Światła wróciły.",
|
||||||
"darkness_player_info": "Ciemność opanowała gracza '{0}'.",
|
"darkness_player_info": "Ciemność opanowała gracza '{0}'.",
|
||||||
"darkness_select_info": "Nałóż efekt ciemności:",
|
"darkness_select_info": "Nałóż efekt ciemności:",
|
||||||
|
|
||||||
|
|
@ -97,6 +100,7 @@
|
||||||
"deaf": "Głuchy",
|
"deaf": "Głuchy",
|
||||||
"deaf_desc": "Wybierasz gracza, dla którego chcesz wyłączyć wszystkie dźwięki",
|
"deaf_desc": "Wybierasz gracza, dla którego chcesz wyłączyć wszystkie dźwięki",
|
||||||
"deaf_enemy_info": "Słuchawki opuściły grę.",
|
"deaf_enemy_info": "Słuchawki opuściły grę.",
|
||||||
|
"deaf_disable_info": "Znowu słyszysz.",
|
||||||
"deaf_player_info": "Dźwięk został wyłączony dla gracza '{0}'.",
|
"deaf_player_info": "Dźwięk został wyłączony dla gracza '{0}'.",
|
||||||
"deaf_select_info": "Wycisz dźwięki gracza:",
|
"deaf_select_info": "Wycisz dźwięki gracza:",
|
||||||
|
|
||||||
|
|
@ -167,6 +171,7 @@
|
||||||
"glitch": "Glitch",
|
"glitch": "Glitch",
|
||||||
"glitch_desc": "Wyłączasz radar wybranemu przeciwnikowi",
|
"glitch_desc": "Wyłączasz radar wybranemu przeciwnikowi",
|
||||||
"glitch_enemy_info": "Twój radar został wyłączony.",
|
"glitch_enemy_info": "Twój radar został wyłączony.",
|
||||||
|
"glitch_disable_info": "Twój radar wrócił do normy.",
|
||||||
"glitch_player_info": "Radar gracza '{0}' został wyłączony.",
|
"glitch_player_info": "Radar gracza '{0}' został wyłączony.",
|
||||||
"glitch_select_info": "Wyłącz radar dla gracza:",
|
"glitch_select_info": "Wyłącz radar dla gracza:",
|
||||||
|
|
||||||
|
|
@ -196,6 +201,7 @@
|
||||||
"hotbomb": "Gorąca Bomba",
|
"hotbomb": "Gorąca Bomba",
|
||||||
"hotbomb_desc": "Dopóki żyjesz, bomba zadaje obrażenia osobie, która ją niesie",
|
"hotbomb_desc": "Dopóki żyjesz, bomba zadaje obrażenia osobie, która ją niesie",
|
||||||
"hotbomb_hint": "Ostrożnie, bomba parzy!",
|
"hotbomb_hint": "Ostrożnie, bomba parzy!",
|
||||||
|
"hotbomb_disable_info": "Bomba już nie parzy.",
|
||||||
|
|
||||||
"iana": "Hologram",
|
"iana": "Hologram",
|
||||||
"iana_desc": "Kliknij [css_useSkill], aby sterować hologramem przez kilka sekund",
|
"iana_desc": "Kliknij [css_useSkill], aby sterować hologramem przez kilka sekund",
|
||||||
|
|
@ -218,6 +224,7 @@
|
||||||
"jammer": "Zakłócacz",
|
"jammer": "Zakłócacz",
|
||||||
"jammer_desc": "Wybierasz gracza, dla którego chcesz wyłączyć celownik",
|
"jammer_desc": "Wybierasz gracza, dla którego chcesz wyłączyć celownik",
|
||||||
"jammer_enemy_info": "Twój celownik został wyłączony.",
|
"jammer_enemy_info": "Twój celownik został wyłączony.",
|
||||||
|
"jammer_disable_info": "Twój celownik wrócił do normy.",
|
||||||
"jammer_player_info": "Celownik gracza '{0}' została wyłączona.",
|
"jammer_player_info": "Celownik gracza '{0}' została wyłączona.",
|
||||||
"jammer_select_info": "Wyłącz celownik dla gracza:",
|
"jammer_select_info": "Wyłącz celownik dla gracza:",
|
||||||
|
|
||||||
|
|
@ -230,6 +237,7 @@
|
||||||
"jumpban": "Beznogi",
|
"jumpban": "Beznogi",
|
||||||
"jumpban_desc": "Wybierasz gracza, który nie będzie mógł skakać",
|
"jumpban_desc": "Wybierasz gracza, który nie będzie mógł skakać",
|
||||||
"jumpban_enemy_info": "Ktoś odciął ci nogi.",
|
"jumpban_enemy_info": "Ktoś odciął ci nogi.",
|
||||||
|
"jumpban_disable_info": "Możesz znowu używać nóg.",
|
||||||
"jumpban_player_info": "Gracz '{0}' nie może teraz skakać.",
|
"jumpban_player_info": "Gracz '{0}' nie może teraz skakać.",
|
||||||
"jumpban_select_info": "Zablokuj skok dla gracza:",
|
"jumpban_select_info": "Zablokuj skok dla gracza:",
|
||||||
|
|
||||||
|
|
@ -260,6 +268,7 @@
|
||||||
"magnifier": "Lupa",
|
"magnifier": "Lupa",
|
||||||
"magnifier_desc": "Przybiżasz ekran wybranemu przeciwnikowi",
|
"magnifier_desc": "Przybiżasz ekran wybranemu przeciwnikowi",
|
||||||
"magnifier_enemy_info": "Twoje pole widzenia zostało zniekształcone!",
|
"magnifier_enemy_info": "Twoje pole widzenia zostało zniekształcone!",
|
||||||
|
"magnifier_disable_info": "Twój wzrok wrócił do normy.",
|
||||||
"magnifier_player_info": "Gracz '{0}' został zmuszony do przejścia w tryb powiększenia.",
|
"magnifier_player_info": "Gracz '{0}' został zmuszony do przejścia w tryb powiększenia.",
|
||||||
"magnifier_select_info": "Powiększ ekran gracza:",
|
"magnifier_select_info": "Powiększ ekran gracza:",
|
||||||
|
|
||||||
|
|
@ -321,12 +330,14 @@
|
||||||
"poison": "Trutka",
|
"poison": "Trutka",
|
||||||
"poison_desc": "Wybierasz gracza, który co kilka sekund będzie otrzymywał obrażenia",
|
"poison_desc": "Wybierasz gracza, który co kilka sekund będzie otrzymywał obrażenia",
|
||||||
"poison_enemy_info": "Zostałeś otruty.",
|
"poison_enemy_info": "Zostałeś otruty.",
|
||||||
|
"poison_disable_info": "Jesteś teraz odporny na truciznę.",
|
||||||
"poison_player_info": "Gracz '{0}' został otruty.",
|
"poison_player_info": "Gracz '{0}' został otruty.",
|
||||||
"poison_select_info": "Zatruj gracza:",
|
"poison_select_info": "Zatruj gracza:",
|
||||||
|
|
||||||
"primaryban": "Brak Karabinów",
|
"primaryban": "Brak Karabinów",
|
||||||
"primaryban_desc": "Wybierasz gracza, który nie może używać karabinów",
|
"primaryban_desc": "Wybierasz gracza, który nie może używać karabinów",
|
||||||
"primaryban_enemy_info": "Nie możesz już używać karabinów.",
|
"primaryban_enemy_info": "Nie możesz już używać karabinów.",
|
||||||
|
"primaryban_disable_info": "Możesz znowu używać karabinów.",
|
||||||
"primaryban_player_info": "Gracz '{0}' nie może już używać karabinów.",
|
"primaryban_player_info": "Gracz '{0}' nie może już używać karabinów.",
|
||||||
"primaryban_select_info": "Zablokuj karabiny dla gracza:",
|
"primaryban_select_info": "Zablokuj karabiny dla gracza:",
|
||||||
|
|
||||||
|
|
@ -457,6 +468,8 @@
|
||||||
"wildthrow": "Dzikie Rzuty",
|
"wildthrow": "Dzikie Rzuty",
|
||||||
"wildthrow_desc": "Wybierz gracza, który będzie miał trudności z rzucaniem granatami",
|
"wildthrow_desc": "Wybierz gracza, który będzie miał trudności z rzucaniem granatami",
|
||||||
"wildthrow_player_info": "Gracz '{0}' zapomniał wszystkie lineup'y",
|
"wildthrow_player_info": "Gracz '{0}' zapomniał wszystkie lineup'y",
|
||||||
|
"wildthrow_enemy_info": "Za bardzo denerwujesz się podczas rzucania granatami.",
|
||||||
|
"wildthrow_disable_info": "Twoja pamięć odnośnie granatów wróciła do normy.",
|
||||||
"wildthrow_select_info": "Wybierz gracza:",
|
"wildthrow_select_info": "Wybierz gracza:",
|
||||||
|
|
||||||
"zeus": "Zeus",
|
"zeus": "Zeus",
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"areareaper_select_info": "Escolha o bomb p/ desativar:",
|
"areareaper_select_info": "Escolha o bomb p/ desativar:",
|
||||||
"areareaper_site_disabled": "Bombsite {0} foi desativado - nenhuma bomba pode ser plantada lá!",
|
"areareaper_site_disabled": "Bombsite {0} foi desativado - nenhuma bomba pode ser plantada lá!",
|
||||||
"areareaper_used_info": "Seu poder já foi usado.",
|
"areareaper_used_info": "Seu poder já foi usado.",
|
||||||
|
"areareaper_teammates_info": "A área {0} foi bloqueada para plantar a bomba.",
|
||||||
"areareaper_bombsite_disabled": "Este local de bomba foi desativado!",
|
"areareaper_bombsite_disabled": "Este local de bomba foi desativado!",
|
||||||
|
|
||||||
"armored": "Super Tiro",
|
"armored": "Super Tiro",
|
||||||
|
|
@ -62,6 +63,7 @@
|
||||||
"carefulbullets": "Errou, mamou",
|
"carefulbullets": "Errou, mamou",
|
||||||
"carefulbullets_desc": "Selecione um jogador vai sofrer dano ao errar cada tiro",
|
"carefulbullets_desc": "Selecione um jogador vai sofrer dano ao errar cada tiro",
|
||||||
"carefulbullets_enemy_info": "A partir de agora, seu erro vai literalmente doer.",
|
"carefulbullets_enemy_info": "A partir de agora, seu erro vai literalmente doer.",
|
||||||
|
"carefulbullets_disable_info": "Errar tiros não causará mais dano.",
|
||||||
"carefulbullets_player_info": "'{0}' agora precisa ter mais cuidado.",
|
"carefulbullets_player_info": "'{0}' agora precisa ter mais cuidado.",
|
||||||
"carefulbullets_select_info": "O erro prejudica o jogador:",
|
"carefulbullets_select_info": "O erro prejudica o jogador:",
|
||||||
|
|
||||||
|
|
@ -85,6 +87,7 @@
|
||||||
"darkness": "Escuridão",
|
"darkness": "Escuridão",
|
||||||
"darkness_desc": "Aplica um efeito de escuridão a um inimigo escolhido",
|
"darkness_desc": "Aplica um efeito de escuridão a um inimigo escolhido",
|
||||||
"darkness_enemy_info": "Que as luzes se apaguem.",
|
"darkness_enemy_info": "Que as luzes se apaguem.",
|
||||||
|
"darkness_disable_info": "As luzes voltaram.",
|
||||||
"darkness_player_info": "A escuridão tomou conta do jogador '{0}'.",
|
"darkness_player_info": "A escuridão tomou conta do jogador '{0}'.",
|
||||||
"darkness_select_info": "Escolha jogador: escuridão:",
|
"darkness_select_info": "Escolha jogador: escuridão:",
|
||||||
|
|
||||||
|
|
@ -97,6 +100,7 @@
|
||||||
"deaf": "Surdo",
|
"deaf": "Surdo",
|
||||||
"deaf_desc": "Escolha um jogador para desativar todos os sons",
|
"deaf_desc": "Escolha um jogador para desativar todos os sons",
|
||||||
"deaf_enemy_info": "Seus fones de ouvido saíram do jogo.",
|
"deaf_enemy_info": "Seus fones de ouvido saíram do jogo.",
|
||||||
|
"deaf_disable_info": "Você pode ouvir novamente.",
|
||||||
"deaf_player_info": "O som foi desativado para o jogador '{0}'.",
|
"deaf_player_info": "O som foi desativado para o jogador '{0}'.",
|
||||||
"deaf_select_info": "Silenciar jogador:",
|
"deaf_select_info": "Silenciar jogador:",
|
||||||
|
|
||||||
|
|
@ -167,6 +171,7 @@
|
||||||
"glitch": "Sem Mapa",
|
"glitch": "Sem Mapa",
|
||||||
"glitch_desc": "Desativa o radar de um inimigo escolhido",
|
"glitch_desc": "Desativa o radar de um inimigo escolhido",
|
||||||
"glitch_enemy_info": "Seu radar foi desativado.",
|
"glitch_enemy_info": "Seu radar foi desativado.",
|
||||||
|
"glitch_disable_info": "Seu radar voltou ao normal.",
|
||||||
"glitch_player_info": "O radar do jogador '{0}' foi desativado.",
|
"glitch_player_info": "O radar do jogador '{0}' foi desativado.",
|
||||||
"glitch_select_info": "Desativar radar do jogador:",
|
"glitch_select_info": "Desativar radar do jogador:",
|
||||||
|
|
||||||
|
|
@ -196,6 +201,7 @@
|
||||||
"hotbomb": "Bomba Quente",
|
"hotbomb": "Bomba Quente",
|
||||||
"hotbomb_desc": "Enquanto você estiver vivo, a bomba causa dano ao portador",
|
"hotbomb_desc": "Enquanto você estiver vivo, a bomba causa dano ao portador",
|
||||||
"hotbomb_hint": "Cuidado, a bomba está quente!",
|
"hotbomb_hint": "Cuidado, a bomba está quente!",
|
||||||
|
"hotbomb_disable_info": "A bomba não está mais queimando.",
|
||||||
|
|
||||||
"iana": "Holograma",
|
"iana": "Holograma",
|
||||||
"iana_desc": "Clique em [css_useSkill] para controlar seu holograma por alguns segundos",
|
"iana_desc": "Clique em [css_useSkill] para controlar seu holograma por alguns segundos",
|
||||||
|
|
@ -218,6 +224,7 @@
|
||||||
"jammer": "No Scope",
|
"jammer": "No Scope",
|
||||||
"jammer_desc": "Escolha um jogador para desativar a mira",
|
"jammer_desc": "Escolha um jogador para desativar a mira",
|
||||||
"jammer_enemy_info": "Sua mira foi desativada.",
|
"jammer_enemy_info": "Sua mira foi desativada.",
|
||||||
|
"jammer_disable_info": "Sua mira voltou ao normal.",
|
||||||
"jammer_player_info": "A mira do jogador '{0}' foi desativada.",
|
"jammer_player_info": "A mira do jogador '{0}' foi desativada.",
|
||||||
"jammer_select_info": "Desativar mira do jogador:",
|
"jammer_select_info": "Desativar mira do jogador:",
|
||||||
|
|
||||||
|
|
@ -230,6 +237,7 @@
|
||||||
"jumpban": "Perneta",
|
"jumpban": "Perneta",
|
||||||
"jumpban_desc": "Escolha um jogador que não poderá pular",
|
"jumpban_desc": "Escolha um jogador que não poderá pular",
|
||||||
"jumpban_enemy_info": "Cortaram as suas pernas.",
|
"jumpban_enemy_info": "Cortaram as suas pernas.",
|
||||||
|
"jumpban_disable_info": "Você recuperou o uso das pernas.",
|
||||||
"jumpban_player_info": "O jogador '{0}' não pode mais pular.",
|
"jumpban_player_info": "O jogador '{0}' não pode mais pular.",
|
||||||
"jumpban_select_info": "Banir pulo do jogador:",
|
"jumpban_select_info": "Banir pulo do jogador:",
|
||||||
|
|
||||||
|
|
@ -260,6 +268,7 @@
|
||||||
"magnifier": "Lupa",
|
"magnifier": "Lupa",
|
||||||
"magnifier_desc": "Força a tela do inimigo a dar um zoom, reduzindo seu campo de visão",
|
"magnifier_desc": "Força a tela do inimigo a dar um zoom, reduzindo seu campo de visão",
|
||||||
"magnifier_enemy_info": "Seu campo de visão foi distorcido!",
|
"magnifier_enemy_info": "Seu campo de visão foi distorcido!",
|
||||||
|
"magnifier_disable_info": "Sua visão voltou ao normal.",
|
||||||
"magnifier_player_info": "O jogador ‘{0}’ foi forçado a entrar no modo zoom.",
|
"magnifier_player_info": "O jogador ‘{0}’ foi forçado a entrar no modo zoom.",
|
||||||
"magnifier_select_info": "Ampliar tela do jogador:",
|
"magnifier_select_info": "Ampliar tela do jogador:",
|
||||||
|
|
||||||
|
|
@ -321,12 +330,14 @@
|
||||||
"poison": "Veneno",
|
"poison": "Veneno",
|
||||||
"poison_desc": "Escolha um jogador que receberá dano a cada poucos segundos",
|
"poison_desc": "Escolha um jogador que receberá dano a cada poucos segundos",
|
||||||
"poison_enemy_info": "Você foi envenenado.",
|
"poison_enemy_info": "Você foi envenenado.",
|
||||||
|
"poison_disable_info": "Você agora está imune ao veneno.",
|
||||||
"poison_player_info": "O jogador '{0}' foi envenenado.",
|
"poison_player_info": "O jogador '{0}' foi envenenado.",
|
||||||
"poison_select_info": "Envenenar jogador:",
|
"poison_select_info": "Envenenar jogador:",
|
||||||
|
|
||||||
"primaryban": "Sem Rifle",
|
"primaryban": "Sem Rifle",
|
||||||
"primaryban_desc": "Escolha um jogador que não poderá usar rifles",
|
"primaryban_desc": "Escolha um jogador que não poderá usar rifles",
|
||||||
"primaryban_enemy_info": "Você não pode mais usar rifles.",
|
"primaryban_enemy_info": "Você não pode mais usar rifles.",
|
||||||
|
"primaryban_disable_info": "Você pode usar rifles novamente.",
|
||||||
"primaryban_player_info": "O jogador '{0}' não pode mais usar rifles.",
|
"primaryban_player_info": "O jogador '{0}' não pode mais usar rifles.",
|
||||||
"primaryban_select_info": "Banir rifles do jogador:",
|
"primaryban_select_info": "Banir rifles do jogador:",
|
||||||
|
|
||||||
|
|
@ -457,6 +468,8 @@
|
||||||
"wildthrow": "Arremesso Selvagem",
|
"wildthrow": "Arremesso Selvagem",
|
||||||
"wildthrow_desc": "Escolha um jogador que terá problemas para lançar granadas",
|
"wildthrow_desc": "Escolha um jogador que terá problemas para lançar granadas",
|
||||||
"wildthrow_player_info": "O jogador '{0}' esqueceu todos os seus lineups",
|
"wildthrow_player_info": "O jogador '{0}' esqueceu todos os seus lineups",
|
||||||
|
"wildthrow_enemy_info": "Você fica muito nervoso ao lançar granadas.",
|
||||||
|
"wildthrow_disable_info": "Sua memória sobre como lançar granadas voltou ao normal.",
|
||||||
"wildthrow_select_info": "Selecione um jogador:",
|
"wildthrow_select_info": "Selecione um jogador:",
|
||||||
|
|
||||||
"zeus": "Zeus",
|
"zeus": "Zeus",
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"areareaper_select_info": "Выберите сайт для деактивации:",
|
"areareaper_select_info": "Выберите сайт для деактивации:",
|
||||||
"areareaper_site_disabled": "Бомб-сайт {0} деактивирован — бомбу нельзя установить там!",
|
"areareaper_site_disabled": "Бомб-сайт {0} деактивирован — бомбу нельзя установить там!",
|
||||||
"areareaper_used_info": "Ваш навык уже был использован.",
|
"areareaper_used_info": "Ваш навык уже был использован.",
|
||||||
|
"areareaper_teammates_info": "Установка бомбы на точке {0} запрещена.",
|
||||||
"areareaper_bombsite_disabled": "Этот бомб-сайт отключён!",
|
"areareaper_bombsite_disabled": "Этот бомб-сайт отключён!",
|
||||||
|
|
||||||
"armored": "Бронированный",
|
"armored": "Бронированный",
|
||||||
|
|
@ -62,6 +63,7 @@
|
||||||
"carefulbullets": "Осторожные пули",
|
"carefulbullets": "Осторожные пули",
|
||||||
"carefulbullets_desc": "Выберите игрока, который будет получать урон за каждое ваше промахивание",
|
"carefulbullets_desc": "Выберите игрока, который будет получать урон за каждое ваше промахивание",
|
||||||
"carefulbullets_enemy_info": "Точность теперь буквально имеет значение.",
|
"carefulbullets_enemy_info": "Точность теперь буквально имеет значение.",
|
||||||
|
"carefulbullets_disable_info": "Промахи больше не наносят урон.",
|
||||||
"carefulbullets_player_info": "'{0}' теперь должен быть осторожнее.",
|
"carefulbullets_player_info": "'{0}' теперь должен быть осторожнее.",
|
||||||
"carefulbullets_select_info": "Промахи ранят игрока:",
|
"carefulbullets_select_info": "Промахи ранят игрока:",
|
||||||
|
|
||||||
|
|
@ -85,6 +87,7 @@
|
||||||
"darkness": "Тьма",
|
"darkness": "Тьма",
|
||||||
"darkness_desc": "Накладывает эффекть тьмы на выбранного врага",
|
"darkness_desc": "Накладывает эффекть тьмы на выбранного врага",
|
||||||
"darkness_enemy_info": "Пусть свет погаснет.",
|
"darkness_enemy_info": "Пусть свет погаснет.",
|
||||||
|
"darkness_disable_info": "Свет снова включился.",
|
||||||
"darkness_player_info": "Тьма охватила игрока '{0}'.",
|
"darkness_player_info": "Тьма охватила игрока '{0}'.",
|
||||||
"darkness_select_info": "Выберите игрока для тьмы:",
|
"darkness_select_info": "Выберите игрока для тьмы:",
|
||||||
|
|
||||||
|
|
@ -97,6 +100,7 @@
|
||||||
"deaf": "Глухой",
|
"deaf": "Глухой",
|
||||||
"deaf_desc": "Выберите игрока, у которого будет отключён весь звук",
|
"deaf_desc": "Выберите игрока, у которого будет отключён весь звук",
|
||||||
"deaf_enemy_info": "Ваши наушники покинули игру.",
|
"deaf_enemy_info": "Ваши наушники покинули игру.",
|
||||||
|
"deaf_disable_info": "Ты снова слышишь.",
|
||||||
"deaf_player_info": "Звук отключён для игрока '{0}'.",
|
"deaf_player_info": "Звук отключён для игрока '{0}'.",
|
||||||
"deaf_select_info": "Отключить звук для игрока:",
|
"deaf_select_info": "Отключить звук для игрока:",
|
||||||
|
|
||||||
|
|
@ -167,6 +171,7 @@
|
||||||
"glitch": "Глитч",
|
"glitch": "Глитч",
|
||||||
"glitch_desc": "Отключает радар выбранному врагу",
|
"glitch_desc": "Отключает радар выбранному врагу",
|
||||||
"glitch_enemy_info": "Ваш радар был отключён.",
|
"glitch_enemy_info": "Ваш радар был отключён.",
|
||||||
|
"glitch_disable_info": "Твой радар снова работает.",
|
||||||
"glitch_player_info": "Радар игрока '{0}' был отключён.",
|
"glitch_player_info": "Радар игрока '{0}' был отключён.",
|
||||||
"glitch_select_info": "Отключить радар игроку:",
|
"glitch_select_info": "Отключить радар игроку:",
|
||||||
|
|
||||||
|
|
@ -196,6 +201,7 @@
|
||||||
"hotbomb": "Горячая бомба",
|
"hotbomb": "Горячая бомба",
|
||||||
"hotbomb_desc": "Пока вы живы, бомба наносит урон её носителю",
|
"hotbomb_desc": "Пока вы живы, бомба наносит урон её носителю",
|
||||||
"hotbomb_hint": "Осторожно, бомба горячая!",
|
"hotbomb_hint": "Осторожно, бомба горячая!",
|
||||||
|
"hotbomb_disable_info": "Бомба больше не обжигает.",
|
||||||
|
|
||||||
"iana": "Голограмма",
|
"iana": "Голограмма",
|
||||||
"iana_desc": "Нажмите [css_useSkill], чтобы управлять своей голограммой несколько секунд",
|
"iana_desc": "Нажмите [css_useSkill], чтобы управлять своей голограммой несколько секунд",
|
||||||
|
|
@ -218,6 +224,7 @@
|
||||||
"jammer": "Глушилка",
|
"jammer": "Глушилка",
|
||||||
"jammer_desc": "Выберите игрока, чтобы отключить его прицел",
|
"jammer_desc": "Выберите игрока, чтобы отключить его прицел",
|
||||||
"jammer_enemy_info": "Ваш прицел был отключён.",
|
"jammer_enemy_info": "Ваш прицел был отключён.",
|
||||||
|
"jammer_disable_info": "Твой прицел снова работает.",
|
||||||
"jammer_player_info": "Прицел игрока '{0}' был отключён.",
|
"jammer_player_info": "Прицел игрока '{0}' был отключён.",
|
||||||
"jammer_select_info": "Отключить прицел игроку:",
|
"jammer_select_info": "Отключить прицел игроку:",
|
||||||
|
|
||||||
|
|
@ -230,6 +237,7 @@
|
||||||
"jumpban": "Безногий",
|
"jumpban": "Безногий",
|
||||||
"jumpban_desc": "Выберите игрока, который не сможет прыгать",
|
"jumpban_desc": "Выберите игрока, который не сможет прыгать",
|
||||||
"jumpban_enemy_info": "Кто-то отрезал вам ноги.",
|
"jumpban_enemy_info": "Кто-то отрезал вам ноги.",
|
||||||
|
"jumpban_disable_info": "Ты снова можешь нормально двигаться.",
|
||||||
"jumpban_player_info": "Игрок '{0}' больше не может прыгать.",
|
"jumpban_player_info": "Игрок '{0}' больше не может прыгать.",
|
||||||
"jumpban_select_info": "Запретить прыжки игроку:",
|
"jumpban_select_info": "Запретить прыжки игроку:",
|
||||||
|
|
||||||
|
|
@ -260,6 +268,7 @@
|
||||||
"magnifier": "Лупа",
|
"magnifier": "Лупа",
|
||||||
"magnifier_desc": "Приближает экран врага, уменьшая его поле зрения",
|
"magnifier_desc": "Приближает экран врага, уменьшая его поле зрения",
|
||||||
"magnifier_enemy_info": "Ваше поле зрения было искажено!",
|
"magnifier_enemy_info": "Ваше поле зрения было искажено!",
|
||||||
|
"magnifier_disable_info": "Твоё зрение восстановилось.",
|
||||||
"magnifier_player_info": "Игрок '{0}' принудительно переведён в режим увеличения.",
|
"magnifier_player_info": "Игрок '{0}' принудительно переведён в режим увеличения.",
|
||||||
"magnifier_select_info": "Увеличить экран игрока:",
|
"magnifier_select_info": "Увеличить экран игрока:",
|
||||||
|
|
||||||
|
|
@ -321,12 +330,14 @@
|
||||||
"poison": "Яд",
|
"poison": "Яд",
|
||||||
"poison_desc": "Выберите игрока, который будет получать урон каждые несколько секунд",
|
"poison_desc": "Выберите игрока, который будет получать урон каждые несколько секунд",
|
||||||
"poison_enemy_info": "Вы были отравлены.",
|
"poison_enemy_info": "Вы были отравлены.",
|
||||||
|
"poison_disable_info": "Теперь ты невосприимчив к яду.",
|
||||||
"poison_player_info": "Игрок '{0}' был отравлен.",
|
"poison_player_info": "Игрок '{0}' был отравлен.",
|
||||||
"poison_select_info": "Отравить игрока:",
|
"poison_select_info": "Отравить игрока:",
|
||||||
|
|
||||||
"primaryban": "Без винтовок",
|
"primaryban": "Без винтовок",
|
||||||
"primaryban_desc": "Выберите игрока, который не сможет использовать винтовки",
|
"primaryban_desc": "Выберите игрока, который не сможет использовать винтовки",
|
||||||
"primaryban_enemy_info": "Вы больше не можете использовать винтовки.",
|
"primaryban_enemy_info": "Вы больше не можете использовать винтовки.",
|
||||||
|
"primaryban_disable_info": "Ты снова можешь использовать винтовки.",
|
||||||
"primaryban_player_info": "Игрок '{0}' больше не может использовать винтовки.",
|
"primaryban_player_info": "Игрок '{0}' больше не может использовать винтовки.",
|
||||||
"primaryban_select_info": "Запретить винтовки игроку:",
|
"primaryban_select_info": "Запретить винтовки игроку:",
|
||||||
|
|
||||||
|
|
@ -457,6 +468,8 @@
|
||||||
"wildthrow": "Дикие броски",
|
"wildthrow": "Дикие броски",
|
||||||
"wildthrow_desc": "Выберите игрока, у которого будут проблемы с бросанием гранат",
|
"wildthrow_desc": "Выберите игрока, у которого будут проблемы с бросанием гранат",
|
||||||
"wildthrow_player_info": "Игрок '{0}' забыл все свои гранатлайны",
|
"wildthrow_player_info": "Игрок '{0}' забыл все свои гранатлайны",
|
||||||
|
"wildthrow_enemy_info": "Ты слишком волнуешься, когда бросаешь гранаты.",
|
||||||
|
"wildthrow_disable_info": "Твоя память о том, как бросать гранаты, вернулась в норму.",
|
||||||
"wildthrow_select_info": "Выберите игрока:",
|
"wildthrow_select_info": "Выберите игрока:",
|
||||||
|
|
||||||
"zeus": "Зевс",
|
"zeus": "Зевс",
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"areareaper_select_info": "Kapatılacak bomba alanını seç:",
|
"areareaper_select_info": "Kapatılacak bomba alanını seç:",
|
||||||
"areareaper_site_disabled": "{0} alanı mühürlendi - artık buraya bomba kurulamaz!",
|
"areareaper_site_disabled": "{0} alanı mühürlendi - artık buraya bomba kurulamaz!",
|
||||||
"areareaper_used_info": "Yeteneğini zaten kullandın, açgözlülük yapma",
|
"areareaper_used_info": "Yeteneğini zaten kullandın, açgözlülük yapma",
|
||||||
|
"areareaper_teammates_info": "{0} Bölgesi bomba kurmaya kapatıldı.",
|
||||||
"areareaper_bombsite_disabled": "Bu bomba alanı kullanıma kapatıldı!",
|
"areareaper_bombsite_disabled": "Bu bomba alanı kullanıma kapatıldı!",
|
||||||
|
|
||||||
"armored": "Zırhlı",
|
"armored": "Zırhlı",
|
||||||
|
|
@ -62,6 +63,7 @@
|
||||||
"carefulbullets": "Dikkatli Mermiler",
|
"carefulbullets": "Dikkatli Mermiler",
|
||||||
"carefulbullets_desc": "Düşman mermi kaçırırsa hasar alır",
|
"carefulbullets_desc": "Düşman mermi kaçırırsa hasar alır",
|
||||||
"carefulbullets_enemy_info": "Mermi kaçırmak canını yakacak",
|
"carefulbullets_enemy_info": "Mermi kaçırmak canını yakacak",
|
||||||
|
"carefulbullets_disable_info": "Artık mermi kaçırmak can yakmayacak.",
|
||||||
"carefulbullets_player_info": "'{0}' artık mermi sıkarken iki kere düşünecek",
|
"carefulbullets_player_info": "'{0}' artık mermi sıkarken iki kere düşünecek",
|
||||||
"carefulbullets_select_info": "İsabetsiz atışların hasar vereceği oyuncu:",
|
"carefulbullets_select_info": "İsabetsiz atışların hasar vereceği oyuncu:",
|
||||||
|
|
||||||
|
|
@ -85,6 +87,7 @@
|
||||||
"darkness": "Karanlık",
|
"darkness": "Karanlık",
|
||||||
"darkness_desc": "Bir düşmanın ekranını karart",
|
"darkness_desc": "Bir düşmanın ekranını karart",
|
||||||
"darkness_enemy_info": "Işıklar sönsün",
|
"darkness_enemy_info": "Işıklar sönsün",
|
||||||
|
"darkness_disable_info": "Işıklar geldi.",
|
||||||
"darkness_player_info": "'{0}' isimli oyuncunun dünyasını kararttın",
|
"darkness_player_info": "'{0}' isimli oyuncunun dünyasını kararttın",
|
||||||
"darkness_select_info": "Karanlık bir oyuncuyu seç:",
|
"darkness_select_info": "Karanlık bir oyuncuyu seç:",
|
||||||
|
|
||||||
|
|
@ -97,6 +100,7 @@
|
||||||
"deaf": "Sağır",
|
"deaf": "Sağır",
|
||||||
"deaf_desc": "Bir düşmanın kulağını kapat ve sesleri duymaz hale getir",
|
"deaf_desc": "Bir düşmanın kulağını kapat ve sesleri duymaz hale getir",
|
||||||
"deaf_enemy_info": "Kulaklıkların tıkandı",
|
"deaf_enemy_info": "Kulaklıkların tıkandı",
|
||||||
|
"deaf_disable_info": "Kulakların açıldı.",
|
||||||
"deaf_player_info": "'{0}' isimli oyuncu için sesler kapatıldı.",
|
"deaf_player_info": "'{0}' isimli oyuncu için sesler kapatıldı.",
|
||||||
"deaf_select_info": "Sağır bir oyuncuyu seç:",
|
"deaf_select_info": "Sağır bir oyuncuyu seç:",
|
||||||
|
|
||||||
|
|
@ -167,6 +171,7 @@
|
||||||
"glitch": "Glitç",
|
"glitch": "Glitç",
|
||||||
"glitch_desc": "Seçilen bir düşmanın radarını kapatır",
|
"glitch_desc": "Seçilen bir düşmanın radarını kapatır",
|
||||||
"glitch_enemy_info": "Radarın kapandı",
|
"glitch_enemy_info": "Radarın kapandı",
|
||||||
|
"glitch_disable_info": "Radarın açıldı",
|
||||||
"glitch_player_info": "'{0}' isimli oyuncunun radarı devre dışı bırakıldı.",
|
"glitch_player_info": "'{0}' isimli oyuncunun radarı devre dışı bırakıldı.",
|
||||||
"glitch_select_info": "Radarı kapatılacak oyuncuyu seç:",
|
"glitch_select_info": "Radarı kapatılacak oyuncuyu seç:",
|
||||||
|
|
||||||
|
|
@ -196,6 +201,7 @@
|
||||||
"hotbomb": "Sıcak C4",
|
"hotbomb": "Sıcak C4",
|
||||||
"hotbomb_desc": "Yaşadığın sürece bombacının canı azalıyor",
|
"hotbomb_desc": "Yaşadığın sürece bombacının canı azalıyor",
|
||||||
"hotbomb_hint": "Bomba çok sıcak!",
|
"hotbomb_hint": "Bomba çok sıcak!",
|
||||||
|
"hotbomb_disable_info": "Bomba artık yakmıyor.",
|
||||||
|
|
||||||
"iana": "Hologram",
|
"iana": "Hologram",
|
||||||
"iana_desc": "[css_useSkill] tuşuna basarak bir hologram oluştur",
|
"iana_desc": "[css_useSkill] tuşuna basarak bir hologram oluştur",
|
||||||
|
|
@ -218,6 +224,7 @@
|
||||||
"jammer": "Sinyal Kesici",
|
"jammer": "Sinyal Kesici",
|
||||||
"jammer_desc": "Bir oyuncunun nişangahını (crosshair) kapatmak için seç",
|
"jammer_desc": "Bir oyuncunun nişangahını (crosshair) kapatmak için seç",
|
||||||
"jammer_enemy_info": "Nişangahın kapatıldı.",
|
"jammer_enemy_info": "Nişangahın kapatıldı.",
|
||||||
|
"jammer_disable_info": "Nişangahın açıldı",
|
||||||
"jammer_player_info": "'{0}' isimli oyuncunun nişangahı kapatıldı.",
|
"jammer_player_info": "'{0}' isimli oyuncunun nişangahı kapatıldı.",
|
||||||
"jammer_select_info": "Nişangahı kapatılacak oyuncuyu seç:",
|
"jammer_select_info": "Nişangahı kapatılacak oyuncuyu seç:",
|
||||||
|
|
||||||
|
|
@ -230,6 +237,7 @@
|
||||||
"jumpban": "Bacaksız",
|
"jumpban": "Bacaksız",
|
||||||
"jumpban_desc": "Zıplayamayacak bir oyuncu seç",
|
"jumpban_desc": "Zıplayamayacak bir oyuncu seç",
|
||||||
"jumpban_enemy_info": "Bacakların kesildi",
|
"jumpban_enemy_info": "Bacakların kesildi",
|
||||||
|
"jumpban_disable_info": "Bacaklarına kavuştun",
|
||||||
"jumpban_player_info": "'{0}' artık zıplayamaz.",
|
"jumpban_player_info": "'{0}' artık zıplayamaz.",
|
||||||
"jumpban_select_info": "Zıplaması yasaklanacak oyuncu:",
|
"jumpban_select_info": "Zıplaması yasaklanacak oyuncu:",
|
||||||
|
|
||||||
|
|
@ -260,6 +268,7 @@
|
||||||
"magnifier": "Büyüteç",
|
"magnifier": "Büyüteç",
|
||||||
"magnifier_desc": "Düşmanın ekranını yakınlaştırarak görüş alanını daraltır",
|
"magnifier_desc": "Düşmanın ekranını yakınlaştırarak görüş alanını daraltır",
|
||||||
"magnifier_enemy_info": "Görüşün bozuldu!",
|
"magnifier_enemy_info": "Görüşün bozuldu!",
|
||||||
|
"magnifier_disable_info": "Görüşün düzeldi",
|
||||||
"magnifier_player_info": "'{0}' isimli oyuncunun ekranı yakınlaştırıldı.",
|
"magnifier_player_info": "'{0}' isimli oyuncunun ekranı yakınlaştırıldı.",
|
||||||
"magnifier_select_info": "Ekranı büyütülecek oyuncuyu seç:",
|
"magnifier_select_info": "Ekranı büyütülecek oyuncuyu seç:",
|
||||||
|
|
||||||
|
|
@ -321,12 +330,14 @@
|
||||||
"poison": "Zehir",
|
"poison": "Zehir",
|
||||||
"poison_desc": "Birkaç saniyede bir hasar alacak bir oyuncu seç",
|
"poison_desc": "Birkaç saniyede bir hasar alacak bir oyuncu seç",
|
||||||
"poison_enemy_info": "Zehirlendin.",
|
"poison_enemy_info": "Zehirlendin.",
|
||||||
|
"poison_disable_info": "Zehire bağışıklık kazandın",
|
||||||
"poison_player_info": "'{0}' isimli oyuncu zehirlendi.",
|
"poison_player_info": "'{0}' isimli oyuncu zehirlendi.",
|
||||||
"poison_select_info": "Zehirlenecek oyuncuyu seç:",
|
"poison_select_info": "Zehirlenecek oyuncuyu seç:",
|
||||||
|
|
||||||
"primaryban": "Tüfek Yasak",
|
"primaryban": "Tüfek Yasak",
|
||||||
"primaryban_desc": "Tüfek kullanamayacak bir oyuncu seç",
|
"primaryban_desc": "Tüfek kullanamayacak bir oyuncu seç",
|
||||||
"primaryban_enemy_info": "Tüfek kullanmayı unuttun",
|
"primaryban_enemy_info": "Tüfek kullanmayı unuttun",
|
||||||
|
"primaryban_disable_info": "Tüfek kullanabilirsin",
|
||||||
"primaryban_player_info": "'{0}' artık tüfek kullanamaz.",
|
"primaryban_player_info": "'{0}' artık tüfek kullanamaz.",
|
||||||
"primaryban_select_info": "Tüfek kullanımı yasaklanacak oyuncu:",
|
"primaryban_select_info": "Tüfek kullanımı yasaklanacak oyuncu:",
|
||||||
|
|
||||||
|
|
@ -457,6 +468,8 @@
|
||||||
"wildthrow": "Unutkan Bombacı",
|
"wildthrow": "Unutkan Bombacı",
|
||||||
"wildthrow_desc": "El bombası atmakta zorluk çekecek bir oyuncu seçin",
|
"wildthrow_desc": "El bombası atmakta zorluk çekecek bir oyuncu seçin",
|
||||||
"wildthrow_player_info": "'{0}' adlı oyuncu tüm taktiklerini unuttu",
|
"wildthrow_player_info": "'{0}' adlı oyuncu tüm taktiklerini unuttu",
|
||||||
|
"wildthrow_enemy_info": "Bomba atarken çok heyecanlanıyorsun.",
|
||||||
|
"wildthrow_disable_info": "El bombası atma hafızan normale döndü.",
|
||||||
"wildthrow_select_info": "Bir oyuncu seçin:",
|
"wildthrow_select_info": "Bir oyuncu seçin:",
|
||||||
|
|
||||||
"zeus": "Zeus",
|
"zeus": "Zeus",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue