1. sayfa (Toplam 1 sayfa)

Afk slayer Gelişmiş ?

Gönderilme zamanı: Çrş Ara 18, 2019 1:54 am
gönderen burakozdemir58
selamlar forum sakinleri , serverim için afk slayer plugini lazım fakat şuanda aktif olan bütük afk slayer pluginleri round başında işe yarıyor yani oyuncu round başından devamında 30 saniye hareketsiz kalırsa afk olarak kabul edilip slaylanıyor eğerkiiiiii oyuncu round başında değilde round ortasına kadar oynayıp ortasında afk bırakınca asırlar yıllar yüzyıllarda geçse o oyuncu slaylanmıyor buda serverin boşalmasına sebep veriyor böyle bir pluginin her server için lazım olacağını düşünüyor ve anlayan arkadaşlardan rica ediyorum şimdiden teşekkür ederim :D

Afk slayer Gelişmiş ?

Gönderilme zamanı: Çrş Ara 18, 2019 4:30 am
gönderen ByBuLuT ☪
Kontrolün sunucuya en yüksüz şekilde yapılması gerekiyor oyuncu doğunca,round başı en çok kullanılan tetiklemeler çünkü istisnai modlar hariç bu iki durumdan birisi kesin gerçekleşiyor.

Modunuza uygun olarak hangi durumlarda afk kontrolü istediğinizi belirtirseniz onu uygun bir düzenleme yapılabilir.Her salise de kontrol yapılabilir ancak göz önüne alınması gereken en stabil olacak halini düşünmek.

Belirli bir süre de her yaşayanı kontrol et yapılabilir ama bir zaman sonra pingler fırlıyor loss yüksek oyun takılıyor gibi konu açılması muhtemel

Afk slayer Gelişmiş ?

Gönderilme zamanı: Çrş Ara 18, 2019 6:27 pm
gönderen Ahmethamza_1

Kod: Tümünü seç

#include <amxmodx> 
#include <amxmisc> 
#include <hamsandwich> 
#include <fakemeta> 

//#define TIME 15.0
#define TASK_TIME 27890
#define ZAMAN 30

new Float:player_origin[33][3]; 

new afkorigin[33];

public plugin_init() 
{ 
	RegisterHam(Ham_Spawn, "player", "e_Spawn", 1);
	register_event("DeathMsg", "EventDeath", "a")
} 

public plugin_cfg()
{
	set_task(1.0, "check_afk", TASK_TIME)
}

public client_putinserver(id) afkorigin[id] = 0
public client_disconnected(id) afkorigin[id] = 0

public EventDeath()
{
	new id = read_data(2)
	
	afkorigin[id] = 0
}

public e_Spawn(id) 
{ 
	remove_task(id) 
	if(is_user_alive(id)) 
	{
		afkorigin[id] = 0
		//set_task(0.8, "get_spawn", id); 
	} 
	return HAM_IGNORED; 
} 
/*
public get_spawn(id) 
{ 
	
	
	//set_task(TIME, "check_afk", id); 
} 
*/
public check_afk(id) 
{ 
	pev(id, pev_origin, player_origin[id]);
	if(is_user_alive(id)) 
	{ 
		if(afkorigin[id] == ZAMAN && same_origin(id)) 
		{ 
			user_kill(id);
		}
		else if(!same_origin(id)) afkorigin[id] = 0
		else afkorigin[id]++
	} 
} 

public same_origin(id) 
{ 
	new Float:origin[3]; 
	pev(id, pev_origin, origin); 
	for(new i = 0; i < 3; i++) 
		if(origin[i] != player_origin[id][i]) 
		return 0; 
	return 1; 
}  
Oyuncu eğer bir yerde afk kalırsa afkorigin değeri her saniyede 1 artıyor. #define ZAMAN kaç ise değer ona geldiği zaman öldürüyor. EKLENTİYİ DENEMEDİM!

Afk slayer Gelişmiş ?

Gönderilme zamanı: Cum Ara 20, 2019 2:03 am
gönderen kaanapaydn
Ahmethamza_1 yazdı: Çrş Ara 18, 2019 6:27 pm

Kod: Tümünü seç

#include <amxmodx> 
#include <amxmisc> 
#include <hamsandwich> 
#include <fakemeta> 

//#define TIME 15.0
#define TASK_TIME 27890
#define ZAMAN 30

new Float:player_origin[33][3]; 

new afkorigin[33];

public plugin_init() 
{ 
	RegisterHam(Ham_Spawn, "player", "e_Spawn", 1);
	register_event("DeathMsg", "EventDeath", "a")
} 

public plugin_cfg()
{
	set_task(1.0, "check_afk", TASK_TIME)
}

public client_putinserver(id) afkorigin[id] = 0
public client_disconnected(id) afkorigin[id] = 0

public EventDeath()
{
	new id = read_data(2)
	
	afkorigin[id] = 0
}

public e_Spawn(id) 
{ 
	remove_task(id) 
	if(is_user_alive(id)) 
	{
		afkorigin[id] = 0
		//set_task(0.8, "get_spawn", id); 
	} 
	return HAM_IGNORED; 
} 
/*
public get_spawn(id) 
{ 
	
	
	//set_task(TIME, "check_afk", id); 
} 
*/
public check_afk(id) 
{ 
	pev(id, pev_origin, player_origin[id]);
	if(is_user_alive(id)) 
	{ 
		if(afkorigin[id] == ZAMAN && same_origin(id)) 
		{ 
			user_kill(id);
		}
		else if(!same_origin(id)) afkorigin[id] = 0
		else afkorigin[id]++
	} 
} 

public same_origin(id) 
{ 
	new Float:origin[3]; 
	pev(id, pev_origin, origin); 
	for(new i = 0; i < 3; i++) 
		if(origin[i] != player_origin[id][i]) 
		return 0; 
	return 1; 
}  
Oyuncu eğer bir yerde afk kalırsa afkorigin değeri her saniyede 1 artıyor. #define ZAMAN kaç ise değer ona geldiği zaman öldürüyor. EKLENTİYİ DENEMEDİM!
Denedim çalışmıyor bilginiz olsun