Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

2 страниц V   1 2

Ping Control. Измененный от Freedo.m

, Решил отдельно выложить
Статус пользователя MForce2014
сообщение 18.8.2014, 10:09
Сообщение #21
Стаж: 12 лет

Сообщений: 245
Благодарностей: 8
Полезность: < 0

Кому не сложно,скомпилируйте,а то у меня постоянные ошибки:
#define ACCESS_LEVEL_IMMUNITY (ADMIN_MENU|ADMIN_LEVEL_A) // Уровень доступа позволяющий пропускать проверку на пинг.
#define MAX_ALLOWED_PING 150 // Максимально допустимый пинг, превышение этого значения выкидывает игрока с сервера.
#define MAX_ALLOWED_LOSS 20 // Максимально допустимая потеря пакетов loss, превышение этого значения выкидывает игрока с сервера.
#define MAX_WARNING_CHECK 3 // Количество предупреждений после которых последует наказание.
#define INTERVAL_CHECK 10.0 // Интервал между проверками, чем меньше значение, тем больше нагрузка на сервер.
#define CHECK_COUNT 5 // Количество проверок определенного игрока ( снижаем и без того маленькую нагрузку xD )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя FakePlayer
сообщение 18.8.2014, 10:31
Сообщение #22


Стаж: 11 лет

Сообщений: 192
Благодарностей: 143
Полезность: 808

Цитата(MForce2014 @ 18.8.2014, 16:09) *
Кому не сложно,скомпилируйте,а то у меня постоянные ошибки:
#define ACCESS_LEVEL_IMMUNITY (ADMIN_MENU|ADMIN_LEVEL_A) // Уровень доступа позволяющий пропускать проверку на пинг.
#define MAX_ALLOWED_PING 150 // Максимально допустимый пинг, превышение этого значения выкидывает игрока с сервера.
#define MAX_ALLOWED_LOSS 20 // Максимально допустимая потеря пакетов loss, превышение этого значения выкидывает игрока с сервера.
#define MAX_WARNING_CHECK 3 // Количество предупреждений после которых последует наказание.
#define INTERVAL_CHECK 10.0 // Интервал между проверками, чем меньше значение, тем больше нагрузка на сервер.
#define CHECK_COUNT 5 // Количество проверок определенного игрока ( снижаем и без того маленькую нагрузку xD )


Отредактировал: FakePlayer, - 18.8.2014, 10:34
Прикрепленные файлы:
Прикрепленный файл  Ping_Control.rar ( 3,07 килобайт ) Кол-во скачиваний: 21
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя MForce2014
сообщение 18.8.2014, 11:23
Сообщение #23
Стаж: 12 лет

Сообщений: 245
Благодарностей: 8
Полезность: < 0

Благодарочка thank_you2.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя WindowsMod
сообщение 4.10.2014, 19:44
Сообщение #24
Стаж: 11 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Сделайте чтобы вообще никто не обходил проверку, пусть кикает всех, даже админов! Спасибо.

Отредактировал: WindowsMod, - 4.10.2014, 19:45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 4.10.2014, 19:46
Сообщение #25


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

WindowsMod, поставьте в дефайне флаг которого нет у админов и все. В чем проблема то?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TauJIeP
сообщение 10.11.2014, 10:55
Сообщение #26


Стаж: 13 лет
Город: Уральск

Сообщений: 429
Благодарностей: 57
Полезность: < 0

С этим плагином падает сервер.
[12:09:40] Console initialized.
[12:09:40] Using breakpad crash handler
[12:09:40] Setting breakpad minidump AppID = 10
[12:09:40] Forcing breakpad minidump interfaces to load
[12:09:41] Looking up breakpad interfaces from steamclient
[12:09:41] Calling BreakpadMiniDumpSystemInit
[12:09:41] Installing breakpad exception handler for appid(10)/version(5787)
[12:09:41] scandir failed:/home/panel/clients/16936/SAVE
[12:09:41] scandir failed:/home/panel/clients/16936/./valve/SAVE
[12:09:41] scandir failed:/home/panel/clients/16936/./platform/SAVE
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 10.11.2014, 11:00
Сообщение #27


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

