Replace Info Message

Replace Info Message 2.3

Нет прав для скачивания
Сообщения
1,032
Реакции
828
Помог
10 раз(а)
Slinfy, покажите пожалуйста исходный код файлом.
 
Сообщения
24
Реакции
10
Код:
/* ===============================================================================
* Replace Info Message 2.0 [18.02.2017]
* Modification by Javekson
* ============================================================================ */
#include <amxmodx>
#pragma semicolon 1
new Trie:g_tReplaceInfoMsg;
public plugin_init() {
register_plugin("Replace Info Message", "2.0", "maeStro aka 9iky6");
register_message(get_user_msgid("SayText"), "MessageSayText");
register_message(get_user_msgid("TextMsg"), "MessageTextMsg");
g_tReplaceInfoMsg = TrieCreate();
}
public plugin_cfg() {
TrieSetString(g_tReplaceInfoMsg, "#Game_Commencing", "Играта започнува");
TrieSetString(g_tReplaceInfoMsg, "#Game_will_restart_in", "Играта ќе започне за %s секунди");
TrieSetString(g_tReplaceInfoMsg, "#CTs_Win", "Специјалците победија");
TrieSetString(g_tReplaceInfoMsg, "#Terrorists_Win", "Терористите победија");
TrieSetString(g_tReplaceInfoMsg, "#Round_Draw", "Нема победник");
TrieSetString(g_tReplaceInfoMsg, "#Target_Bombed", "Бомбата е успешно детонирана");
TrieSetString(g_tReplaceInfoMsg, "#Target_Saved", "Целта е осигурана");
TrieSetString(g_tReplaceInfoMsg, "#Hostages_Not_Rescued", "Заложниците не беа ослободени");
TrieSetString(g_tReplaceInfoMsg, "#All_Hostages_Rescued", "Сите заложници беа ослободени");
TrieSetString(g_tReplaceInfoMsg, "#VIP_Escaped", "VIP-игрочот е спасен");
TrieSetString(g_tReplaceInfoMsg, "#VIP_Assassinated", "VIP-играчот е убиен");
TrieSetString(g_tReplaceInfoMsg, "#C4_Arming_Cancelled", "Бомбата мора да биде поставена во одредена зона!");
TrieSetString(g_tReplaceInfoMsg, "#C4_Plant_Must_Be_On_Ground", "Бомбата мора да биде поставена на земја!");
TrieSetString(g_tReplaceInfoMsg, "#Defusing_Bomb_With_Defuse_Kit", "Деактивирање на бомбата со defuse кит");
TrieSetString(g_tReplaceInfoMsg, "#Defusing_Bomb_Without_Defuse_Kit", "Деактивирање на бомбата без defuse кит");
TrieSetString(g_tReplaceInfoMsg, "#Weapon_Cannot_Be_Dropped", "Ова оружје неможе да биде фрлено!");
TrieSetString(g_tReplaceInfoMsg, "#C4_Plant_At_Bomb_Spot", "Бомбата мора да биде поставена во одредена зона!");
TrieSetString(g_tReplaceInfoMsg, "#Cannot_Carry_Anymore", "Неможе да носите повеќе опрема!");
TrieSetString(g_tReplaceInfoMsg, "#Already_Have_Kevlar", "Веќе поседувате панцир!");
TrieSetString(g_tReplaceInfoMsg, "#Already_Have_Kevlar_Helmet", "Веќе поседувате панцир и шлем");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_BurstFire", "Вклучен Burst-Fire");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_FullAuto", "Вклучен автоматски режим");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_SemiAuto", "Вклучен полуавтоматски режим");
TrieSetString(g_tReplaceInfoMsg, "#Already_Own_Weapon", "Веќе го поседувате тоа оружје!");
TrieSetString(g_tReplaceInfoMsg, "#Command_Not_Available", "Функцијата не е достапна!");
TrieSetString(g_tReplaceInfoMsg, "#Got_bomb", "Вие ја зедовте бомбата");
TrieSetString(g_tReplaceInfoMsg, "#Game_bomb_pickup", "%s ја зеде бомбата");
TrieSetString(g_tReplaceInfoMsg, "#Game_bomb_drop", "%s ја фрли бомбата");
TrieSetString(g_tReplaceInfoMsg, "#Bomb_Planted", "Бомбата е поставена");
TrieSetString(g_tReplaceInfoMsg, "#Bomb_Defused", "Бомбата е деактивирана");
TrieSetString(g_tReplaceInfoMsg, "#Cant_buy", "Истекоа %s секудни. Купувањето е забрането!");
TrieSetString(g_tReplaceInfoMsg, "#Name_change_at_respawn", "Вашето име ќе биде променето, кога ќе почнете со игра");
TrieSetString(g_tReplaceInfoMsg, "#Auto_Team_Balance_Next_Round", "Автоматски баланс во следната рунда");
TrieSetString(g_tReplaceInfoMsg, "#Not_Enough_Money", "Немате доволно пари!");
TrieSetString(g_tReplaceInfoMsg, "#Got_defuser", "Вие зедовте defuse кит");
}
public MessageSayText() {
new szMsg[21];
get_msg_arg_string(2, szMsg, charsmax(szMsg));
if(equal(szMsg, "#Cstrike_Name_Change"))
set_msg_arg_string(2, "^1Играчот ^3%s ^1го промени името на ^3%s");
return PLUGIN_CONTINUE;
}
public MessageTextMsg() {
new szMsg[192], szArg3[32];
get_msg_arg_string(2, szMsg, charsmax(szMsg));
if(TrieGetString(g_tReplaceInfoMsg, szMsg, szMsg, charsmax(szMsg))) {
if(get_msg_args() > 2) {
get_msg_arg_string(3, szArg3, charsmax(szArg3));
replace(szMsg, charsmax(szMsg), "%s", szArg3);
}
set_msg_arg_string(2, szMsg);
}
return PLUGIN_CONTINUE;
}
 
