Yea, that's because I'm so blind... So stupid and dumb at all. Sorry for all these useless tries, this already works
Go on:
PHP Code:
#include <amxmodx>
#include <cstrike>
#define WARNING_TIME 15 // Start warning the user this many seconds before they are about to be trasfered to spectator.
#define CHECK_FREQ 5 // This is also the warning message frequency.
new g_oldangles[33][3]
new g_afktime[33]
new bool:g_spawned[33] = {true, ...}
public plugin_init() {
register_plugin("AFK Kicker","1.0b","Cheesy Peteza")
register_cvar("afk_version", "1.0b", FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)
set_task(float(CHECK_FREQ),"checkPlayers",_,_,_,"b")
register_event("ResetHUD", "playerSpawned", "be")
}
public checkPlayers() {
for (new i = 1; i <= get_maxplayers(); i++) {
if (is_user_alive(i) && is_user_connected(i) && !is_user_bot(i) && !is_user_hltv(i) && g_spawned[i]) {
new newangle[3]
get_user_origin(i, newangle)
if ( newangle[0] == g_oldangles[i][0] && newangle[1] == g_oldangles[i][1] && newangle[2] == g_oldangles[i][2] ) {
g_afktime[i] += CHECK_FREQ
check_afktime(i)
} else {
g_oldangles[i][0] = newangle[0]
g_oldangles[i][1] = newangle[1]
g_oldangles[i][2] = newangle[2]
g_afktime[i] = 0
}
}
}
return PLUGIN_HANDLED
}
check_afktime(id) {
new maxafktime = 90
if (g_afktime[id] > maxafktime) {
new name[32]
get_user_name(id, name, 31)
client_print(0, print_chat,"%s was trasfered to spectator for being AFK longer than %i seconds", name, maxafktime)
user_kill(id, 1)
cs_set_user_team(id, CS_TEAM_SPECTATOR)
}
}
public client_connect(id)
g_afktime[id] = 0
public client_putinserver(id)
g_afktime[id] = 0
public playerSpawned(id) {
g_spawned[id] = false
g_afktime[id] = 0
new sid[1]
sid[0] = id
set_task(0.75, "delayedSpawn",_, sid, 1) // Give the player time to drop to the floor when spawning
return PLUGIN_HANDLED
}
public delayedSpawn(sid[]) {
get_user_origin(sid[0], g_oldangles[sid[0]])
g_spawned[sid[0]] = true
return PLUGIN_HANDLED
}
__________________