|
CS1.BG | DUST2 NOSHTA GARMI [RANKED PLAY] #1 45.144.155.113:27015 |
de_dust2 Играчи: 30/32 |
VIP
|
Cs-PlovdiV.com - Aim Attack | 93.123.16.4:27022 | aim_aztec | Играчи: 0/16 |
|
VIP
|
93.123.16.4:27022 | Cs-PlovdiV.com - Aim Attack | aim_aztec | 0/16 |
прехвърляне на AFK към спектатор
прехвърляне на AFK към спектатор
Привет! Потърсих на доста места, но не можах да намеря точно това, което ми трябва. Ако някой е afk повече от 2 минути да речем, да го мести към спектаторите автоматично. По негово желание да може да ползва и команда /afk и да се връща с /back.
-
HeatoN
Извън линия - Потребител
- Мнения: 232
- Регистриран на: 04 Фев 2022, 16:16
- Местоположение: Elhovo - Las Vegas
- Се отблагодари: 35 пъти
- Получена благодарност: 2 пъти
- Обратна връзка:
Re: прехвърляне на AFK към спектатор
Ползвай това за афк към спектатор имай предвид че кода на плъгина е доста стар и не съм го тествал може и да ти върши работа
mp_afktime 300 Времето, през което играчът може да бъде AFK в секунди, преди да бъде преместен spectator. (минимум 30 сек.)
Времето им се натрупва само докато са живи.
mp_afkminplayers 2 Минимален брой играчи, които трябва да бъдат на сървъра, преди плъгинът да започне да ги мести spec.
А това го ползваш да се връщат /spec /back /change
viewtopic.php?t=1114
Другият път ползвай търсачката точно със писането на 2 думи намерих плъгина който търсиш
Код за потвърждение: Избери целия код
#include <amxmodx>
#define MIN_AFK_TIME 30 // I use this incase stupid admins accidentally set mp_afktime to something silly.
#define WARNING_TIME 15 // Start warning the user this many seconds before they are about to be kicked.
#define CHECK_FREQ 5 // This is also the warning message frequency.
new g_oldangles[33][3]
new g_afktime[33]
new bool:g_spawned[33] = {false, ...}
public plugin_init() {
register_plugin("AFK spectate","1.2","pizzahut")
register_cvar("afk_version", "1.2", FCVAR_SERVER)
register_cvar("mp_afktime", "300") // Kick people AFK longer than this time.
register_cvar("mp_afkminplayers", "1") // Only kick AFKs when there is at least this many players on the server.
set_task(float(CHECK_FREQ),"checkPlayers",0,"",0,"b",0)
register_logevent("playerSpawned",3,"1=changed role to")
register_logevent("playerSpecs",3,"1=joined team","2=SPECTATOR")
}
public checkPlayers()
{
new name[64]
for (new i = 1; i <= get_maxplayers(); i++)
{
if (is_user_connected(i) && !is_user_bot(i) && !is_user_hltv(i) && (get_user_team(i)>0))
{
new newangle[3]
get_user_origin(i, newangle)
get_user_name(i,name,64)
if((newangle[0] == g_oldangles[i][0]) && (newangle[1] == g_oldangles[i][1]) && (newangle[2] == g_oldangles[i][2]))
{
g_afktime[i] += CHECK_FREQ
check_afktime(i)
}
else
{
g_oldangles[i][0] = newangle[0]
g_oldangles[i][1] = newangle[1]
g_oldangles[i][2] = newangle[2]
g_afktime[i] = 0
}
}
else afk_reset(i)
}
return PLUGIN_CONTINUE
}
check_afktime(id) {
new numplayers = get_playersnum()
new minplayers = get_cvar_num("mp_afkminplayers")
if (numplayers >= minplayers)
{
if(g_spawned[id])
{
new maxafktime = get_cvar_num("mp_afktime")
if(maxafktime < MIN_AFK_TIME)
{
log_amx("cvar mp_afktime %i is too low. Minimum value is %i.", maxafktime, MIN_AFK_TIME)
maxafktime = MIN_AFK_TIME
set_cvar_num("mp_afktime", MIN_AFK_TIME)
}
if(maxafktime-WARNING_TIME <= g_afktime[id] < maxafktime)
{
new timeleft = maxafktime - g_afktime[id]
client_print(id, print_chat, "You have %i seconds to move or you will be put into spectator mode for being AFK.", timeleft)
}
else if(g_afktime[id] > maxafktime)
{
client_print(id, print_chat, "You are put into spectator mode for being AFK longer than %i seconds.", maxafktime)
client_cmd(id,"spectate")
}
}
else if(g_afktime[id] > 30) client_cmd(id,"spectate")
}
}
public playerSpawned()
{
new id = get_id()
g_spawned[id] = true
return PLUGIN_CONTINUE
}
public playerSpecs()
{
new id = get_id()
afk_reset(id)
return PLUGIN_CONTINUE
}
afk_reset(id)
{
g_afktime[id] = 0
new newangle[3]
get_user_origin(id,newangle)
g_oldangles[id][0] = newangle[0]
g_oldangles[id][1] = newangle[1]
g_oldangles[id][2] = newangle[2]
g_spawned[id] = false
}
get_id()
{
new Arg1[64]
read_logargv(0,Arg1,64)
new p_name[64]
parse_loguser(Arg1,p_name,64)
new name[64],id=0
for (new i=1;i<=get_maxplayers();i++)
{
if(is_user_connected(i))
{
get_user_name(i,name,64)
if(equal(p_name,name)) id = i
}
}
return id
}
public server_changelevel(map[])
{
for (new i = 1; i <= get_maxplayers(); i++) afk_reset(i)
return PLUGIN_CONTINUE
}
Времето им се натрупва само докато са живи.
mp_afkminplayers 2 Минимален брой играчи, които трябва да бъдат на сървъра, преди плъгинът да започне да ги мести spec.
А това го ползваш да се връщат /spec /back /change
viewtopic.php?t=1114
Другият път ползвай търсачката точно със писането на 2 думи намерих плъгина който търсиш
Здравейте, Ние сме Dark-Star Counter-Strike базирана верига стремяща се да предостави качествени сървъри на своитепотребители
〢☆ При нас може да намерите:
〢☆ активен и помагащ STAFF
〢☆ Качествени сървъри.
〢☆ 24/7 поддръжка.
〢☆ Нашият дискорд: https://discord.gg/cPw8xauRPq
〢☆ При нас може да намерите:
〢☆ активен и помагащ STAFF
〢☆ Качествени сървъри.
〢☆ 24/7 поддръжка.
〢☆ Нашият дискорд: https://discord.gg/cPw8xauRPq
Re: прехвърляне на AFK към спектатор
приятелю, благодаря за коментара, но съм прегледал тези плъгини, които ми предостави. SMA кода който си ми предоставил е стар, както каза ти. Ще се радвам ако някой изкара нещо по съвременно. Не ми се ще да ползвам 2 плъгина с почти една и съща цел.
-
Midnight1337
Извън линия - Foreigner
- Мнения: 72
- Регистриран на: 15 Яну 2019, 00:53
- Местоположение: Macedonia
- Се отблагодари: 5 пъти
- Получена благодарност: 21 пъти
- Обратна връзка:
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 5 Отговори
- 1603 Преглеждания
-
Последно мнение от V.A.L.V.E
-
- 0 Отговори
- 627 Преглеждания
-
Последно мнение от Nine Finger's
Кой е на линия
Потребители разглеждащи този форум: Google [Bot] и 3 госта