• Добро пожаловать Гость. Чтобы Вы могли воспользоваться системой заявок, на аренду сервера, на бан игроков, на разбан, Вы должны зарегистрироваться. Пройти регистрацию Форма для связи Обратная связь

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

Timm

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

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



# 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, как показано на скриншоте ниже:





Скрипт для 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;
 
Последнее редактирование:

BadBoy

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

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

Вложения

Timm

XLGAMES.RU
5 Сен 2014
17.068
1.941
2.649
Battlelog
[BL]
ВКонтакте
[ВК]
Facebook
[FB]
#3
BadBoy, в ProConRULZ нет.
В шапку добавил вариант TK Punish для Insane Limits, который соответствует твоему запросу.
 

BadBoy

Основатель взвода [BRAT] BROTHERS RUSSIAN TEAM
Арендатор
1 Окт 2016
124
4
689
27
Москва
brat-squad.ru
Battlelog
[BL]
ВКонтакте
[ВК]
#4

BadBoy

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

Вложения

Timm

XLGAMES.RU
5 Сен 2014
17.068
1.941
2.649
Battlelog
[BL]
ВКонтакте
[ВК]
Facebook
[FB]
#6
BadBoy, всмысле не завершается?
 

BadBoy

Основатель взвода [BRAT] BROTHERS RUSSIAN TEAM
Арендатор
1 Окт 2016
124
4
689
27
Москва
brat-squad.ru
Battlelog
[BL]
ВКонтакте
[ВК]
#7
27 Апр 2016
32
0
299
27
Moscow
#8
Ошибаешься. Можно реализовать. ProconRulz логирует киллера, жертву. Можно вывести сообщение для жертвы, для убийцы и для всех остальных.
 

Timm

XLGAMES.RU
5 Сен 2014
17.068
1.941
2.649
Battlelog
[BL]
ВКонтакте
[ВК]
Facebook
[FB]
#9
Ошибаешься. Можно реализовать. ProconRulz логирует киллера, жертву. Можно вывести сообщение для жертвы, для убийцы и для всех остальных.
но по умолчанию ведь нет, верно? :)
я видел твою тему с VictimYell на форуме myrcon, но я не стал заморачиваться с переделкой ProconRULZ, так как по душе IL, и там это уже есть
 
27 Апр 2016
32
0
299
27
Moscow
#10
но по умолчанию ведь нет, верно? :)
я видел твою тему с VictimYell на форуме myrcon, но я не стал заморачиваться с переделкой ProconRULZ, так как по душе IL, и там это уже есть
Я еще и victim ea_guid добавил, чтобы сохранять некоторые правила в ini. Ник %v% не удобен т.к игрок может сменить ник, а EA guid никак не сменит)
 

Timm

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

Сделай свой вклад в сообщество батлфилд, поделись публично :eek:
 
27 Апр 2016
32
0
299
27
Moscow
#12
Hodor,

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

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

Softail

Старшина
Арендатор
9 Янв 2019
190
8
179
50
Battlelog
[BL]
#13
Добрый день.
Можно сделать так, чтоб Ваш скрипт для INSANE LIMITS действовал только для убитых из БелогоЛиста, а все обычные бойцы не имели возможности этим пользоваться?
 

Timm

XLGAMES.RU
5 Сен 2014
17.068
1.941
2.649
Battlelog
[BL]
ВКонтакте
[ВК]
Facebook
[FB]
#14
Думаю можно, но для этого требуется больше времени чем просто взять и что-то где-то добавить, на досуге я постараюсь посмотреть на него.
 

Softail

Старшина
Арендатор
9 Янв 2019
190
8
179
50
Battlelog
[BL]
#15
Добрый день. Что-нибудь придумали по моему вопросу?