Анонс убийства ножом в чате и в центре экрана

BadBoy

Основатель взвода [BRAT] BROTHERS RUSSIAN TEAM
Customer
1 Окт 2016
124
2
32
Москва
brat-squad.ru
Ребял,подскажите как настроить,чтоб выводилось сообщение на экран,когда кого то режут на русском языке?
 

FreeLancer

Старший сержант
12 Сен 2014
65
24
Воронеж.
На самом деле есть множество способов как это сделать, скриптами или готовыми плагинами,
1) С помощью плагина Server Kills
вкладка Specific Kill Announcements указать Melee (холодное оружие)
вкладка Announcement Display Type - yell в центр экрана, say - в чат
во вкладке Announcement List пропиши следующее
Код:
Melee|%kpn% ЗАРЕЗАЛ %vpn%


2) с помощью плагина ProConRULZ
добавь этот скрипт
Код:
On Kill;Weapon Melee;Say %p% ЗАРЕЗАЛ %v%!
(Как добавлять скрипты в ProConRULZ показано тут Proconrulz )

3) с помощью плагина Insane Limits (этот по круче, можно для определенных игроков, задать разные сообщения, для випов например, если зарезал ты, будет написано к примеру "BadBoy распотрошил Freelancer", а если не указанный в списке игрок то просто "BadBoy ЗАРЕЗАЛ Freelancer)
создай лимит и добавь эти скрипты
Код:
(Regex.Match(kill.Weapon, "(Melee|Knife)").Success)
Код:
Dictionary<String, String> pkmData = new Dictionary<String, String>();
// Пример для определенных игроков.: pkmData.Add("ВАШНИК", "%k_fn%: ВЫПУСТИЛ ПОТРОХА %v_n%");
pkmData.Add("-XL-Timm", "%k_fn%: из России с любовью %v_n% Спасибо за Жетон =)");
pkmData.Add("IamDontNoob", "%k_fn%: из России с любовью %v_n% Спасибо за Жетон =)");

// ---------------------------------------------------------------------------------------------------------------------------- //
String[] pkmMsgs = { "", "", "" };
String pkmOut = "";
// ---------------------------------------------------------------------------------------------------------------------------- //



// Check if the killer has a personalized knife messages
if (pkmData.TryGetValue(killer.Name.Trim(), out pkmOut))
{
    // Killer has a personalized kill message
    pkmMsgs[1] = plugin.R(pkmOut);
    for (int i = 0; i < pkmMsgs.Length; i++)
    {
        plugin.SendGlobalMessage(pkmMsgs[i]);
    }
}
else
{
    // СТАНДАРТНОЕ СООБЩЕНИЕ для всех игроков
    pkmMsgs[0] = plugin.R("%k_fn%: ЗАРЕЗАЛ %v_n%!");
    plugin.SendGlobalMessage(pkmMsgs[0]);
}

return false;
(Как добавлять лимиты в Insane Limits показано тут Insane limits )
 
Последнее редактирование:
  • Like
Реакции: BadBoy, Slawter и ZAW71

FreeLancer

Старший сержант
12 Сен 2014
65
24
Воронеж.
Да, таким образом, можно анонсировать убийство с любого оружия, просто подменив в выше указанных скриптах код оружия.
 
  • Like
Реакции: BadBoy и ZAW71

RusWolf_ru

Лидер клана [RW]Rus-Wolf
Customer
29 Дек 2016
93
0
122
rus-wolf.tilda.ws
А куда ники игроков добавить в Insane Limits чтоб для определенных игроков писал подругому
 

Slawter

Support team
5 Сен 2014
22.520
879
Выделил красным :)
Dictionary<String, String> pkmData = new Dictionary<String, String>();
// Пример для определенных игроков.: pkmData.Add("ВАШНИК", "%k_fn%: ВЫПУСТИЛ ПОТРОХА %v_n%");
pkmData.Add("-XL-Timm", "%k_fn%: из России с любовью %v_n% Спасибо за Жетон =)");
pkmData.Add("IamDontNoob", "%k_fn%: из России с любовью %v_n% Спасибо за Жетон =)");

// ---------------------------------------------------------------------------------------------------------------------------- //
String[] pkmMsgs = { "", "", "" };
String pkmOut = "";
// ---------------------------------------------------------------------------------------------------------------------------- //



// Check if the killer has a personalized knife messages
if (pkmData.TryGetValue(killer.Name.Trim(), out pkmOut))
{
// Killer has a personalized kill message
pkmMsgs[1] = plugin.R(pkmOut);
for (int i = 0; i < pkmMsgs.Length; i++)
{
plugin.SendGlobalMessage(pkmMsgs);
}
}
else
{
// СТАНДАРТНОЕ СООБЩЕНИЕ для всех игроков
pkmMsgs[0] = plugin.R("%k_fn%: ЗАРЕЗАЛ %v_n%!");
plugin.SendGlobalMessage(pkmMsgs[0]);
}