Последнее редактирование модератором:
Сообщения
94
Реакции
14
Помог
5 раз(а)
Код:
L 02/19/2017 - 14:09:49: Invalid map handle provided (58)
L 02/19/2017 - 14:09:49: [AMXX] Displaying debug trace (plugin "replace_info_msg2.amxx", version "2.0")
L 02/19/2017 - 14:09:49: [AMXX] Run time error 10: native error (native "TrieGetString")
L 02/19/2017 - 14:09:49: [AMXX] [0] replace_info_msg2.sma::MessageTextMsg (line 74)
Текст не переводит.
 
Сообщения
1,032
Реакции
828
Помог
10 раз(а)
Andrey, я так понял в Вашем варианте больше строк для перевода, скиньте исходных код.
 
Сообщения
94
Реакции
14
Помог
5 раз(а)
Javekson,
Код:
/* ===============================================================================
* Replace Info Message 2.0 [18.02.2017]
* Modification by Javekson
* ============================================================================ */

#include <amxmodx>

#pragma semicolon 1

new Trie:g_tReplaceInfoMsg;

public plugin_init() {
register_plugin("Replace Info Message", "2.0", "maeStro aka 9iky6");
register_message(get_user_msgid("SayText"), "MessageSayText");
register_message(get_user_msgid("TextMsg"), "MessageTextMsg");
g_tReplaceInfoMsg = TrieCreate();
}

