Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

AFK Kick istek

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

Konu Sahibi
Xau
Mesajlar: 216
Kayıt: Çrş Oca 23, 2019 10:03 pm
Server Ip/DNS: 213.238.173.12
Clan İsmi: Nostalji Gamers
İletişim:

AFK Kick istek

Mesaj 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.

Link:
Linklerini gizle
Linki Kopyala

bunabakk
Mesajlar: 29
Kayıt: Pzr Ağu 11, 2019 1:27 am

AFK Kick istek

Mesaj 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;
}

Link:
Linklerini gizle
Linki Kopyala
Cevapla