Afk slayer Gelişmiş ?
Moderatör: Moderatörler
-
Konu Sahibi - Mesajlar: 77
- Kayıt: Cmt Eki 05, 2019 1:05 pm
Afk slayer Gelişmiş ?
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
Link: | |
Linklerini gizle |
-
- Mesajlar: 2368
- Kayıt: Sal Oca 26, 2016 3:54 pm
- Konum: Samsun
- Clan İsmi: -
- İletişim:
Afk slayer Gelişmiş ?
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
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
Link: | |
Linklerini gizle |
-
- Mesajlar: 134
- Kayıt: Sal May 16, 2017 4:48 pm
Afk slayer Gelişmiş ?
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;
}
Link: | |
Linklerini gizle |
-
- Mesajlar: 165
- Kayıt: Sal Oca 15, 2019 12:37 am
- Konum: Usa
- Server Ip/DNS: New York
- İletişim:
Afk slayer Gelişmiş ?
Denedim çalışmıyor bilginiz olsunAhmethamza_1 yazdı: ↑Çrş Ara 18, 2019 6:27 pmOyuncu 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!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; }
Link: | |
Linklerini gizle |