Insane limits

Slawter

Support team
5 Сен 2014
22.381
874
Возможно ли с insane limits ограничить спаунинг снайперов только с SOFLAM и PLD в эквипминте? По идее это можно было бы сделать с proconrulz, если бы он был допилен. Спасибо.
Зачем изобретать колесо? Ведь есть готовый и работающий плагин AdkAts Loadout Enforcer
 

BlitzKrieg

Старший сержант
22 Янв 2018
84
4
29
Спасибо, изучу вопрос :) Я про его существование даже не знал, почитал программиннг гайд на проконрулз, а там все просто и гладко. Было, пока не попробовал и не почитал на форуме ограничения.
btw не знаете, почему в proconrulz On spawn переменные %w%, %spec% пустые? Бегло посмотрел код плагина и прокона, вроде бы все написано. Просто не очень х хочется добавлять ещё один плагин если можно обойтись тем, что есть. Это, пожалуй, единственное ограничение ,которое хочется сделать. До кучи прокон уж больно долго стартует, не знаю с чем связано, но интуитивно добавление плагина время старта не уменьшит :-(
 

III_Torpeda_III

Младший сержант
11 Окт 2018
21
0
36
можно ли ограничить этим плагином использование STAFF снаряда на танке
 

Slawter

Support team
5 Сен 2014
22.381
874
Создайте новую тему с названием этого плагина и там я подскажу вечером
 

AK_B_PyKAX

Customer
11 Июн 2018
226
0
45
Ребят помогите написать скрипт для запрета оружия, сам пытался но не получилось )
1. тотальный запрет M320, GP30, C4, M224 mortar. 1 предупреждение и кик.
2. 2 снайпера на команду, с любыми стволами, нарушителей в расход) без кика.
3. ограничение ручных гранат до 6 убийств за раунд.
заранее благодарен.
 

Slawter

Support team
5 Сен 2014
22.381
874
1. тотальный запрет M320, GP30, C4, M224 mortar. 1 предупреждение и кик.

Используйте следующий лимит для плагина Insane Limits

1) Создайте новый лимит
2) Затем включите его, в графе limit_hide указав Show
3) Дайте любое название созданному лимиту в графе limit_name
4) В графе limit_evaluation укажите OnKill
5) В графе limit_first_check укажите Expression
7) В созданном поле limit_firstcheck_expression добавьте следующий код:
Код:
Regex.Match(kill.Weapon, @"(M320|C4|M224)", RegexOptions.IgnoreCase).Success
(коды оружия если что берутся из файла BF3.def, который находится по \ProCon\Configs я не нашел там GP30, возможно его нельзя запретить)

8) В графе limit_second_check установите тригер на Code
и введите этот код в созданное поле limit_second_check_code:
Код:
String kCounter = killer.Name + "_TreatAsOne_Count";
TimeSpan time = TimeSpan.FromSeconds(5); // Activations within 5 seconds count as 1

int warnings = 0;
if (server.RoundData.issetInt(kCounter)) warnings = server.RoundData.getInt(kCounter);


String msg = "none";
if (warnings == 0) {
        msg = plugin.R("[ПРЕДУПРЕЖДЕНИЕ] %k_n% это оружие запрещено! Not use not allowed weapon"); // First warning message
        plugin.SendGlobalMessage(msg);
        plugin.SendPlayerYell(killer.Name, "ПРЕДУПРЕЖДЕНИЕ: Не используйте это оружие! Следующий раз Вы будете исключены с сервера! \nWARNING: Do not use explosive ! Next time you will kicked!", 15);
        plugin.PRoConChat("ADMIN > " + msg);
        plugin.PRoConEvent(msg, "Insane Limits");
        plugin.KillPlayer(killer.Name, 2);
        server.RoundData.setInt(kCounter, warnings+1);
        return false;
}

if (limit.Activations(killer.Name, time) > 1) return false;