public plugin_cfg() {
TrieSetString(g_tReplaceInfoMsg, "#Game_Commencing", "Игра началась!");
TrieSetString(g_tReplaceInfoMsg, "#Game_will_restart_in", "Рестарт игры произойдет через %s секунд!");
TrieSetString(g_tReplaceInfoMsg, "#CTs_Win", "");
TrieSetString(g_tReplaceInfoMsg, "#Terrorists_Win", "");
TrieSetString(g_tReplaceInfoMsg, "#Round_Draw", "Раунд закончился вничью!");
TrieSetString(g_tReplaceInfoMsg, "#Target_Bombed", "");
TrieSetString(g_tReplaceInfoMsg, "#Target_Saved", "");
TrieSetString(g_tReplaceInfoMsg, "#Hostages_Not_Rescued", "Не удалось спасти заложников!");
TrieSetString(g_tReplaceInfoMsg, "#All_Hostages_Rescued", "Все заложники спасены!");
TrieSetString(g_tReplaceInfoMsg, "#VIP_Escaped", "VIP-игрок спасен!");
TrieSetString(g_tReplaceInfoMsg, "#VIP_Assassinated", "VIP-игрок убит!");
TrieSetString(g_tReplaceInfoMsg, "#C4_Arming_Cancelled", "Установка отменена. Бомба может быть установлена только в зоне установки бомбы!");
TrieSetString(g_tReplaceInfoMsg, "#C4_Plant_Must_Be_On_Ground", "Для установки бобмы Вы должны находиться на земле!");
TrieSetString(g_tReplaceInfoMsg, "#Defusing_Bomb_With_Defuse_Kit", "Обезвреживание с набором сапёра!");
TrieSetString(g_tReplaceInfoMsg, "#Defusing_Bomb_Without_Defuse_Kit", "Обезвреживание без набора сапёра!");
TrieSetString(g_tReplaceInfoMsg, "#Weapon_Cannot_Be_Dropped", "Нельзя выбросить данное оружие!");
TrieSetString(g_tReplaceInfoMsg, "#C4_Plant_At_Bomb_Spot", "Бомба может быть установлена только в зоне установки бомбы!");
TrieSetString(g_tReplaceInfoMsg, "#Cannot_Carry_Anymore", "Вы не можете взять больше!");
TrieSetString(g_tReplaceInfoMsg, "#Already_Have_Kevlar", "У вас уже имеется бронежилет!");
TrieSetString(g_tReplaceInfoMsg, "#Already_Have_Kevlar_Helmet", "У вас уже имеется бронежилет и шлем!");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_BurstFire", "Переключен в режим пулеметного огня!");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_FullAuto", "Переключен в автоматический режим!");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_SemiAuto", "Переключен в полуавтоматический режим!");
TrieSetString(g_tReplaceInfoMsg, "#Already_Own_Weapon", "У вас уже имеется данное оружие!");
TrieSetString(g_tReplaceInfoMsg, "#Command_Not_Available", "Данное действие недоступно в Вашем местонахождении!");
TrieSetString(g_tReplaceInfoMsg, "#Got_bomb", "Вы подобрали бомбу!");
TrieSetString(g_tReplaceInfoMsg, "#Game_bomb_pickup", "%s подобрал(а) бомбу!");
TrieSetString(g_tReplaceInfoMsg, "#Game_bomb_drop", "%s выбросил(а) бомбу!");
TrieSetString(g_tReplaceInfoMsg, "#Bomb_Planted", "Бомба установлена!");
TrieSetString(g_tReplaceInfoMsg, "#Bomb_Defused", "");
TrieSetString(g_tReplaceInfoMsg, "#Cant_buy", "Прошло %s секунд с начала раунда. Закупка запрещена!");
TrieSetString(g_tReplaceInfoMsg, "#Name_change_at_respawn", "Ваше ник будет изменено после следующего возрождения!");
TrieSetString(g_tReplaceInfoMsg, "#Auto_Team_Balance_Next_Round", "Автоматический баланс команды наступит в следующем раунде!");
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode4", "От первого лица!");
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode3", "Свободное наблюдение!");
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode2", "Режим свободной камеры!");
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode5", "Обзор свободной камеры!");
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode6", "Фиксированный обзор карты!");
TrieSetString(g_tReplaceInfoMsg, "#Name_change_at_respawn", "Ваш ник будет изменен в следующем раунде!");
TrieSetString(g_tReplaceInfoMsg, "#Too_Many_Terrorists", "Слишком много террористов!");
TrieSetString(g_tReplaceInfoMsg, "#Too_Many_CTs", "Слишком много контер-террористов!");
}

public MessageSayText() {
new szMsg[21];
get_msg_arg_string(2, szMsg, charsmax(szMsg));
if(equal(szMsg, "#Cstrike_Name_Change"))
set_msg_arg_string(2, "^1Игрок ^3%s ^1изменил ^4Ник ^1на ^3%s");
return PLUGIN_CONTINUE;
}

