凌雪无晴 发表于 2008-4-21 12:13:09

回复: 本人汉化,个人认为有相当实际用意的插件,相当有效。《踢除不动的玩家》

/*
*
* 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 90Time 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
new g_afktime
new bool:g_spawned = {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", "60") // 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
   get_user_origin(i, newangle)
   if ( newangle == g_oldangles && newangle == g_oldangles && newangle == g_oldangles ) {
    g_afktime += CHECK_FREQ
    check_afktime(i)
   } else {
    g_oldangles = newangle
    g_oldangles = newangle
    g_oldangles = newangle
    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 < maxafktime) {
   new timeleft = maxafktime - g_afktime
   client_print(id, print_chat, "[ 提示 ] :你如果在不移动,服务器在剩余 %i 秒把你踢出,请移动位置。", timeleft)
} else if (g_afktime > maxafktime) {
   new name
   get_user_name(id, name, 31)
   client_print(0, print_chat, "[ 提示 ] : %s 在 %i 秒内一直处于不动状态,服务器自动踢出。", name, maxafktime)
   log_amx("%s was kicked for being AFK longer than %i seconds", name, maxafktime)
   server_cmd("kick #%d ^"你在 %i 秒内一直不动,服务器自动把你踢出^"", get_user_userid(id), maxafktime)
}
}
}
public client_connect(id) {
g_afktime = 0
return PLUGIN_HANDLED
}
public client_putinserver(id) {
g_afktime = 0
return PLUGIN_HANDLED
}
public playerSpawned(id) {
g_spawned = false
new sid
sid = 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, g_oldangles])
g_spawned] = true
return PLUGIN_HANDLED


好象没读设置时间,而且默认是30秒!

llfac 发表于 2008-4-21 18:56:34

回复: 本人汉化,个人认为有相当实际用意的插件,相当有效。《踢除不动的玩家》

现在好像没人 照顾 下1.5了啊

gxmini 发表于 2008-4-28 19:48:59

回复: 本人汉化,个人认为有相当实际用意的插件,相当有效。《踢除不动的玩家》

汉化得不错
支持LZ了

wei1986715 发表于 2008-4-29 11:29:31

回复: 本人汉化,个人认为有相当实际用意的插件,相当有效。《踢除不动的玩家》

收藏备用。。。。。。。。。。。支持了

liuyan332211 发表于 2008-5-8 14:33:40

回复: 本人汉化,个人认为有相当实际用意的插件,相当有效。《踢除不动的玩家》

恩,试试看,应该不错的,多谢楼主了。

Cr@zyTreE 发表于 2008-5-10 12:07:56

回复: 本人汉化,个人认为有相当实际用意的插件,相当有效。《踢除不动的玩家》

Post by yzmzx
问:这类插件论坛上不是有很多人发布过了?你怎么还发?
答:是,论坛是有很多垃圾,都TMD不取作用,我都试过了。

问:这个和其他的版本有什么区别?
答:现在这个很个性化,用过后你就知道了。


现在这个插件我用了很久了,是在一国外网站上找的,自己汉化。以前用论坛里的很多版本都不行,不会自动踢除不动的玩家,真的恼火。

希望现在这个插件对大家有用

大家还可以配合 进服自动分配玩家插件使用。

把下面一段写在 amxx.cfg 里:
// 玩家多久不动被踢出 afk_spec.amxx
mp_afktime 90 //设订多少秒不动被踢除
mp_afkminp...

看看。


不过本人不认同你说的
“问:这类插件论坛上不是有很多人发布过了?你怎么还发?
答:是,论坛是有很多垃圾,都TMD不取作用,我都试过了。”

不同的插件使用的环境不一样。不要动不动就说什么什么lj。。

731 发表于 2008-5-10 16:39:29

回复: 本人汉化,个人认为有相当实际用意的插件,相当有效。《踢除不动的玩家》

这个插件有不足之处!就是M6 的不会T

SWBLF 发表于 2008-7-9 21:26:22

回复: 本人汉化,个人认为有相当实际用意的插件,相当有效。《踢除不动的玩家》

没有任何修改,为何楼主提供源码编译出错?
//AMXXPC compile.exe
// by the AMX Mod X Dev Team

//// afk_spec.sma
// D:\cstrike\addons\amxmodx\scripting\afk_spec.sma(1) : error 010: invali
d function or declaration
//
// 1 Error.
// Could not locate output file compiled\afk_spec.amx (compile failed).
//
// Compilation Time: 0.11 sec
// ----------------------------------------
Press enter to exit ...

狙神wmQ 发表于 2008-7-10 13:40:17

回复: 本人汉化,个人认为有相当实际用意的插件,相当有效。《踢除不动的玩家》

Post by yzmzx
问:这类插件论坛上不是有很多人发布过了?你怎么还发?
答:是,论坛是有很多垃圾,都TMD不取作用,我都试过了。

问:这个和其他的版本有什么区别?
答:现在这个很个性化,用过后你就知道了。


现在这个插件我用了很久了,是在一国外网站上找的,自己汉化。以前用论坛里的很多版本都不行,不会自动踢除不动的玩家,真的恼火。

希望现在这个插件对大家有用

大家还可以配合 进服自动分配玩家插件使用。

把下面一段写在 amxx.cfg 里:
// 玩家多久不动被踢出 afk_spec.amxx
mp_afktime 90 //设订多少秒不动被踢除
mp_afkminp...


这个插件会引起服务器群踢吗?

yeren45 发表于 2008-9-30 15:14:42

回复: 本人汉化,个人认为有相当实际用意的插件,相当有效。《踢除不动的玩家》

支持楼主!!!!!!!!!!!!
页: 1 2 [3] 4 5 6 7
查看完整版本: 本人汉化,个人认为有相当实际用意的插件,相当有效。《踢除不动的玩家》