return false;
 

RusWolf_ru

Лидер клана [RW]Rus-Wolf
Customer
29 Дек 2016
93
0
122
rus-wolf.tilda.ws
Пордон за новый вопрос)Как сделать чтобы убийство с ножа в Insane Limits писало в центре экрана
 

Slawter

Support team
5 Сен 2014
22.520
879
Используй этот код:
Код:
Dictionary<String, String> pkmData = new Dictionary<String, String>();
// Пример для определенных игроков.: pkmData.Add("ВАШНИК", "%k_fn%: ВЫПУСТИЛ ПОТРОХА %v_n%");
pkmData.Add("-XL-Timm", "%k_fn%: из России с любовью %v_n% Спасибо за Жетон =)");
pkmData.Add("IamDontNoob", "%k_fn%: из России с любовью %v_n% Спасибо за Жетон =)");

// ---------------------------------------------------------------------------------------------------------------------------- //
String[] pkmMsgs = { "", "" };
String pkmOut = "";
// ---------------------------------------------------------------------------------------------------------------------------- //



// Check if the killer has a personalized knife messages
if (pkmData.TryGetValue(killer.Name.Trim(), out pkmOut))
{
   // Killer has a personalized kill message
    pkmMsgs[1] = plugin.R(pkmOut);
    for (int i = 0; i < pkmMsgs.Length; i++)
    {
        plugin.SendGlobalYell(pkmMsgs[i], 10);
    }
}
else
{
    // СТАНДАРТНОЕ СООБЩЕНИЕ для всех игроков
    pkmMsgs[0] = plugin.R("%k_fn%: ЗАРЕЗАЛ %v_n%!");
    plugin.SendGlobalYell(pkmMsgs[0], 10);
}

return false;
 
Последнее редактирование:

Slawter

Support team
5 Сен 2014
22.520
879
Ах да, забыл добавить :) исправил предыдущий пост
10 - это время в секундах, сколько сообщение будет висеть в центре экрана
 

RusWolf_ru

Лидер клана [RW]Rus-Wolf
Customer
29 Дек 2016
93
0
122
rus-wolf.tilda.ws
Извини.Но что то опять не так)Когда просто игрок режет то нормально все.А если из списка с никам то пишет просто "администратор"
 

Slawter

Support team
5 Сен 2014
22.520
879
Исправил пост ещё раз.
Проверил сам, теперь всё работает в центре экрана :)
 
Последнее редактирование:

mr_Grey

CRABSERVER
Customer
9 Дек 2017
260
0
Здравствуйте! При использовании кода:
Код:
Dictionary<String, String> pkmData = new Dictionary<String, String>();
// Пример для определенных игроков.: pkmData.Add("ВАШНИК", "%k_fn%: ВЫПУСТИЛ ПОТРОХА %v_n%");
pkmData.Add("NAME1", "%k_fn% ТЕРМИНИРОВАЛ %v_n%!");
pkmData.Add("NAME2", "%k_fn% АННИГИЛИРОВАЛ %v_n%!");

// ---------------------------------------------------------------------------------------------------------------------------- //
String[] pkmMsgs = { "", "" };
String pkmOut = "";
// ---------------------------------------------------------------------------------------------------------------------------- //



// Check if the killer has a personalized knife messages
if (pkmData.TryGetValue(killer.Name.Trim(), out pkmOut))
{
    // Killer has a personalized kill message
    pkmMsgs[1] = plugin.R(pkmOut);
    for (int i = 0; i < pkmMsgs.Length; i++)
    {
        plugin.SendGlobalMessage(pkmMsgs[i]);
    }
}
else
{
    // СТАНДАРТНОЕ СООБЩЕНИЕ для всех игроков
    pkmMsgs[0] = plugin.R("%k_fn%: УБИЛ %v_n%!");
    plugin.SendGlobalMessage(pkmMsgs[0]);
}

return false;
при выведении ника ВИП-игрока, прописанного для персонального сообщения об убийстве выводится одна дополнительная пустая строка перед самим сообщением. Это связано со строкой String[] pkmMsgs = { "", "" };. Если строка имеет вид String[] pkmMsgs = { "", "", "" };, то сообщение в чате выводится в формате ПУСТАЯ СТРОКА - СООБЩЕНИЕ ОБ УБИЙСТВЕ - ПУСТАЯ СТРОКА. Помогите пожалуйста понять, как сделать так, чтобы персонализированное сообщение выводилось без пустых строк.