1. sayfa (Toplam 1 sayfa)
AFK Kick istek
Gönderilme zamanı: Pzt Eki 04, 2021 11:26 pm
gönderen Xau
Merhabalar, serverim deathmatch'dir. Oyuncular 60 saniye afk kaldıklarında otomatik kick atılsın istiyorum. Kick atıldığında reason olarak "Serverde AFK olduğunuz için atıldınız. Tekrardan bağlanmak için RETRY yazınız." şeklinde olursa sevinirim. Eğer olursa REAPI yazılırsa sevinirim şimdiden yapan arkadaşa teşekkür ediyorum.
AFK Kick istek
Gönderilme zamanı: Cum Eki 08, 2021 10:40 pm
gönderen bunabakk
Kod: Tümünü seç
#include <amxmodx>
#include <reapi>
#define TIME 60.0 // Süre
new Float:player_origin[33][3], g_afk[33]
public plugin_init()
{
register_plugin("AFK Kick", "1.0", "AhmetBey*")
RegisterHookChain(RG_CBasePlayer_Spawn, "Player_Spawn", 1)
}
public client_putinserver(id)
{
g_afk[id] = 0;
}
public Player_Spawn(id)
{
remove_task(id)
if(is_user_alive(id))
{
set_task(1.0, "get_spawn", id);
}
}
public get_spawn(id)
{
get_entvar(id, var_origin, player_origin[id])
set_task(TIME, "check_afk", id);
}
public check_afk(id)
{
if(is_user_alive(id))
{
if(same_origin(id))
{
new name[33];
get_user_name(id, name, 32);
if(g_afk[id] == 5) // Kac Tur AFK Kalinca Atilacak
{
client_print(0, print_chat, "%s 5 Round AFK oldugu icin sunucudan atildi", name)
server_cmd("kick #%d ^"5 Serverde AFK olduğunuz için atıldınız. Tekrardan bağlanmak için RETRY yazınız..^"", get_user_userid(id));
}
else
{
g_afk[id]++;
user_silentkill(id);
}
}
}
}
public same_origin(id)
{
new Float:origin[3];
get_entvar(id, var_origin, origin);
for(new i = 0; i < 3; i++)
if(origin[i] != player_origin[id][i])
return 0;
return 1;
}