• Этот раздел переехал на новый ДОМЕН, чтобы комментировать перейдите по ссылке, для входа можете использовать текущий логин и пароль.

Наказание за убийство своих bf4 | bf3 (teamkill punish)

Статус
В этой теме нельзя размещать новые ответы.

Timm

XLGAMES.PRO
VIP
5 Сен 2014
21.230
2.940
3.549
Battlelog
[BL]
ВКонтакте
[ВК]
Facebook
[FB]
Скрипт для плагина ProConRULZ
Который позволит наказывать игрока, за убийство своих.
После смерти от своего, игрок может простить или наказать следующими командами:
!p или !punish - чтобы наказать
!f или !forgive - чтобы простить

Информационное сообщение в чате на Русском:

29422504513_779576043e_o.jpg


# Team Kill Notification Rules
On TeamKill;PlayerSay %p%: СМОТРИ КУДА СТРЕЛЯЕШЬ! Предупреждение %c% из 5
On TeamKill;Say %v%: введите в чат !f (!Forgive) чтобы простить или !p (!Punish) чтобы наказать
# Tracking Notification
On TeamKill;If %server_lastteamkill[%v%]% == %p%;Say %p%: снова убил своего %v%.
On TeamKill;If %server_lastteamkill[%p%]% == %v%;Say %p%: убил своего %v% два раза подряд
# Team Kill Tracking Rules
On TeamKill;Set %server_lastteamkill[%p%]% %v%
On TeamKill;Set %server_lastteamkiller[%v%]% %p%
# Automatic Forget
On Kill;Set %server_lastteamkiller[%v%]% 0;Set %server_lastteamkill[%p%]% 0;Set %server_lastteamkiller[%p%]% 0
# Team Kill Punish Rule
On Say;Text !p;If %server_lastteamkiller[%p%]% == 0;PlayerSay %p%: не найдено последнее убийство от своего, чтобы наказать!
On Say;Text !p;If %server_lastteamkiller[%p%]% != 0;TargetPlayer %server_lastteamkiller[%p%]%;Say %server_lastteamkiller[%p%]% убит за УБИЙСТВО СВОИХ!;TargetAction Kill;TargetConfirm;Set %server_lastteamkiller[%p%]% 0; Kill 100
On Say;Text !punish;If %server_lastteamkiller[%p%]% == 0;PlayerSay %p%: не найдено последнее убийство от своего, чтобы наказать!
On Say;Text !punish;If %server_lastteamkiller[%p%]% != 0;TargetPlayer %server_lastteamkiller[%p%]%;Say %server_lastteamkiller[%p%]% убит за УБИЙСТВО СВОИХ!;TargetAction Kill;TargetConfirm;Set %server_lastteamkiller[%p%]% 0; Kill 100
On Say;Text !k;If %server_lastteamkiller[%p%]% == 0;PlayerSay %p%: could not find a recent team kill to punish.
On Say;Text !k;If %server_lastteamkiller[%p%]% != 0;TargetPlayer %server_lastteamkiller[%p%]%;Say %server_lastteamkiller[%p%]% killed for team killing.;TargetAction Kill;TargetConfirm;Set %server_lastteamkiller[%p%]% 0; Kill 100
On Say;Text !f;If %server_lastteamkiller[%p%]% == 0;PlayerSay %p%: не найдено последнее убийство от своего, чтобы простить!
On Say;Text !f;If %server_lastteamkiller[%p%]% != 0;Set %server_lastteamkill[%server_lastteamkiller[%p%]%]% 0;Say %server_lastteamkiller[%p%]% прощён за убийство своего %p%.;Set %server_lastteamkiller[%p%]% 0
On Say;Text !forgive;If %server_lastteamkiller[%p%]% == 0;PlayerSay %p%: не найдено последнее убийство от своего, чтобы простить!
On Say;Text !forgive;If %server_lastteamkiller[%p%]% != 0;Set %server_lastteamkill[%server_lastteamkiller[%p%]%]% 0;Say %server_lastteamkiller[%p%]% прощён за убийство своего %p%.;Set %server_lastteamkiller[%p%]% 0

