1. sayfa (Toplam 1 sayfa)

afk yı spec atma

Gönderilme zamanı: Cmt Eyl 18, 2021 2:09 am
gönderen viperxnull
Arkadaşlar ben oyunda afk kalan arkadaşı 30 sn sonra slaylayıp spec atmasını istiyorum.İnternette aradım ama bulamadım var mıdır böyle bir plugin?

afk yı spec atma

Gönderilme zamanı: Cmt Eyl 18, 2021 10:43 am
gönderen Colditz
Dener misin?

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

new g_flPlayerOrigin[MAX_CLIENTS + 1][3];

public plugin_init() {
	register_plugin("Afk Spec", "0.0.1", "PurposeLess");

	RegisterHookChain(RG_CBasePlayer_Spawn, "@CBasePlayer_Spawn_Post", .post = true);
	RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed_Post", .post = true);
}

@CBasePlayer_Spawn_Post(const pPlayer) {
	if(get_member(pPlayer, m_bJustConnected)) {
		return;
	}

	remove_task(pPlayer);
	set_task(1.0, "@SpawnCoords", pPlayer);
}

@CBasePlayer_Killed_Post(const pVictim) {
	remove_task(pVictim);
}

public client_disconnected(pPlayer) {
	remove_task(pPlayer);
}

@SpawnCoords(const pPlayer) {
	get_entvar(pPlayer, var_origin, g_flPlayerOrigin[pPlayer]);
	set_task(30.0, "@CheckSpawnCoords", pPlayer);
}

@CheckSpawnCoords(const pPlayer) {
	if(!blSameCoords(pPlayer)) {
		return;
	}

	client_print_color(0, print_team_red, "^3%n ^1isimli oyuncu afk oldugu icin izleyici takimina transfer edildi.", pPlayer);
	rg_set_user_team(pPlayer, TEAM_SPECTATOR);
}

bool:blSameCoords(const pPlayer) {
	new Float:flOrigin[3];
	get_entvar(pPlayer, var_origin, flOrigin);

	for(new i = 0; i < 3; i++) {
		if(flOrigin[i] != g_flPlayerOrigin[pPlayer][i]) {
			return false;
		}
	}
	return true;
}

afk yı spec atma

Gönderilme zamanı: Cmt Eyl 18, 2021 3:17 pm
gönderen viperxnull
yok dostum çalışmadı