public MessageTextMsg() {
new szMsg[192], szArg3[32];
get_msg_arg_string(2, szMsg, charsmax(szMsg));
if(TrieGetString(g_tReplaceInfoMsg, szMsg, szMsg, charsmax(szMsg))) {
if(get_msg_args() > 2) {
get_msg_arg_string(3, szArg3, charsmax(szArg3));
replace(szMsg, charsmax(szMsg), "%s", szArg3);
}
set_msg_arg_string(2, szMsg);
}
return PLUGIN_CONTINUE;
}
 
Сообщения
1,032
Реакции
828
Помог
10 раз(а)
Andrey, попробуйте заменить public MessageTextMsg на этот: (но это не точно xD у меня подобных ошибок нету, даже не знаю)
C++:
public MessageTextMsg() {
new szMsg[34], szRplcMsg[192], szArg3[32];
get_msg_arg_string(2, szMsg, charsmax(szMsg));
if(TrieGetString(g_tReplaceInfoMsg, szMsg, szRplcMsg, charsmax(szRplcMsg))) {
if(get_msg_args() > 2) {
get_msg_arg_string(3, szArg3, charsmax(szArg3));
replace(szRplcMsg, charsmax(szRplcMsg), "%s", szArg3);
}
set_msg_arg_string(2, szRplcMsg);
}
return PLUGIN_CONTINUE;
}
 
Сообщения
94
Реакции
14
Помог
5 раз(а)
Javekson, В самом начале раунда работает одну секунду, потом уже не переводит.
В логах опять.
Код:
L 02/19/2017 - 21:24:38: Invalid map handle provided (58)
L 02/19/2017 - 21:24:38: [AMXX] Displaying debug trace (plugin "replace_info_msg2.amxx", version "2.0")
L 02/19/2017 - 21:24:38: [AMXX] Run time error 10: native error (native "TrieGetString")
L 02/19/2017 - 21:24:38: [AMXX] [0] replace_info_msg2.sma::MessageTextMsg (line 74)
 
Сообщения
685
Реакции
581
Предупреждения
8
Помог
9 раз(а)
Andrey,
C++:
if(TrieGetString(g_tReplaceInfoMsg, szMsg, szMsg, charsmax(szMsg)))

>
C++:
if(g_tReplaceInfoMsg && TrieGetString(g_tReplaceInfoMsg, szMsg, szMsg, charsmax(szMsg)))
 
Сообщения
685
Реакции
581
Предупреждения
8
Помог
9 раз(а)
либо создать trie TrieCreate() чуть раньше register_message
 
Сообщения
685
Реакции
581
Предупреждения
8
Помог
9 раз(а)
Javekson,
C++:

public plugin_init() {
register_plugin("Replace Info Message", "2.0", "maeStro aka 9iky6");
register_message(get_user_msgid("SayText"), "MessageSayText");
register_message(get_user_msgid("TextMsg"), "MessageTextMsg");
g_tReplaceInfoMsg = TrieCreate();
}


Логика говорит что сервер может отправить мессагу TextMsg сразу же после активации, а тут мы пытаемся проверить
Код:
if(TrieGetString(g_tReplaceInfoMsg, szMsg, szRplcMsg, charsmax(szRplcMsg)))
еще не созданный трие
 
Последнее редактирование модератором:
Сообщения
94
Реакции
14
Помог
5 раз(а)
Vaqtincha, Всеравно.
Код:
L 02/20/2017 - 05:32:19: Invalid map handle provided (32)
L 02/20/2017 - 05:32:19: [AMXX] Displaying debug trace (plugin "replace_info_msg2.amxx", version "2.0")
L 02/20/2017 - 05:32:19: [AMXX] Run time error 10: native error (native "TrieGetString")
L 02/20/2017 - 05:32:19: [AMXX] [0] replace_info_msg2.sma::MessageTextMsg (line 74)

Код:
/* ===============================================================================
* Replace Info Message 2.0 [18.02.2017]
* Modification by Javekson
* ============================================================================ */

#include <amxmodx>