Скопируйте и вставьте код, в поле Rules плагина ProConRULZ, как показано на скриншоте ниже:

30049489545_c942b90960_o.jpg




Скрипт для INSANE LIMITS

1) создать новый лимит
2) установить evaluation на OnTeamKill
3) first chek установить Code и добавить этот скрипт
Код:
List<String> ReservervedSlots = plugin.GetReservedSlotsList();
if (!ReservervedSlots.Contains(killer.Name))
{
String key = "Last_TK";
victim.RoundData.setString(key, killer.Name);
victim.RoundData.setObject(key, (Object)DateTime.Now);
String weapon = plugin.FriendlyWeaponName(kill.Weapon).Name;
plugin.ConsoleWrite("TK log: ^7^b" + victim.Name + "^n was TK by ^b" + killer.Name + " with " + weapon);
plugin.PRoConChat("TK log > " + victim.Name + " was TK by " + killer.Name + " with " + weapon);
plugin.SendPlayerMessage(killer.Name, "Убийство своего " + victim.Name + " СМОТРИ КУДА СТРЕЛЯЕШЬ!"); // CHANGE
plugin.SendPlayerYell(killer.Name, "УБИЙСТВО СВОЕГО " + victim.Name + " СМОТРИ КУДА СТРЕЛЯЕШЬ!", 10);
plugin.SendPlayerMessage(victim.Name, "Вы убиты своим " + killer.Name + ", введите !punish !p чтобы наказать!."); // CHANGE
return false;
}

Создать ещё 1 лимит
1) установить evaluation на OnAnyChat
2) first chek установить Code и добавить этот скрипт
Код:
double timeToPunishSeconds = 60; // victim has 60 seconds to punish team killer
String key = "Last_TK";

if ((Regex.Match(player.LastChat, @"^\s*[!@#]punish", RegexOptions.IgnoreCase).Success) || (Regex.Match(player.LastChat, @"^\s*[!@#]p", RegexOptions.IgnoreCase).Success) ) {
    if (!player.RoundData.issetObject(key) || !player.RoundData.issetString(key)) {
        plugin.SendPlayerMessage(player.Name, "Нет убийства от своего! Смерть на дороге и VIP игроки не будут наказаны!");
        return false;
    }
    DateTime last = (DateTime)player.RoundData.getObject(key);
    String tker = player.RoundData.getString(key);
    if (DateTime.Now.Subtract(last).TotalSeconds > timeToPunishSeconds) {
        plugin.SendPlayerMessage(player.Name, "Прошло больше " + timeToPunishSeconds + " секунд. Уже нельзя наказать за TK!");
        player.RoundData.unsetString(key);
        player.RoundData.unsetObject(key);
        return false;
    }
    // Punishment
    plugin.SendPlayerMessage(player.Name, tker + " будет наказан через 5 секунд!!");
    plugin.ConsoleWrite("TK log: victim ^7^b" + player.Name + "^n punished ^b" + tker + " for team killing!");
    String msg = player.FullName + " наказал Вас за убийство своих!"; // CHANGE
    plugin.SendPlayerMessage(tker, msg);
    plugin.SendPlayerYell(tker, "ВЫ БУДЕТЕ НАКАЗАНЫ ЗА УБИЙСТВО СВОЕГО " + player.FullName, 10); // CHANGE
    plugin.PRoConChat("ADMIN to " + tker + " > " + msg);
    plugin.KillPlayer(tker, 5);

    player.RoundData.unsetString(key);
    player.RoundData.unsetObject(key);
}
return false;
 
Последнее редактирование:
  • Like
Реакции: BadBoy

BadBoy

Основатель взвода [BRAT] BROTHERS RUSSIAN TEAM
Арендатор
1 Окт 2016
124
4
689
32
Москва
brat-squad.ru
Battlelog
[BL]
ВКонтакте
[ВК]
А можно ли сделать так,что сообщение о наказании и предупреждении выводились на всем?
Например сообщения,подчеркнутые красным цветом пишутся для пострадавшего(убитого) игрока
А желтый для тимкиллера (убившего)
Зеленый пишется всем.

