Перевод Round is Over!

Сообщения
264
Реакции
79
Помог
1 раз(а)
Всем привет! Прощу помощи..:scratch_one-s_head:
Код:
// The round by expired time will be over, if on a map it does not have the scenario of the game.
// 0 - disabled (default behaviour)
// 1 - enabled
// Default value: "0"
mp_roundover 1

Никак не могу перевести строчку, Round is Over! Пробую так, ничего..
Код:
TrieSetString(g_tReplaceInfoMsg, "#Round_Over", "Время вышло Раунд завершён!")

cstrike_english.txt Нашёл вот это.
"Cstrike_Tutor_Round_Over" "This round is over."
Например это у меня переведено!
Код:
TrieSetString(g_tReplaceInfoMsg, "#Round_Draw", "Раунд закончился вничью")
 

Вложения

Сообщения
264
Реакции
79
Помог
1 раз(а)
alabamaster1337, Зачем мне этот плагин? У меня это реализовано в: lite_chat.amxx
Код:
#if defined REPLACE_INFO_MSG
Fill_trie()
#endif
}

#if defined REPLACE_INFO_MSG
public Fill_trie()
{
TrieSetString(g_tReplaceInfoMsg, "#Game_Commencing", "Игра началась")
TrieSetString(g_tReplaceInfoMsg, "#Game_will_restart_in", "")
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_defuser", "Вы подобрали набор сапёра")
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 секунд уже истекли.^rПокупка арсенала запрещена")
TrieSetString(g_tReplaceInfoMsg, "#Name_change_at_respawn", "Ваше имя будет изменено после следующего возрождения")
TrieSetString(g_tReplaceInfoMsg, "#Auto_Team_Balance_Next_Round", "Автоматический баланс команды наступит в следующем раунде")
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode1", "")
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode2", "")
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode3", "")
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode4", "")
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode5", "")
TrieSetString(g_tReplaceInfoMsg, "#Spec_Mode6", "")
}

public MessageSayText()
{
new szMsg[21]
get_msg_arg_string(2, szMsg, charsmax(szMsg))
if (equal(szMsg, "#Cstrike_Name_Change"))
{
new szNewName[32], szOldName[32], szNewMessage[180]
get_msg_arg_string(3, szOldName, charsmax(szOldName))
get_msg_arg_string(4, szNewName, charsmax(szNewName))
formatex(szNewMessage, charsmax(szNewMessage), "^1[^4LC^1] Игрок ^3%s ^1изменил имя на ^3%s", szOldName, szNewName)
set_msg_arg_string(2, szNewMessage)
}
}
 
Сообщения
2,713
Реакции
2,995
Помог
59 раз(а)
REVO, это вопрос по скриптингу? Во флудилке?
 
Сообщения
264
Реакции
79
Помог
1 раз(а)
wopox1337, Прошу прощения!:beee: Если возможно, перенесите тему.
 
Сообщения
264
Реакции
79
Помог
1 раз(а)
81x08, Спасибо за подсказку!
Вот только что с этим делать? Как реализовать? :scratch_one-s_head:
Код:
Message_Init()
{
register_message(MsgId_TextMsg, "MessageHook_TextMsg");
}

public MessageHook_TextMsg()
{
new szArg[16], szMsg[64];
get_msg_arg_string(2, szArg, charsmax(szArg));

static Trie: tTextMsg;

if(tTextMsg == Invalid_Trie)
{
#define MAX_TEXT_MSG 5

enum eTextMsg
{
TEXT_MSG_KEY,
TEXT_MSG_VALUE
};

new const szTextMsg[MAX_TEXT_MSG][eTextMsg][] =
{
{"#CTs_Win", "ZMB__TEXT_MSG_CT_WIN"},
{"#Round_Draw", "ZMB__TEXT_MSG_ROUND_DRAW"},
{"#Target_Saved", "ZMB__TEXT_MSG_ROUND_DRAW"},
{"Round is Over!", "ZMB__TEXT_MSG_ROUND_DRAW"},
{"#Terrorists_Win", "ZMB__TEXT_MSG_TERRORIST_WIN"}
};

tTextMsg = TrieCreate();

for(new iCount = 0; iCount < MAX_TEXT_MSG; iCount++)
{
formatex(szMsg, charsmax(szMsg), "%L", LANG_SERVER, szTextMsg[iCount][TEXT_MSG_VALUE]);

TrieSetString(tTextMsg, szTextMsg[iCount][TEXT_MSG_KEY], szMsg);
}
}

if(TrieGetString(tTextMsg, szArg, szMsg, charsmax(szMsg)))
{
set_msg_arg_string(2, szMsg);
}
}
 
Сообщения
102
Реакции
77
REVO, С помощью get_msg_arg_string получай текущее сообщение, сравнивай его с "Round is Over!" и если совпало, заменяй его на своё сообщение путём вызова set_msg_arg_string(2, "Moe soobshenie");
 
  • Нравится
Реакции: REVO
Сообщения
264
Реакции
79
Помог
1 раз(а)
81x08, Честно для меня это вообще, тёмный лес! Никогда с таким даже не сталкивался.
 
Сообщения
102
Реакции
77
REVO, Ну тогда макрос MAX_TEXT_MSG в 1 и в массиве убрать всё кроме "Round is Over!"
 
Сообщения
264
Реакции
79
Помог
1 раз(а)
У меня получилось! Методом тыка, думаю дай попробую.. :smile3:
Код:
TrieSetString(g_tReplaceInfoMsg, "Round is Over!", "Время вышло Раунд закончен!")
 

Вложения

Сообщения
264
Реакции
79
Помог
1 раз(а)
wopox1337, Правильно я всё понел?
Код:
TrieSetString(g_tReplaceInfoMsg, "#Round_Over", "Время вышло Раунд закончен!")
 
Сообщения
28
Реакции
182
Помог
1 раз(а)
REVO,
Код:
TrieSetString(g_tReplaceInfoMsg, "#Cstrike_Tutor_Round_Over", "Время вышло Раунд закончен!")
 
Сообщения
264
Реакции
79
Помог
1 раз(а)
s1lent, Вроде как это не обязательно.
Код:
Cstrike_Tutor_

Пример.
Код:
TrieSetString(g_tReplaceInfoMsg, "#Round_Draw", "Раунд закончился вничью")

cstrike_english.txt
Код:
"Cstrike_Tutor_Round_Draw"        "This round has ended in a tie."
 
Сообщения
28
Реакции
182
Помог
1 раз(а)
REVO, так не будет работать.
#Round_Draw работает, потому-что существует алиас в cstrike/titles.txt

Код:
Round_Draw
{
#Cstrike_TitlesTXT_Round_Draw
}
 
Сообщения
264
Реакции
79
Помог
1 раз(а)
s1lent, Да действительно, вы правы. Вот только что сам проверил.
Спасибо большое за подсказку и разъяснения. :yes3:
 

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

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