if (warnings >= 1) {
        msg = plugin.R("[AUTO-ADMIN] %k_n% исключён с сервера. Причина: взрывчатку");
        plugin.SendGlobalMessage(msg);
        plugin.PRoConChat("ADMIN > " + msg);
        plugin.PRoConEvent(msg, "Insane Limits");
        plugin.KickPlayerWithMessage(killer.Name, msg);
}
server.RoundData.setInt(kCounter, warnings+1);
return false;


2. 2 снайпера на команду, с любыми стволами, нарушителей в расход) без кика.
Вот готовый вариант Лимит снайперов BF3 (исключение режима Мусорщик)
 

KADDAFI_MUAMMAR

Полковник
Customer
28 Дек 2016
1.218
2
Russia primorskiy kray
clan-fear.ru
))) так настроили правила изначально
Используйте этот Expression вместо того, что выше, и лимит на гранаты будет действовать только на карте Метро BF4
Код:
(Regex.Match(server.MapFileName, @"(?:XP0_Metro)", RegexOptions.IgnoreCase).Success &&
Regex.Match(kill.Weapon, @"(U_M67|M67|U_Grenade_RGO|U_V40)", RegexOptions.IgnoreCase).Success &&
Regex.Match(server.Gamemode, @"(Conquest)").Success)

Если нужно и на других режимах, то введите через разделитель "|" режими Rush например
Привет, вроде все правильно прописал (мне нужен запрет гранат на карте метро БФ 3) не получается (
 

Slawter

Support team
5 Сен 2014
22.381
874
Привет, вроде все правильно прописал (мне нужен запрет гранат на карте метро БФ 3) не получается (
Вы процитировали код для BF4 карты метро, код у карты Метро БФ3 на сколько я знаю другой, смотрите внимательнее.
 

Slawter

Support team
5 Сен 2014
22.381
874
KADDAFI_MUAMMAR, И вообще там и коды оружия для BF4, поэтому неудивительно что не работает на БФ3.

Коды оружия берутся из файла BF3.def или BF4.def в папке Configs прокона на Вашем компьютере, код карты можете взять из прокона, там где редактируете список карт.
 

LexXxPRO

Младший сержант
17 Фев 2019
11
1
24
Здравствуйте. Помогите, пожалуйста, написать код Insane limits. Нужно: Запретить дробовики, C-4, RPG и M320 на TDM картах.
 

Slawter

Support team
5 Сен 2014
22.381
874
Здравствуйте. Помогите, пожалуйста, написать код Insane limits. Нужно: Запретить дробовики, C-4, RPG и M320 на TDM картах.
1) Создайте новый лимит
2) Затем включите его, в графе limit_hide указав Show
3) Дайте любое название созданному лимиту в графе limit_name
4) В графе limit_evaluation укажите OnKill
5) В графе limit_first_check укажите Expression
7) В созданном поле limit_firstcheck_expression добавьте следующий код:
Код:
(Regex.Match(server.Gamemode, @"(?:TeamDeathMatch0)", RegexOptions.IgnoreCase).Success && Regex.Match(kill.Weapon, @"(M320|C4|M224|RPG-7|Siaga20k|SPAS-12|USAS-12|M26Mass|M1014|jackhammer|DAO-12|870MCS|)", RegexOptions.IgnoreCase).Success)
(коды оружия если что берутся из файла BF3.def, который находится по \ProCon\Configs я не нашел там GP30, возможно его нельзя запретить)

8) В графе limit_second_check установите тригер на Code
и введите этот код в созданное поле limit_second_check_code:
Код:
String kCounter = killer.Name + "_TreatAsOne_Count";
TimeSpan time = TimeSpan.FromSeconds(5); // Activations within 5 seconds count as 1

int warnings = 0;
if (server.RoundData.issetInt(kCounter)) warnings = server.RoundData.getInt(kCounter);