TauJIeP, с чего взяли что именно из за него?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TauJIeP
сообщение 10.11.2014, 11:01
Сообщение #28


Стаж: 13 лет
Город: Уральск

Сообщений: 429
Благодарностей: 57
Полезность: < 0

Только что его ставил сервер два раза падал.
Убрал все ок.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 10.11.2014, 11:03
Сообщение #29


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

TauJIeP, локально компилировали? Если нет, то пробуйте так:
Код:
#include <amxmodx>
#include <colorchat>

#define ACCESS_LEVEL_IMMUNITY (ADMIN_MENU|ADMIN_LEVEL_H) // Уровень доступа позволяющий пропускать проверку на пинг.
#define MAX_ALLOWED_PING 100 // Максимально допустимый пинг, превышение этого значения выкидывает игрока с сервера.
#define MAX_FLUX 30 // Максимальные скачки пинга, если привышение то выкидывает с сервера
#define MAX_ALLOWED_LOSS 20 // Максимально допустимая потеря пакетов loss, превышение этого значения выкидывает игрока с сервера.
#define MAX_WARNING_CHECK 5 // Количество предупреждений после которых последует наказание.
#define INTERVAL_CHECK 10.0 // Интервал между проверками, чем меньше значение, тем больше нагрузка на сервер.
#define CHECK_COUNT MAX_WARNING_CHECK + 3 // Количество проверок определенного игрока ( снижаем и без того маленькую нагрузку xD )

#define is_immunity(%0) ((get_user_flags(%0) & ACCESS_LEVEL_IMMUNITY) || is_user_bot(%0) || is_user_hltv(%0))

#define get_bit(%1,%2) (%1 & (1 << (%2 & 31)))
#define set_bit(%1,%2) %1 |= (1 << (%2 & 31))
#define clr_bit(%1,%2) %1 &= ~(1 << (%2 & 31))

new g_iWarning[33], g_iCountCheck[33], g_iLastPing[33], g_iBitValid;

public plugin_init()
{
register_plugin("Ping Control", "0.3", "Freedo.m | neygomon");
set_task(INTERVAL_CHECK, "PingCheck", .flags = "b");
}

public client_putinserver(id)
{
if(is_immunity(id)) return;
set_bit(g_iBitValid, id);
g_iWarning[id] = g_iCountCheck[id] = 0;
}

public client_disconnect(id)
clr_bit(g_iBitValid, id);

public PingCheck()
{
static i, iPing, iLoss, players[32], pcount;
get_players(players, pcount, "ch")

for(i=0; i < pcount; i++)
{
if(!get_bit(g_iBitValid, players[i])) continue;
if(++g_iCountCheck[players[i]] < CHECK_COUNT)
{
get_user_ping(players[i], iPing, iLoss)

if(iPing >= MAX_ALLOWED_PING || iLoss > MAX_ALLOWED_LOSS || abs(iPing - g_iLastPing[players[i]]) > MAX_FLUX)
{
if(++g_iWarning[players[i]] >= MAX_WARNING_CHECK)
{
static name[32];
get_user_name(players[i], name, charsmax(name));
client_print_color(0, 0, "^1[^4PingControl^1] ^3%s ^1был удален с сервера за плохое соединение!", name);
server_cmd("kick #%d ^"Вы были кикнуты из-за плохого соединения^"", get_user_userid(players[i]));
}
}
else if(g_iWarning[players[i]]) g_iWarning[players[i]]--;
g_iLastPing[players[i]] = iPing;
}
}
}

Там просто стоит условие, если amxx 1.8.3 то используется нативный колорчат, а не инклуд.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TauJIeP
сообщение 10.11.2014, 12:53
Сообщение #30


