Modificare Afk Slayer

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
Tumpach
Membru, skill 0
Membru, skill 0
Posts: 22
Joined: 13 Apr 2011, 03:56
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Has thanked: 13 times
Been thanked: 1 time
Contact:

21 Dec 2013, 22:55

Numele: Afk slayer
Editari: Vreau sa numai primesc slay aiurea, prima data pluginu ia in considerare cele 32 de secunde puse de mine si dupa imi da slay la fiecare inceput de runda, as dori sa tina cont tot timpu de cele 32 de secunde.

Am incercat : amx_slay , slay , client_cmd(id, "kill") , user_silentkill(id) , user_kill(id);
Plugin original :
| Afiseaza codul
/*
*
*	Author:	 Cheesy Peteza
*	Date:	 18-Mar-2004
*
*
*	Description:	A generic AFK Kicker that should work with nearly all Half-Life mods.
*	 Tested with Natural-Selection v3.0 beta 3, Counter-Strike 1.6 and Day of Defeat.
*
*	Cvars:
*	 mp_afktime 90	 Time a player is allowed to be AFK in seconds before they are kicked. (minimum 30 sec)
*	 They time is only accumulated while they are alive.
*	 mp_afkminplayers 8	Minimum number of players required to be on the server before the plugin starts kicking.
*
*
*	Requirements:	AMXModX
*
*
*/

#include <amxmodx>

#define MIN_AFK_TIME 30	 // I use this incase stupid admins accidentally set mp_afktime to something silly.
#define WARNING_TIME 15	 // Start warning the user this many seconds before they are about to be kicked.
#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)

register_cvar("mp_afktime", "90")	// Kick people AFK longer than this time
register_cvar("mp_afkminplayers", "8")	// Only kick AFKs when there is atleast this many players on the server
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) {
new newangle[3]
get_user_origin(i, newangle)

if ( newangle[0] == g_oldangles[0] && newangle[1] == g_oldangles[1] && newangle[2] == g_oldangles[2] ) {
g_afktime += CHECK_FREQ
check_afktime(i)
} else {
g_oldangles[0] = newangle[0]
g_oldangles[1] = newangle[1]
g_oldangles[2] = newangle[2]
g_afktime = 0
}
}
}
return PLUGIN_HANDLED
}

check_afktime(id) {
new numplayers = get_playersnum()
new minplayers = get_cvar_num("mp_afkminplayers")

if (numplayers >= minplayers) {
new maxafktime = get_cvar_num("mp_afktime")
if (maxafktime < MIN_AFK_TIME) {
log_amx("cvar mp_afktime %i is too low. Minimum value is %i.", maxafktime, MIN_AFK_TIME)
maxafktime = MIN_AFK_TIME
set_cvar_num("mp_afktime", MIN_AFK_TIME)
}

if ( maxafktime-WARNING_TIME <= g_afktime[id] < maxafktime) {
new timeleft = maxafktime - g_afktime[id]
client_print(id, print_chat, "[AFK Kicker] You have %i seconds to move or you will be kicked for being AFK", timeleft)
} else if (g_afktime[id] > maxafktime) {
new name[32]
get_user_name(id, name, 31)
client_print(0, print_chat, "[AFK Kicker] %s was kicked for being AFK longer than %i seconds", name, maxafktime)
log_amx("%s was kicked for being AFK longer than %i seconds", name, maxafktime)
server_cmd("kick #%d ^"You were kicked for being AFK longer than %i seconds^"", get_user_userid(id), maxafktime)
}
}
}

public client_connect(id) {
g_afktime[id] = 0
return PLUGIN_HANDLED
}

public client_putinserver(id) {
g_afktime[id] = 0
return PLUGIN_HANDLED
}

public playerSpawned(id) {
g_spawned[id] = false
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
}

Plugin editat :
| Afiseaza codul
/*
*
*	Author:	 Cheesy Peteza
*	Date:	 18-Mar-2004
*
*
*	Description:	A generic AFK Kicker that should work with nearly all Half-Life mods.
*	 Tested with Natural-Selection v3.0 beta 3, Counter-Strike 1.6 and Day of Defeat.
*
*	Cvars:
*	 mp_afktime 90	 Time a player is allowed to be AFK in seconds before they are kicked. (minimum 30 sec)
*	 They time is only accumulated while they are alive.
*	 mp_afkminplayers 8	Minimum number of players required to be on the server before the plugin starts kicking.
*
*
*	Requirements:	AMXModX
*
*
*/

#include <amxmodx>

#define MIN_AFK_TIME 30	 // I use this incase stupid admins accidentally set mp_afktime to something silly.
#define WARNING_TIME 15	 // Start warning the user this many seconds before they are about to be kicked.
#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 Slay","1.0b","Cheesy Peteza") 
register_cvar("afk_version", "1.0b", FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)

register_cvar("mp_afktime", "32")	// Kick people AFK longer than this time
register_cvar("mp_afkminplayers", "4")	// Only kick AFKs when there is atleast this many players on the server
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) {
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 numplayers = get_playersnum()
new minplayers = get_cvar_num("mp_afkminplayers")

if (numplayers >= minplayers) {
new maxafktime = get_cvar_num("mp_afktime")
if (maxafktime < MIN_AFK_TIME) {
log_amx("cvar mp_afktime %i is too low. Minimum value is %i.", maxafktime, MIN_AFK_TIME)
maxafktime = MIN_AFK_TIME
set_cvar_num("mp_afktime", MIN_AFK_TIME)
}

if ( maxafktime-WARNING_TIME <= g_afktime[id] < maxafktime) {
new timeleft = maxafktime - g_afktime[id]
client_print(id, print_chat, "[Slay] You have %i seconds to move or you will be slay for being AFK", timeleft)
} else if (g_afktime[id] > maxafktime) {
new name[32]
get_user_name(id, name, 31)
client_print(0, print_chat, "[Slay] %s was slay for being AFK longer than %i seconds", name, maxafktime)
log_amx("%s was slay for being AFK longer than %i seconds", name, maxafktime)
user_silentkill(id)
}
}
}

public client_connect(id) {
g_afktime[id] = 0
return PLUGIN_HANDLED
}

public client_putinserver(id) {
g_afktime[id] = 0
return PLUGIN_HANDLED
}

public playerSpawned(id) {
g_spawned[id] = false
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
}
Last edited by Tumpach on 22 Dec 2013, 05:11, edited 1 time in total.
Rapidserver
Tumpach
Membru, skill 0
Membru, skill 0
Posts: 22
Joined: 13 Apr 2011, 03:56
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Has thanked: 13 times
Been thanked: 1 time
Contact:

22 Dec 2013, 05:10

Consola :

Asta e prima runda :
[Slay] You have 12 seconds to move or you will be slay for being AFK
[Slay] You have 7 seconds to move or you will be slay for being AFK
[Slay] You have 2 seconds to move or you will be slay for being AFK
[Slay] Player was slay for being AFK longer than 32 second
Player died

Asta e a doua runda :
[Slay] You have 2 seconds to move or you will be slay for being AFK
[Slay] Player was slay for being AFK longer than 32 seconds
Player died

Din a doua runda incepe imediat sa te omoare cum incepe runda.
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 9 guests