#pragma semicolon 1

new Trie:g_tReplaceInfoMsg;

public plugin_init() {
register_plugin("Replace Info Message", "2.0", "maeStro aka 9iky6");
register_message(get_user_msgid("SayText"), "MessageSayText");
register_message(get_user_msgid("TextMsg"), "MessageTextMsg");
g_tReplaceInfoMsg = TrieCreate();
}

public plugin_cfg() {
TrieSetString(g_tReplaceInfoMsg, "#Game_Commencing", "Игра началась!");
TrieSetString(g_tReplaceInfoMsg, "#Game_will_restart_in", "Рестарт игры произойдет через %s секунд!");
TrieSetString(g_tReplaceInfoMsg, "#CTs_Win", "");
TrieSetString(g_tReplaceInfoMsg, "#Terrorists_Win", "");
TrieSetString(g_tReplaceInfoMsg, "#Round_Draw", "Раунд закончился вничью!");
TrieSetString(g_tReplaceInfoMsg, "#Target_Bombed", "");
TrieSetString(g_tReplaceInfoMsg, "#Target_Saved", "");
TrieSetString(g_tReplaceInfoMsg, "#Hostages_Not_Rescued", "Не удалось спасти заложников!");
TrieSetString(g_tReplaceInfoMsg, "#All_Hostages_Rescued", "Все заложники спасены!");
TrieSetString(g_tReplaceInfoMsg, "#VIP_Escaped", "VIP-игрок спасен!");
TrieSetString(g_tReplaceInfoMsg, "#VIP_Assassinated", "VIP-игрок убит!");
TrieSetString(g_tReplaceInfoMsg, "#C4_Arming_Cancelled", "Установка отменена. Бомба может быть установлена только в зоне установки бомбы!");
TrieSetString(g_tReplaceInfoMsg, "#C4_Plant_Must_Be_On_Ground", "Для установки бобмы Вы должны находиться на земле!");
TrieSetString(g_tReplaceInfoMsg, "#Defusing_Bomb_With_Defuse_Kit", "Обезвреживание с набором сапёра!");
TrieSetString(g_tReplaceInfoMsg, "#Defusing_Bomb_Without_Defuse_Kit", "Обезвреживание без набора сапёра!");
TrieSetString(g_tReplaceInfoMsg, "#Weapon_Cannot_Be_Dropped", "Нельзя выбросить данное оружие!");
TrieSetString(g_tReplaceInfoMsg, "#C4_Plant_At_Bomb_Spot", "Бомба может быть установлена только в зоне установки бомбы!");
TrieSetString(g_tReplaceInfoMsg, "#Cannot_Carry_Anymore", "Вы не можете взять больше!");
TrieSetString(g_tReplaceInfoMsg, "#Already_Have_Kevlar", "У вас уже имеется бронежилет!");
TrieSetString(g_tReplaceInfoMsg, "#Already_Have_Kevlar_Helmet", "У вас уже имеется бронежилет и шлем!");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_BurstFire", "Переключен в режим пулеметного огня!");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_FullAuto", "Переключен в автоматический режим!");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_SemiAuto", "Переключен в полуавтоматический режим!");
TrieSetString(g_tReplaceInfoMsg, "#Already_Own_Weapon", "У вас уже имеется данное оружие!");
TrieSetString(g_tReplaceInfoMsg, "#Command_Not_Available", "Данное действие недоступно в Вашем местонахождении!");
TrieSetString(g_tReplaceInfoMsg, "#Got_bomb", "Вы подобрали бомбу!");
TrieSetString(g_tReplaceInfoMsg, "#Game_bomb_pickup", "%s подобрал(а) бомбу!");
TrieSetString(g_tReplaceInfoMsg, "#Game_bomb_drop", "%s выбросил(а) бомбу!");
TrieSetString(g_tReplaceInfoMsg, "#Bomb_Planted", "Бомба установлена!");
TrieSetString(g_tReplaceInfoMsg, "#Bomb_Defused", "");
TrieSetString(g_tReplaceInfoMsg, "#Cant_buy", "Прошло %s секунд с начала раунда. Закупка запрещена!");
TrieSetString(g_tReplaceInfoMsg, "#Name_change_at_respawn", "Ваше ник будет изменено после следующего возрождения!");
TrieSetString(g_tReplaceInfoMsg, "#Auto_Team_Balance_Next_Round", "Автоматический баланс команды наступит в следующем раунде!");
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode4", "От первого лица!");
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode3", "Свободное наблюдение!");
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode2", "Режим свободной камеры!");
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode5", "Обзор свободной камеры!");
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode6", "Фиксированный обзор карты!");
TrieSetString(g_tReplaceInfoMsg, "#Name_change_at_respawn", "Ваш ник будет изменен в следующем раунде!");
TrieSetString(g_tReplaceInfoMsg, "#Too_Many_Terrorists", "Слишком много террористов!");
TrieSetString(g_tReplaceInfoMsg, "#Too_Many_CTs", "Слишком много контер-террористов!");
}