Стаж: 13 лет
Город: Уральск

Сообщений: 429
Благодарностей: 57
Полезность: < 0

Bloo, Да локально. Ок щас проверю.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
maxiuser
сообщение 21.11.2014, 7:48
Сообщение #31
Стаж: 11 лет

Сообщений: 65
Благодарностей: 24
Полезность: < 0

Скомпилируйте кто-нибудь, а то ошибки.

Скрытый текст
#include <amxmodx>
#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif

#define ACCESS_LEVEL_IMMUNITY (ADMIN_MENU|ADMIN_LEVEL_A) // Уровень доступа позволяющий пропускать проверку на пинг.
#define MAX_ALLOWED_PING 105 // Максимально допустимый пинг, превышение этого значения выкидывает игрока с сервера.
#define MAX_FLUX 30 // Максимальные скачки пинга, если привышение то выкидывает с сервера
#define MAX_ALLOWED_LOSS 20 // Максимально допустимая потеря пакетов loss, превышение этого значения выкидывает игрока с сервера.
#define MAX_WARNING_CHECK 3 // Количество предупреждений после которых последует наказание.
#define INTERVAL_CHECK 10.0 // Интервал между проверками, чем меньше значение, тем больше нагрузка на сервер.
#define CHECK_COUNT MAX_WARNING_CHECK + 3 // Количество проверок определенного игрока ( снижаем и без того маленькую нагрузку xD )

#define is_immunity(%0) ((get_user_flags(%0) & ACCESS_LEVEL_IMMUNITY) || is_user_bot(%0) || is_user_hltv(%0))

#define get_bit(%1,%2) (%1 & (1 << (%2 & 31)))
#define set_bit(%1,%2) %1 |= (1 << (%2 & 31))
#define clr_bit(%1,%2) %1 &= ~(1 << (%2 & 31))

new g_iWarning[33], g_iCountCheck[33], g_iLastPing[33], g_iBitValid;

public plugin_init()
{
register_plugin("Ping Control", "0.3", "Freedo.m | neygomon");
set_task(INTERVAL_CHECK, "PingCheck", .flags = "b");
}

public client_putinserver(id)
{
if(is_immunity(id)) return;
set_bit(g_iBitValid, id);
g_iWarning[id] = g_iCountCheck[id] = 0;
}

public client_disconnect(id)
clr_bit(g_iBitValid, id);

public PingCheck()
{
static i, iPing, iLoss, players[32], pcount;
get_players(players, pcount, "ch")

for(i=0; i < pcount; i++)
{
if(!get_bit(g_iBitValid, players[i])) continue;
if(++g_iCountCheck[players[i]] < CHECK_COUNT)
{
get_user_ping(players[i], iPing, iLoss)

if(iPing >= MAX_ALLOWED_PING || iLoss > MAX_ALLOWED_LOSS || abs(iPing - g_iLastPing[players[i]]) > MAX_FLUX)
{
if(++g_iWarning[players[i]] >= MAX_WARNING_CHECK)
{
static name[32];
get_user_name(players[i], name, charsmax(name));
client_print_color(0, 0, "^1[^4PING^1] ^3%s ^1был удален с сервера за плохое соединение!", name);
server_cmd("kick #%d ^"Вы были кикнуты из-за плохого соединения^"", get_user_userid(players[i]));
}
}
else if(g_iWarning[players[i]]) g_iWarning[players[i]]--;
g_iLastPing[players[i]] = iPing;
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bormutov
сообщение 21.11.2014, 8:13
Сообщение #32
Стаж: 11 лет

Сообщений: 46
Благодарностей: 25
Полезность: 187

Цитата(maxiuser @ 21.11.2014, 7:48) *
Скомпилируйте кто-нибудь, а то ошибки.

Скрытый текст
#include <amxmodx>
#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif

#define ACCESS_LEVEL_IMMUNITY (ADMIN_MENU|ADMIN_LEVEL_A) // Уровень доступа позволяющий пропускать проверку на пинг.
#define MAX_ALLOWED_PING 105 // Максимально допустимый пинг, превышение этого значения выкидывает игрока с сервера.
#define MAX_FLUX 30 // Максимальные скачки пинга, если привышение то выкидывает с сервера
#define MAX_ALLOWED_LOSS 20 // Максимально допустимая потеря пакетов loss, превышение этого значения выкидывает игрока с сервера.
#define MAX_WARNING_CHECK 3 // Количество предупреждений после которых последует наказание.
#define INTERVAL_CHECK 10.0 // Интервал между проверками, чем меньше значение, тем больше нагрузка на сервер.
#define CHECK_COUNT MAX_WARNING_CHECK + 3 // Количество проверок определенного игрока ( снижаем и без того маленькую нагрузку xD )

#define is_immunity(%0) ((get_user_flags(%0) & ACCESS_LEVEL_IMMUNITY) || is_user_bot(%0) || is_user_hltv(%0))

#define get_bit(%1,%2) (%1 & (1 << (%2 & 31)))
#define set_bit(%1,%2) %1 |= (1 << (%2 & 31))
#define clr_bit(%1,%2) %1 &= ~(1 << (%2 & 31))

new g_iWarning[33], g_iCountCheck[33], g_iLastPing[33], g_iBitValid;

public plugin_init()
{
register_plugin("Ping Control", "0.3", "Freedo.m | neygomon");
set_task(INTERVAL_CHECK, "PingCheck", .flags = "b");
}

public client_putinserver(id)
{
if(is_immunity(id)) return;
set_bit(g_iBitValid, id);
g_iWarning[id] = g_iCountCheck[id] = 0;
}

public client_disconnect(id)
clr_bit(g_iBitValid, id);

public PingCheck()
{
static i, iPing, iLoss, players[32], pcount;
get_players(players, pcount, "ch")

for(i=0; i < pcount; i++)
{
if(!get_bit(g_iBitValid, players[i])) continue;
if(++g_iCountCheck[players[i]] < CHECK_COUNT)
{
get_user_ping(players[i], iPing, iLoss)

if(iPing >= MAX_ALLOWED_PING || iLoss > MAX_ALLOWED_LOSS || abs(iPing - g_iLastPing[players[i]]) > MAX_FLUX)
{
if(++g_iWarning[players[i]] >= MAX_WARNING_CHECK)
{
static name[32];
get_user_name(players[i], name, charsmax(name));
client_print_color(0, 0, "^1[^4PING^1] ^3%s ^1был удален с сервера за плохое соединение!", name);
server_cmd("kick #%d ^"Вы были кикнуты из-за плохого соединения^"", get_user_userid(players[i]));
}
}
else if(g_iWarning[players[i]]) g_iWarning[players[i]]--;
g_iLastPing[players[i]] = iPing;
}
}
}


Пожалуйста http://rghost.ru/59177397
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
maxiuser
сообщение 21.11.2014, 8:22
Сообщение #33
Стаж: 11 лет

Сообщений: 65
Благодарностей: 24
Полезность: < 0

bormutov, благодарю.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
dimka198
сообщение 26.9.2015, 13:38
Сообщение #34
Стаж: 12 лет

Сообщений: 1541
Благодарностей: 283
Полезность: 13

могут ли быть лаги от этого плагина?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя angryjack
сообщение 26.9.2015, 13:49
Сообщение #35
Стаж: 11 лет

Сообщений: 390
Благодарностей: 229
Полезность: 837

Цитата(dimka198 @ 26.9.2015, 14:34) *
могут ли быть лаги от этого плагина?

Вряд ли
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 26.9.2015, 13:50
Сообщение #36


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Цитата(dimka198 @ 26.9.2015, 14:34) *
могут ли быть лаги от этого плагина?

могут.


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: