自动开关SXE
本帖最后由 weyoung 于 2010-9-9 16:23 编辑自己的混战F,考虑到白天娱乐的人较少,所以没有强制开户SXE,但晚上高峰期,则要求强制开户SXE,以提高混F的质量。
使用前需要在amxx.cfg中添加两个参数:
new sxe_start_time //强制SXE开启的开始时间,比如1900
new sxe_end_time //强制SXE开启的结束时间,比如2300
上面的配置后,19点~24点之间,就会强制要求玩家开户SXE,其它时间则默认是不强制。 源代码:
#include <amxmodx>
#include <cstrike>
#include <amxmisc>
#include <fun>
#define PLUGIN_NAME "自动开启SXE"
#define PLUGIN_VERSION "0.1"
#define PLUGIN_AUTHOR "DNA"
#define CHECK_FREQ 60
new sxe_start_time //强制SXE开启的开始时间
new sxe_end_time //强制SXE开启的结束时间
public plugin_init() {
sxe_start_time = register_cvar("amx_sxe_start_time", "0700")
sxe_end_time = register_cvar("amx_sxe_end_time", "2359")
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
set_task(float(CHECK_FREQ), "checkSxe", _, _, _, "b")
}
public checkSxe() {
new msg_buffer
new CurrentTime
new iSxe = get_cvar_num("__sxei_required")
get_time("%H%M", CurrentTime, 4)
format(msg_buffer, 100, "__sxei_required 当前值 %d", iSxe)
new iTime = str_to_num(CurrentTime)
if ( iTime >= get_pcvar_num(sxe_start_time) && iTime <= get_pcvar_num(sxe_end_time)) {
if (iSxe != 1) {
set_cvar_num("__sxei_required", 1)
format(msg_buffer, 100, "每天娱乐高峰期,强制要求开启SXE!当前时间 %s", CurrentTime)
log_amx(msg_buffer)
client_print(0, print_chat, msg_buffer)
}
} else {
if ( iSxe != 0 ) {
set_cvar_num("__sxei_required", 0)
format(msg_buffer, 100, "非高峰期,不强制要求SXE!当前时间 %s", CurrentTime)
log_amx(msg_buffer)
client_print(0, print_chat, msg_buffer)
}
}
return PLUGIN_HANDLED
} 不错的插件 好东西,顶一下 {:2_32:}这个是好东西啊~~! 创意不错啊 楼主想法不错 值得学习 很不错!!!@ 很好的插件 标题都写错了,应该是“自动开关SXE”。