diff --git a/cstrike/addons/amxmodx/configs/redm/gamemode_deathmatch.json b/cstrike/addons/amxmodx/configs/redm/gamemode_deathmatch.json index bef3ae2..69fa507 100644 --- a/cstrike/addons/amxmodx/configs/redm/gamemode_deathmatch.json +++ b/cstrike/addons/amxmodx/configs/redm/gamemode_deathmatch.json @@ -77,7 +77,7 @@ }, "modes": [ { - "name": "Pistols - HS ONLY", + "name": "PISTOLS_ONLY_HS", "equip": { "secondary": [ "weapon_usp", @@ -96,7 +96,7 @@ } }, { - "name": "Second round weapons", + "name": "SECOND_ROUND_WAEPONS", "equip": { "primary": [ "weapon_scout", @@ -128,13 +128,13 @@ } }, { - "name": "All weapons - HS ONLY", + "name": "ALL_WEAPONS_HS_ONLY", "cvars": { "mp_damage_headshot_only": "1" } }, { - "name": "All weapons" + "name": "ALL_WEAPONS" } ] } diff --git a/cstrike/addons/amxmodx/data/lang/redm/modes.txt b/cstrike/addons/amxmodx/data/lang/redm/modes.txt new file mode 100644 index 0000000..86cd54c --- /dev/null +++ b/cstrike/addons/amxmodx/data/lang/redm/modes.txt @@ -0,0 +1,11 @@ +[en] +ALL_WEAPONS = All weapons +ALL_WEAPONS_HS_ONLY = All weapons (only HS) +PISTOLS_ONLY_HS = Pistols (only HS) +SECOND_ROUND_WAEPONS = Second round weapons + +[ru] +ALL_WEAPONS = Все оружия +ALL_WEAPONS_HS_ONLY = Все оружия (только HS) +PISTOLS_ONLY_HS = Пистолеты (только HS) +SECOND_ROUND_WAEPONS = Оружия 2-го раунда diff --git a/cstrike/addons/amxmodx/data/lang/redm.txt b/cstrike/addons/amxmodx/data/lang/redm/redm.txt similarity index 83% rename from cstrike/addons/amxmodx/data/lang/redm.txt rename to cstrike/addons/amxmodx/data/lang/redm/redm.txt index 5f06a1f..ad5de88 100644 --- a/cstrike/addons/amxmodx/data/lang/redm.txt +++ b/cstrike/addons/amxmodx/data/lang/redm/redm.txt @@ -8,7 +8,8 @@ Disabled = disabled PrimaryEquip = Primary equip SecondaryEquip = Secondary equip ToClosePressG = \wTo close the menu - press `\yG\w` -CurrentMode = Current mode +CurrentMode = Current mode: +NextMode = Next Mode - GunsHelp = Say ^3guns ^1to open equip menu. [ru] @@ -21,5 +22,6 @@ Disabled = отключено PrimaryEquip = Основное оружие SecondaryEquip = Дополнительное оружие ToClosePressG = \wЧтобы закрыть меню - нажмите `\yG\w` -CurrentMode = Текущий режим +CurrentMode = Текущий режим: +NextMode = Следующий режим - GunsHelp = Напишите ^3guns ^1чтобы открыть меню экипировки. diff --git a/cstrike/addons/amxmodx/scripting/ReDeathmatch.sma b/cstrike/addons/amxmodx/scripting/ReDeathmatch.sma index e71f3c9..250a006 100644 --- a/cstrike/addons/amxmodx/scripting/ReDeathmatch.sma +++ b/cstrike/addons/amxmodx/scripting/ReDeathmatch.sma @@ -28,7 +28,7 @@ static const g_soundEffects[][] = { public plugin_init() { register_plugin("ReDeathmatch", VERSION, "Sergey Shorokhov") - register_dictionary("redm.txt") + register_dictionary("redm/redm.txt") create_cvar("redm_version", VERSION, (FCVAR_SERVER|FCVAR_SPONLY)) diff --git a/cstrike/addons/amxmodx/scripting/ReDeathmatch/ReDM_round_modes.inc b/cstrike/addons/amxmodx/scripting/ReDeathmatch/ReDM_round_modes.inc index 83020a3..6f4a63e 100644 --- a/cstrike/addons/amxmodx/scripting/ReDeathmatch/ReDM_round_modes.inc +++ b/cstrike/addons/amxmodx/scripting/ReDeathmatch/ReDM_round_modes.inc @@ -2,6 +2,8 @@ static g_currentRoundModeIdx = -1 static redm_modes_switch[32] RoundModes_Init() { + register_dictionary("redm/modes.txt") + RegisterHookChain(RG_RoundEnd, "RoundEnd", .post = false) RegisterHookChain(RG_CSGameRules_RestartRound, "CSGameRules_RestartRound", .post = false) RegisterHookChain(RG_CBasePlayer_OnSpawnEquip, "CBasePlayer_OnSpawnEquip", .post = false) @@ -28,7 +30,9 @@ public RoundEnd(WinStatus: status, ScenarioEventEndRound: event, Float: tmDelay) new modeName[32] GetModeInfo(nextModeIdx, modeName, charsmax(modeName)) - client_print_color(0, print_team_red, "[Re:DM] Next mode is `^3%s^1`", + client_print_color(0, print_team_red, + HasLangKey(modeName) ? "[Re:DM] %l ^3%l^1" : "[Re:DM] %l ^3%s^1", + "NextMode", modeName ) @@ -39,8 +43,7 @@ public CSGameRules_RestartRound() { if (g_currentRoundModeIdx == -1) return - new modeName[32] - if (!GetModeInfo(g_currentRoundModeIdx, modeName, charsmax(modeName))) + if (!GetModeInfo(g_currentRoundModeIdx)) return ApplyMode(g_currentRoundModeIdx) @@ -70,18 +73,16 @@ public CBasePlayer_OnSpawnEquip(const player, bool: addDefault, bool: equipGame) SetGlobalTransTarget(player) - new bool: isLang = (GetLangTransKey(modeName) != TransKey_Bad) - show_dhudmessage( player, - isLang ? "%l: %l" : "%l: %s", + HasLangKey(modeName) ? "%l %l" : "%l %s", "CurrentMode", modeName ) } -static GetModeInfo(const index, name[], len) { +static GetModeInfo(const index, name[] = "", len = 0) { if (!json_object_has_value(Config_GetCurrent(), "modes")) return false diff --git a/cstrike/addons/amxmodx/scripting/include/redm.inc b/cstrike/addons/amxmodx/scripting/include/redm.inc index 69b88d3..06c24f6 100644 --- a/cstrike/addons/amxmodx/scripting/include/redm.inc +++ b/cstrike/addons/amxmodx/scripting/include/redm.inc @@ -171,3 +171,7 @@ stock UTIL_DumpJSON(JSON: obj, msg[]) { server_print("%s:`%s`", msg, buffer) } + +stock bool: HasLangKey(const string[]) { + return (GetLangTransKey(string) != TransKey_Bad) +}