public MessageSayText() {
new szMsg[21];
get_msg_arg_string(2, szMsg, charsmax(szMsg));
if(equal(szMsg, "#Cstrike_Name_Change"))
set_msg_arg_string(2, "^1Игрок ^3%s ^1изменил ^4Ник ^1на ^3%s");
return PLUGIN_CONTINUE;
}

public MessageTextMsg() {
new szMsg[34], szRplcMsg[192], szArg3[32];
get_msg_arg_string(2, szMsg, charsmax(szMsg));
if(g_tReplaceInfoMsg && TrieGetString(g_tReplaceInfoMsg, szMsg, szMsg, charsmax(szMsg))) {
if(get_msg_args() > 2) {
get_msg_arg_string(3, szArg3, charsmax(szArg3));
replace(szRplcMsg, charsmax(szRplcMsg), "%s", szArg3);
}
set_msg_arg_string(2, szRplcMsg);
}
return PLUGIN_CONTINUE;
}
 
Сообщения
685
Реакции
581
Предупреждения
8
Помог
9 раз(а)
Andrey, Откуда вы находите различные ошибки :dash1:
 
Последнее редактирование модератором:
Сообщения
2,752
Реакции
3,017
Помог
61 раз(а)
Javekson Нужно создать массив и заполнить Trie до регистрации хуков сообщений.
Код:
/* ===============================================================================
* Replace Info Message 2.0 [18.02.2017]
* Modification by Javekson
* ============================================================================ */

#include <amxmodx>

#pragma semicolon 1

new Trie:g_tReplaceInfoMsg;

public plugin_init() {
register_plugin("Replace Info Message", "2.0", "maeStro aka 9iky6");

g_tReplaceInfoMsg = TrieCreate();
Fill_trie();

register_message(get_user_msgid("SayText"), "MessageSayText");
register_message(get_user_msgid("TextMsg"), "MessageTextMsg");

}