String msg = "none";
if (warnings == 0) {
        msg = plugin.R("[ПРЕДУПРЕЖДЕНИЕ] %k_n% это оружие запрещено! Not use not allowed weapon"); // First warning message
        plugin.SendGlobalMessage(msg);
        plugin.SendPlayerYell(killer.Name, "ПРЕДУПРЕЖДЕНИЕ: Не используйте это оружие! Следующий раз Вы будете исключены с сервера! \nWARNING: Do not use explosive ! Next time you will kicked!", 15);
        plugin.PRoConChat("ADMIN > " + msg);
        plugin.PRoConEvent(msg, "Insane Limits");
        plugin.KillPlayer(killer.Name, 2);
        server.RoundData.setInt(kCounter, warnings+1);
        return false;
}

if (limit.Activations(killer.Name, time) > 1) return false;

if (warnings >= 1) {
        msg = plugin.R("[AUTO-ADMIN] %k_n% исключён с сервера. Причина: взрывчатку");
        plugin.SendGlobalMessage(msg);
        plugin.PRoConChat("ADMIN > " + msg);
        plugin.PRoConEvent(msg, "Insane Limits");
        plugin.KickPlayerWithMessage(killer.Name, msg);
}
server.RoundData.setInt(kCounter, warnings+1);
return false;
 

LexXxPRO

Младший сержант
17 Фев 2019
11
1
24
1) Создайте новый лимит
2) Затем включите его, в графе limit_hide указав Show
3) Дайте любое название созданному лимиту в графе limit_name
4) В графе limit_evaluation укажите OnKill
5) В графе limit_first_check укажите Expression
7) В созданном поле limit_firstcheck_expression добавьте следующий код:
Код:
(Regex.Match(server.Gamemode, @"(?:TeamDeathMatch0)", RegexOptions.IgnoreCase).Success &&
Regex.Match(kill.Weapon, @"(M320|C4|M224|RPG-7|Siaga20k|SPAS-12|USAS-12|M26Mass|M1014|jackhammer|DAO-12|870MCS|)", RegexOptions.IgnoreCase).Success
(коды оружия если что берутся из файла BF3.def, который находится по \ProCon\Configs я не нашел там GP30, возможно его нельзя запретить)

8) В графе limit_second_check установите тригер на Code
и введите этот код в созданное поле limit_second_check_code:
Код:
String kCounter = killer.Name + "_TreatAsOne_Count";
TimeSpan time = TimeSpan.FromSeconds(5); // Activations within 5 seconds count as 1

int warnings = 0;
if (server.RoundData.issetInt(kCounter)) warnings = server.RoundData.getInt(kCounter);


String msg = "none";
if (warnings == 0) {
        msg = plugin.R("[ПРЕДУПРЕЖДЕНИЕ] %k_n% это оружие запрещено! Not use not allowed weapon"); // First warning message
        plugin.SendGlobalMessage(msg);
        plugin.SendPlayerYell(killer.Name, "ПРЕДУПРЕЖДЕНИЕ: Не используйте это оружие! Следующий раз Вы будете исключены с сервера! \nWARNING: Do not use explosive ! Next time you will kicked!", 15);
        plugin.PRoConChat("ADMIN > " + msg);
        plugin.PRoConEvent(msg, "Insane Limits");
        plugin.KillPlayer(killer.Name, 2);
        server.RoundData.setInt(kCounter, warnings+1);
        return false;
}

if (limit.Activations(killer.Name, time) > 1) return false;

if (warnings >= 1) {
        msg = plugin.R("[AUTO-ADMIN] %k_n% исключён с сервера. Причина: взрывчатку");
        plugin.SendGlobalMessage(msg);
        plugin.PRoConChat("ADMIN > " + msg);
        plugin.PRoConEvent(msg, "Insane Limits");
        plugin.KickPlayerWithMessage(killer.Name, msg);
}
server.RoundData.setInt(kCounter, warnings+1);
return false;

Вот такая проблема возникала. Как можно исправить это? Или просто я, что-то не так делаю?
 

Вложения