Потому что крайне много этих сообщений в чате,как спам просто и не успеваешь бывает прочитать,что пишут в чат люди или какую либо другую инфу...можно решить эту проблему хоть как то?
 

Вложения

  • Безымянный.png
    Безымянный.png
    104 KB · Просмотры: 839

Timm

XLGAMES.PRO
VIP
5 Сен 2014
21.230
2.940
3.549
Battlelog
[BL]
ВКонтакте
[ВК]
Facebook
[FB]
BadBoy, в ProConRULZ нет.
В шапку добавил вариант TK Punish для Insane Limits, который соответствует твоему запросу.
 
  • Like
Реакции: BadBoy

BadBoy

Основатель взвода [BRAT] BROTHERS RUSSIAN TEAM
Арендатор
1 Окт 2016
124
4
689
32
Москва
brat-squad.ru
Battlelog
[BL]
ВКонтакте
[ВК]
BadBoy, в ProConRULZ нет.
В шапку добавил вариант TK Punish для Insane Limits, который соответствует твоему запросу.
Посмотрите пожалуйста что не так? первый лимит не завершается,второй готов
 

Вложения

  • Безымянный.png
    Безымянный.png
    40,2 KB · Просмотры: 869

Timm

XLGAMES.PRO
VIP
5 Сен 2014
21.230
2.940
3.549
Battlelog
[BL]
ВКонтакте
[ВК]
Facebook
[FB]
Ошибаешься. Можно реализовать. ProconRulz логирует киллера, жертву. Можно вывести сообщение для жертвы, для убийцы и для всех остальных.
но по умолчанию ведь нет, верно? :)
я видел твою тему с VictimYell на форуме myrcon, но я не стал заморачиваться с переделкой ProconRULZ, так как по душе IL, и там это уже есть
 

DeletedUser

Bots Service
27 Апр 2016
32
6
299
32
Moscow
но по умолчанию ведь нет, верно? :)
я видел твою тему с VictimYell на форуме myrcon, но я не стал заморачиваться с переделкой ProconRULZ, так как по душе IL, и там это уже есть
Я еще и victim ea_guid добавил, чтобы сохранять некоторые правила в ini. Ник %v% не удобен т.к игрок может сменить ник, а EA guid никак не сменит)
 

Timm

XLGAMES.PRO
VIP
5 Сен 2014
21.230
2.940
3.549
Battlelog
[BL]
ВКонтакте
[ВК]
Facebook
[FB]
Hodor,
Я еще и victim ea_guid добавил, чтобы сохранять некоторые правила в ini. Ник %v% не удобен т.к игрок может сменить ник, а EA guid никак не сменит)
а ты представь разработчик проконрулз написал был "а у меня есть проконрулз и прекрасные автоматические правила на сервере", но не выложил бы его в сеть.

Сделай свой вклад в сообщество батлфилд, поделись публично :eek:
 

DeletedUser

Bots Service
27 Апр 2016
32
6
299
32
Moscow
Hodor,

а ты представь разработчик проконрулз написал был "а у меня есть проконрулз и прекрасные автоматические правила на сервере", но не выложил бы его в сеть.

Сделай свой вклад в сообщество батлфилд, поделись публично :eek:
300 евро :rolleyes:
Будет время - выложу. :oops: Сча форумом занят o_O
 

Softail

Прапорщик
Арендатор
9 Янв 2019
314
9
229
55
Battlelog
[BL]
Добрый день.
Можно сделать так, чтоб Ваш скрипт для INSANE LIMITS действовал только для убитых из БелогоЛиста, а все обычные бойцы не имели возможности этим пользоваться?
 

Timm

XLGAMES.PRO
VIP
5 Сен 2014
21.230
2.940
3.549
Battlelog
[BL]
ВКонтакте
[ВК]
Facebook
[FB]
Думаю можно, но для этого требуется больше времени чем просто взять и что-то где-то добавить, на досуге я постараюсь посмотреть на него.
 
  • Like
Реакции: Softail

Softail

Прапорщик
Арендатор
9 Янв 2019
314
9
229
55
Battlelog
[BL]
Добрый день. Что-нибудь придумали по моему вопросу?
 
Статус
В этой теме нельзя размещать новые ответы.