Fill_trie() {
TrieSetString(g_tReplaceInfoMsg, "#Game_Commencing", "Игра началась");
TrieSetString(g_tReplaceInfoMsg, "#Game_will_restart_in", "Рестарт игры произойдет через %s секунд");
TrieSetString(g_tReplaceInfoMsg, "#CTs_Win", "Контр-Террористы победили");
TrieSetString(g_tReplaceInfoMsg, "#Terrorists_Win", "Террористы победили");
TrieSetString(g_tReplaceInfoMsg, "#Round_Draw", "Раунд закончился вничью");
TrieSetString(g_tReplaceInfoMsg, "#Target_Bombed", "Цель уничтожена");
TrieSetString(g_tReplaceInfoMsg, "#Target_Saved", "Цель спасена");
TrieSetString(g_tReplaceInfoMsg, "#Hostages_Not_Rescued", "Не удалось спасти заложников");
TrieSetString(g_tReplaceInfoMsg, "#All_Hostages_Rescued", "Все заложники спасены");
TrieSetString(g_tReplaceInfoMsg, "#VIP_Escaped", "VIP-игрок спасен");
TrieSetString(g_tReplaceInfoMsg, "#VIP_Assassinated", "VIP-игрок убит");
TrieSetString(g_tReplaceInfoMsg, "#C4_Arming_Cancelled", "Установка отменена. Бомба может быть установлена только в зоне установки бомбы");
TrieSetString(g_tReplaceInfoMsg, "#C4_Plant_Must_Be_On_Ground", "Для установки бобмы Вы должны находиться на земле");
TrieSetString(g_tReplaceInfoMsg, "#Defusing_Bomb_With_Defuse_Kit", "Обезвреживание бомбы с набором сапёра");
TrieSetString(g_tReplaceInfoMsg, "#Defusing_Bomb_Without_Defuse_Kit", "Обезвреживание бомбы без набора сапёра");
TrieSetString(g_tReplaceInfoMsg, "#Weapon_Cannot_Be_Dropped", "Нельзя выбросить данное оружие");
TrieSetString(g_tReplaceInfoMsg, "#C4_Plant_At_Bomb_Spot", "Бомба может быть установлена только в зоне установки бомбы");
TrieSetString(g_tReplaceInfoMsg, "#Cannot_Carry_Anymore", "Вы не можете взять больше");
TrieSetString(g_tReplaceInfoMsg, "#Already_Have_Kevlar", "У вас уже имеется бронежилет");
TrieSetString(g_tReplaceInfoMsg, "#Already_Have_Kevlar_Helmet", "У вас уже имеется бронежилет и шлем");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_BurstFire", "Переключен в режим пулеметного огня");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_FullAuto", "Переключен в автоматический режим");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_SemiAuto", "Переключен в полуавтоматический режим");
TrieSetString(g_tReplaceInfoMsg, "#Already_Own_Weapon", "У вас уже имеется данное оружие");
TrieSetString(g_tReplaceInfoMsg, "#Command_Not_Available", "Данное действие недоступно в Вашем местонахождении");
TrieSetString(g_tReplaceInfoMsg, "#Got_bomb", "Вы подобрали бомбу");
TrieSetString(g_tReplaceInfoMsg, "#Game_bomb_pickup", "%s подобрал бомбу");
TrieSetString(g_tReplaceInfoMsg, "#Game_bomb_drop", "%s выбросил бомбу");
TrieSetString(g_tReplaceInfoMsg, "#Bomb_Planted", "Бомба установлена");
TrieSetString(g_tReplaceInfoMsg, "#Bomb_Defused", "Бомба обезврежена");
TrieSetString(g_tReplaceInfoMsg, "#Cant_buy", "%s секунд уже истекли. Покупка арсенала запрещена");
TrieSetString(g_tReplaceInfoMsg, "#Name_change_at_respawn", "Ваше имя будет изменено после следующего возрождения");
TrieSetString(g_tReplaceInfoMsg, "#Auto_Team_Balance_Next_Round", "Автоматический баланс команды наступит в следующем раунде");
}

public MessageSayText() {
new szMsg[21];
get_msg_arg_string(2, szMsg, charsmax(szMsg));
if(equal(szMsg, "#Cstrike_Name_Change"))
set_msg_arg_string(2, "^1Игрок ^3%s ^1изменил имя на ^3%s");
return PLUGIN_CONTINUE;
}

public MessageTextMsg() {
new szMsg[192], szArg3[32];
get_msg_arg_string(2, szMsg, charsmax(szMsg));
if(TrieGetString(g_tReplaceInfoMsg, szMsg, szMsg, charsmax(szMsg))) {
if(get_msg_args() > 2) {
get_msg_arg_string(3, szArg3, charsmax(szArg3));
replace(szMsg, charsmax(szMsg), "%s", szArg3);
}
set_msg_arg_string(2, szMsg);
}
return PLUGIN_CONTINUE;
}
 
Последнее редактирование:
Сообщения
96
Реакции
120
Помог
1 раз(а)
"#Terrorists_Win", "Террористы победили");
а если я сделаю вот так "#Terrorists_Win", "");
выходит тест не будет выводится?
 
Сообщения
96
Реакции
120
Помог
1 раз(а)
Javekson, может можно сюда еще впихнуть перевод (RADIO) для сервера?
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу