Здравейте, понеже не бях работил с pawn за около 4 месеца, а все още се учех и сега търся някой, който може да ми направи система, която да прави долупосочените неща:
- Ако играчът има пинг по-висок от 120ms да бъде кикнат.
- Ако играчът стои АФК за повече от 90сек да бъде кикнат. (на 15сек да му бъде напомнено, че ще бъде кикнат)
- Ако играчът стои като spectator повече от 30сек да бъде кикнат. (на 15сек да му бъде напомнено, че ще бъде кикнат)
Играчи с флаг "b" имат имунитет от горните неща.
Благодаря предварително!
Заявка за Auto-Kick System
-
Unbr3akable
Извън линия - Потребител
- Мнения: 178
- Регистриран на: 21 Дек 2016, 20:50
- Получена благодарност: 6 пъти
-
Extreme
Извън линия - Администратор
- Мнения: 557
- Регистриран на: 05 Окт 2016, 20:53
- Се отблагодари: 126 пъти
- Получена благодарност: 51 пъти
- Обратна връзка:
Re: Заявка за Auto-Kick System
Виж този https://forums.alliedmods.net/showthread.php?t=256449 има много функции, като гледам киква и спектаторите.
–Човек вярва на това, което му се иска.
Адолф Хитлер.
-------------------------------------------------------------------------------------------
Правила на форума
Правила при качване на плъгини
Адолф Хитлер.
-------------------------------------------------------------------------------------------
Правила на форума
Правила при качване на плъгини
-
Unbr3akable
Извън линия - Потребител
- Мнения: 178
- Регистриран на: 21 Дек 2016, 20:50
- Получена благодарност: 6 пъти
Re: Заявка за Auto-Kick System
Не виждам да има функция, която киква играчи с висок пинг, а и на мен ми трябват само горните три неща.
-
Extreme
Извън линия - Администратор
- Мнения: 557
- Регистриран на: 05 Окт 2016, 20:53
- Се отблагодари: 126 пъти
- Получена благодарност: 51 пъти
- Обратна връзка:
Re: Заявка за Auto-Kick System
Ти искаш да киква едновременно specs/afk и за висок пинг. Ще изчакаш някой от скриптърите, аз доколкото знам такъв плъгин 3в1 няма.
Иначе горния плъгин прави тези 2 неща:
Аз ползвам този https://forums.alliedmods.net/showthread.php?p=10259
Мога да ти дам и други АФК плъгини но ти искаш всичко в едно, така че аз съм до тук
Иначе горния плъгин прави тези 2 неща:
A за това:- Ако играчът стои АФК за повече от 90сек да бъде кикнат. (на 15сек да му бъде напомнено, че ще бъде кикнат)
- Ако играчът стои като spectator повече от 30сек да бъде кикнат. (на 15сек да му бъде напомнено, че ще бъде кикнат)
- Ако играчът има пинг по-висок от 120ms да бъде кикнат.
Аз ползвам този https://forums.alliedmods.net/showthread.php?p=10259
Мога да ти дам и други АФК плъгини но ти искаш всичко в едно, така че аз съм до тук
–Човек вярва на това, което му се иска.
Адолф Хитлер.
-------------------------------------------------------------------------------------------
Правила на форума
Правила при качване на плъгини
Адолф Хитлер.
-------------------------------------------------------------------------------------------
Правила на форума
Правила при качване на плъгини
-
TheRedShoko
Извън линия - Модератор
- Мнения: 1016
- Регистриран на: 06 Окт 2016, 07:42
- Местоположение: Бургас
- Се отблагодари: 5 пъти
- Получена благодарност: 84 пъти
Re: Заявка за Auto-Kick System
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <WPMGPrintChatColor>
#define KICK_IMMUNITY ADMIN_RESERVATION
new p_iMaxPing, p_flMaxAfkTime, p_flMaxSpecTime, p_iPingCheckTime, g_iMaxPlayers;
new iPingChecks[33], iUserTotalPing[33], Float:flUserAfkTime[33], bool:blPrintedWarn[33];
new const g_iCheckButtons = ( IN_ATTACK | IN_JUMP | IN_DUCK | IN_FORWARD | IN_BACK | IN_USE | IN_CANCEL | IN_LEFT | IN_RIGHT | IN_MOVELEFT | IN_MOVERIGHT | IN_ATTACK2 | IN_RUN | IN_RELOAD | IN_ALT1 | IN_SCORE );
new const szCheckerClass[] = "kick_manager_checker";
public plugin_init()
{
register_plugin("Kick manager", "1.0", "AMXX-BG.Info");
p_iMaxPing = register_cvar("kick_manager_maxping", "120");
p_flMaxAfkTime = register_cvar("kick_manager_afktime", "90.0");
p_flMaxSpecTime = register_cvar("kick_manager_spectime", "30.0");
p_iPingCheckTime = register_cvar("kick_manager_pingtime", "5");
new iEnt = create_entity("info_target");
if (iEnt)
{
register_think(szCheckerClass, "CheckUsersStatus");
entity_set_string(iEnt, EV_SZ_classname, szCheckerClass);
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 0.1);
}
g_iMaxPlayers = get_maxplayers();
}
public client_putinserver(id)
{
flUserAfkTime[id] = 0.0;
iPingChecks[id] = 0;
iUserTotalPing[id] = 0;
blPrintedWarn[id] = false;
}
public CheckUsersStatus(iEnt)
{
if (!is_valid_ent(iEnt)) return;
new iUserPing, iUserLoss;
new Float:flMaxAfkTime = get_pcvar_float(p_flMaxAfkTime);
new Float:flMaxSpecTime = get_pcvar_float(p_flMaxSpecTime);
new iMaxPing = get_pcvar_num(p_iMaxPing);
for (new i = 1; i <= g_iMaxPlayers; i++)
{
if (!is_user_connected(i) || get_user_flags(i) & KICK_IMMUNITY) continue;
if (cs_get_user_team(i) == CS_TEAM_SPECTATOR || cs_get_user_team(i) == CS_TEAM_UNASSIGNED)
{
flUserAfkTime[i] += 0.1;
if (flMaxSpecTime - flUserAfkTime[i] <= 15.0 && !blPrintedWarn[i])
{
PrintChatColor(i, PRINT_COLOR_PLAYERTEAM, "!g[!tSpecKicker!g]!y You will get kicked after!g 15!y seconds for being spectator!");
blPrintedWarn[i] = true;
}
if (flUserAfkTime[i] >= flMaxSpecTime)
{
new szName[32];
get_user_name(i, szName, charsmax(szName));
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!g[!tSpecKicker!g]!y Player!g %s!y got kicked for being!t Spectator!y for more than!t %i!y seconds!",
szName, floatround(flMaxSpecTime));
server_cmd("kick #%i ^"You got kicked for being afk more than %i seconds!^"",
get_user_userid(i), floatround(flMaxSpecTime));
}
}
else if (!(entity_get_int(i, EV_INT_button) & g_iCheckButtons))
{
flUserAfkTime[i] += 0.1;
if (flMaxAfkTime - flUserAfkTime[i] <= 15.0 && !blPrintedWarn[i])
{
PrintChatColor(i, PRINT_COLOR_PLAYERTEAM, "!g[!tAfkKicker!g]!y You will get kicked after!g 15!y seconds for being AFK!");
blPrintedWarn[i] = true;
}
if (flUserAfkTime[i] >= flMaxAfkTime)
{
new szName[32];
get_user_name(i, szName, charsmax(szName));
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!g[!tAfkKicker!g]!y Player!g %s!y got kicked for being!t AFK!y for more than!t %i!y seconds!",
szName, floatround(flMaxAfkTime));
server_cmd("kick #%i ^"You got kicked for being afk more than %i seconds!^"",
get_user_userid(i), floatround(flMaxAfkTime));
}
}
else
{
flUserAfkTime[i] = 0.0;
blPrintedWarn[i] = false;
}
get_user_ping(i, iUserPing, iUserLoss);
iUserTotalPing[i] += iUserPing;
iPingChecks[i]++;
if (iPingChecks[i] >= get_pcvar_num(p_iPingCheckTime) && (iUserTotalPing[i] / iPingChecks[i]) >= iMaxPing)
{
new szName[32];
get_user_name(i, szName, charsmax(szName));
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!g[!tHighPingKicker!g]!y Player!g %s!y got kicked for having more than!t AFK!y for more than!t %ims!y!",
szName, iMaxPing);
server_cmd("kick #%i ^"You got kicked for having more more than %ims!^"",
get_user_userid(i), iMaxPing);
}
}
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 0.1);
}
-
Unbr3akable
Извън линия - Потребител
- Мнения: 178
- Регистриран на: 21 Дек 2016, 20:50
- Получена благодарност: 6 пъти
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 0 Отговори
- 845 Преглеждания
-
Последно мнение от EFFEX
-
- 4 Отговори
- 986 Преглеждания
-
Последно мнение от bg-bb
-
- 3 Отговори
- 1852 Преглеждания
-
Последно мнение от Franziskaner
-
- 5 Отговори
- 2236 Преглеждания
-
Последно мнение от mBFF-TheFucKBG
-
- 13 Отговори
- 2330 Преглеждания
-
Последно мнение от YankoNL
-
- 5 Отговори
- 2681 Преглеждания
-
Последно мнение от OciXCrom
-
- 4 Отговори
- 1640 Преглеждания
-
Последно мнение от impossible
Кой е на линия
Потребители разглеждащи този форум: 0 регистрирани и 14 госта