ReAPI AWPoff

paffgame

Пользователь
Регистрация
9 Июн 2017
Сообщения
73
Симпатии
32
Пол
Мужской
#1
Версия для HLDS: HLDS - AWPoff

Автор:
PAffAEJIkA :3 (paffgame)
Версия: 1.3 [28.06.17]

Описание:

Плагин отключает AWP при низком онлайне, стандартно при онлайне меньше 8-ми.
т.е если на сервере онлайн 8 AWP будет доступна, если же онлайн 7 и меньше AWP отключается.
Естественно можно изменить при каком онлайне отключать AWP. Так же имеется AWP Limit.

Особенности:
- Отключение АВП при низком онлайн
- Лимит авп на команду

Требования:
- ReGameDLL
- ReAPI > 0.1.68

Настройки в исходе:
PHP:
//■■■■■■■■■■■■■■■■■■■■■■■ CONFIG START ■■■■■■■■■■■■■■■■■■■■■■■//
// ^4 - зелёный | ^3 - цвет тимы (КТ - синий | Т - красный | SPEC - серый) | ^1 - жёлтый
#define MSG_PREFIX            "^3[^4AWP^3]"
#define MSG_LOWONLINE        "У вас^4 отобрано^3 AWP. Причина:^4 низкий онлайн."
#define MSG_LIMIT            "У вас^4 отобрано^3 AWP. Причина:^4 превышен лимит."

#define ALLPLAYERS
/*
   Закоментируйте, чтобы для проверки на онлайн брались только КТ и ТТ(ботов, хлтв и спектаров считать не будет).
 
   Пример:
   Допустим на сервере 5 ботов и 2 человека 1 хлтв.
   Дефайн закоментирован: Посчитает, что на сервере 2 из Максимально возможных игроков.
   Дефайн раскоментирован: Посчитает, что на сервере 8 игроков из Максимально возможных игроков (5 ботов + 2 человека + 1 хлтв).
 
   Отбирать авп будет ТОЛЬКО У ЛЮДЕЙ в любом случае.
*/

#define FLAG                ADMIN_BAN               //Флаг для иммунитета от лимита

#define RETURN_MONEY                               //Возвращать деньги при отборе авп в конце раунда из-за низкого онлайна? (Закоментируйте, если не хотите, чтобы возвращало деньги)
#if defined RETURN_MONEY
   #define MONEY_AWP       4750                   //Сколько денег возвращать?
#endif

#define PERCENT_PLAYERS
/*
   Разкоменитруйте, если хотите чтобы лимит зависил от процента игроков [I am chetko ob'yasnyat']
 
   Например: Онлайн = 10, Процент в кваре(awp_limit_max) = 20
   10/100*20 = 2 авп на тиму (2 у терров и 2 у кт)
*/
//■■■■■■■■■■■■■■■■■■■■■■■■ CONFIG END ■■■■■■■■■■■■■■■■■■■■■■■■//
Квары:
PHP:
awp_players_low "8"        //Если онлайн ниже указнного в кваре, в конце раунда у всех отберет авп, и запретит ее. (Что бы отключить поставьте 0) [стандартно: при онлайне меньше 8]
awp_limit "1"                //Включить|Выключить лимит авп [Стандартно: включен]
awp_limit_max "2"            //Сколько АВП разрешено при лимите [Стандартно по 2 авп на команду] | Если раскоментирован PERCENT_PLAYERS, то сюда вписывать нужный процент
awp_limit_immun "1"        //Включить|Выключить иммунитет от лимита(Людей с флагом не учитывает вообще) [Стандартно включен]
[12.01.17] Выход в свет.[Релиз]
[13.01.17] HotFix.
[14.01.17] Фикс.
Стал отлавливать авп при выдаче разными плагинами
[15.01.17]
Теперь два варианта лимита авп:
1. Стандартно по квару, т.е сколько указано в кваре - столько и будет максимально доступных авп. (Например: awp_limit_max "2", где 2 - это максимальное кол-во авп на тиму)
2. Кол-во авп на команду зависит о процента игроков указанного в кваре. (Например: awp_limit_max "20", где 20 - это процент от всего онлайна на сервере)

[16.01.17] Изменил способ отлова выкидывания авп
Фикс багов.
[27.06.17]
Фикс багов:
- Теперь правильно отлавливает тиму человека
- При закоментированом #define ALLPLAYERS будет считать в общий онлайн только КТ и ТТ

[28.06.17]
Фикс бага. При выключенном лимите авп, не отбирало авп при низком онлайне. Спасибо wareznik

Установка и настройка:
  • скачиваем исходник.
  • меняем настройки по своему усмотрению.
  • компилируем.
  • ставим на сервер.

Нативы:
В плаигне присутствует натив awpoff_check(index).
Возвращает значение true/false.
true - авп можно взять
false - нельзя
При false сообщение о запрете взятии авп выведется из плагина.
Пример использования натива example.sma
 

Вложения

Последнее редактирование: paffgame

Endzhey

Пользователь
Регистрация
8 Июн 2017
Сообщения
181
Симпатии
35
#2
В старой версии при покупке авп деньни снимались и выводилось сообщение что на сервере мало игроков. В этой версии это исправлено?)
 

paffgame

Пользователь
Регистрация
9 Июн 2017
Сообщения
73
Симпатии
32
Пол
Мужской
#3
В старой версии при покупке авп деньни снимались и выводилось сообщение что на сервере мало игроков. В этой версии это исправлено?)
смотря о какой Вы версии говорите, но подобного баг репорта я давно не видел.
 

Endzhey

Пользователь
Регистрация
8 Июн 2017
Сообщения
181
Симпатии
35
#4
смотря о какой Вы версии говорите, но подобного баг репорта я давно не видел.
Я наверное глупо обьяснил.
Например на сервере мало игроков и авп для покупки недоступно.
Я покупаю авп, деньги снимаються и выводится сообщение что авп недоступно.
 

paffgame

Пользователь
Регистрация
9 Июн 2017
Сообщения
73
Симпатии
32
Пол
Мужской
#5
Я наверное глупо обьяснил.
Например на сервере мало игроков и авп для покупки недоступно.
Я покупаю авп, деньги снимаються и выводится сообщение что авп недоступно.
я понял о чем Вы.
Но как я уже говорил, подобного баг репорта на версии для ReAPI я не видел и исходя из багрепортов, такого бага нет.
 

sonyx

Пользователь
Регистрация
8 Июн 2017
Сообщения
496
Симпатии
240
#6
paffgame, предлагаю мини-фикс. Собственно при выключенном #define ALLPLAYERS, вы считаете всех игроков, включая спектров. Лучше будет если считать только играющих юзверей по фильтру команды.
27 Июн 2017
+ так же было бы неплохо хукать присоединение к команде, что позволит запрещать/разрешать авп в процессе игры
 

paffgame

Пользователь
Регистрация
9 Июн 2017
Сообщения
73
Симпатии
32
Пол
Мужской
#7
sonyx, в плане отсеять спектаров, я думаю как.
либо два раза get_players по тимам и скалыдвать, либо циклом.

запрещать/разрешать во время игры
я так делал раньше и это такое себе на самом деле. бежишь бежишь и авп пропало, ну не особо приятно)
 

sonyx

Пользователь
Регистрация
8 Июн 2017
Сообщения
496
Симпатии
240
#8
sonyx, в плане отсеять спектаров, я думаю как.
либо два раза get_players по тимам и скалыдвать, либо циклом.


я так делал раньше и это такое себе на самом деле. бежишь бежишь и авп пропало, ну не особо приятно)
циклом? не стоит извращаться) тут 2 варианта:
1. получаем по командам и суммируем
2. в дополнение получаем по фильтру спектров и вычитаем
но по сути те же яйца)))
по поводу горячей проверки - можно же сделать изящнее) отбирать по раунденд, а разрешать подбор/покупку по горячей схеме. И будут все довольны
 

paffgame

Пользователь
Регистрация
9 Июн 2017
Сообщения
73
Симпатии
32
Пол
Мужской
#9
Обновил.
Все в шапке.
 

Panzer

Пользователь
Регистрация
11 Июн 2017
Сообщения
80
Симпатии
14
#10
подскажите, как можно заблокировать покупку авп в плагине vip custom? И вопрос: учитываються все снайперки или только авп?
 

paffgame

Пользователь
Регистрация
9 Июн 2017
Сообщения
73
Симпатии
32
Пол
Мужской
#11
Panzer, спасибо, что напомнили.
В плагине присутствует натив для подключения других плагинов. Добавил в шапку.

Учитываются только авп.
 

wareznik

Пользователь
Регистрация
12 Июн 2017
Сообщения
46
Симпатии
8
Пол
Мужской
#12
у меня awp вконце раунда не отбирает
и если онлайн был 10чел (квар 8 стоит) они могли покупать авп, потом онлайн стал 6чел, они дальше покупают и ниче не отбирает у них, которые новые зашли купить не могут
28 Июн 2017
а нет, погоди, похоже только не отбирает
 

paffgame

Пользователь
Регистрация
9 Июн 2017
Сообщения
73
Симпатии
32
Пол
Мужской
#13
wareznik, можно ип сервера?
У себя таких проблем не наблюдаю.
28 Июн 2017
а нет, погоди, похоже только не отбирает
А вот это, имеется.
28 Июн 2017
спасибо.
28 Июн 2017
у меня awp вконце раунда не отбирает
и если онлайн был 10чел (квар 8 стоит) они могли покупать авп, потом онлайн стал 6чел, они дальше покупают и ниче не отбирает у них, которые новые зашли купить не могут
28 Июн 2017
а нет, погоди, похоже только не отбирает
Мне похоже пора идти спать.
Все таки у меня такого не наблюдается. Я просто тестировал с awp_players_low 0.

Прошу Вас напишите мне ип сервера в лс.
 

paffgame

Пользователь
Регистрация
9 Июн 2017
Сообщения
73
Симпатии
32
Пол
Мужской
#15
Фикс бага. (кривые проверки)
Тех кто юзает лимит, не затронуло хД

Вроде, все исправлено ><
Спасибо wareznik

Плагин обновлен в шапке.
 

WhiteFang

Пользователь
Регистрация
9 Июн 2017
Сообщения
33
Симпатии
0
Пол
Мужской
#16
So I've been using this plugin, with the following cvars, awp_players_low "14", keeping the other cvars 0.. I'm not using #define ALLPLAYERS & #define PERCENT_PLAYERS .. What I've observed is that sometimes when the total count of both teams is 14 or more the awp is still restricted and I've to make it less than 14 for it to work, it seems like its checking one team only sometimes.. Using Amx 1.8.2 ..
 

paffgame

Пользователь
Регистрация
9 Июн 2017
Сообщения
73
Симпатии
32
Пол
Мужской
#17
So I've been using this plugin, with the following cvars, awp_players_low "14", keeping the other cvars 0.. I'm not using #define ALLPLAYERS & #define PERCENT_PLAYERS .. What I've observed is that sometimes when the total count of both teams is 14 or more the awp is still restricted and I've to make it less than 14 for it to work, it seems like its checking one team only sometimes.. Using Amx 1.8.2 ..
Check this version please.

If will problems, use #define DEBUG.
And thriugh 1-2 hour, throw me log file [addons/amxmodx/logs/awpoff/main.log].

If not will problems, write here please.

P.S Sorry, my English is bad.
 

Вложения

WhiteFang

Пользователь
Регистрация
9 Июн 2017
Сообщения
33
Симпатии
0
Пол
Мужской
#18
Here's the link for the log that has been recorded: main.log
Since all the posts are in Russian, I use Google Translate. I did the same to awp_players_low cvar. It said after end of round if players are low it'll ban it.
I wanted it to ban by the count of both teams but it wasn't happening.
Now I got to know that it is banning every time so and looked at the code and changed
PHP:
 for(new i = 0; i < gTT; i++)
  return_awp(players1);
to
[PHP]
for(new i = 0; i < gCount; i++)
return_awp(players1);
[/PHP]
Same for gCT, Now it works fine. I'm using awp_players_low "16". It bans awp if total count of both team is less than 16 and also removes it if someone has it

7 Июл 2017
Hope it helped someone.
 
Последнее редактирование модератором:

paffgame

Пользователь
Регистрация
9 Июн 2017
Сообщения
73
Симпатии
32
Пол
Мужской
#19
WhiteFang, please, give me log file.
7 Июл 2017
for(new i = 0; i < gCount; i ++) - only #define ALLPLAYERS
 

WhiteFang

Пользователь
Регистрация
9 Июн 2017
Сообщения
33
Симпатии
0
Пол
Мужской
#20