Leya 发表于 2008-8-24 04:45:45

CS_bug_fix_misc 修正BUG功能


/*************************************************
* amxmodx插件 amxmodx 1.71,1.75 测试通过
* CS_bug_fix_misc.sma 一些 cs bug 修正功能
*
* 来源: http://cs-friends.com.cn
* 作者:iG_os ,version 0.4.16 2006-5-24 18:53
*1,
* 当玩家死亡后,代替在玩家控制台输入 sepc_menu 0
* 解决死亡瞬间按下“蹲“键,键盘无法使用问题
* 使用方法:直接使用,无参数
*
*2,
* 修复服务器踢人显示 svc bad 错误 //未测试
*3,
* 解决当客户端执行 "fullupdate" 命令时,

* 注意:此插件必须安装在 plugins.ini 第一个位置
*************************************************/

#include <amxmodx>
#define PLUGIN"CS_bug_fix_misc"
#define VERSION "0.4.16"
#define AUTHOR"iG_os"

public plugin_init()
   
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
   register_event("DeathMsg", "death_msg", "a")
   register_cvar("sv_cl_dlmax","80")
   register_clcmd("fullupdate","fullupdate")
}

/*
*当玩家死亡后,代替在玩家控制台输入 sepc_menu 0
*解决死亡瞬间按下“蹲“键,键盘无法使用问题
*/
public death_msg()
{
   if (read_data(1))
      set_task(3.0, "spec_menu_fix", read_data(2))
   returnPLUGIN_CONTINUE
}

public spec_menu_fix(id)
{
   if (is_user_connected(id) && !is_user_alive(id))
   {
      client_cmd(id,"spec_menu 0")   //原本应该只设置这一项时就可以了,
               //实际,要玩家要按一次进控制台再回来才用效?
      client_cmd(id,"+showscores")   //
      client_cmd(id,"-showscores")   //后来设置多一项后,就可以了,测试成功
      //client_print(id,print_chat,"set spec_menu 0 ")
   }
}

/*
修复服务器踢人显示 svc bad 错误 //未测试
may be SVC_BAD Fix
http://shero.rocks-hideout.com/forums/viewtopic.php?t=1557
*/
public client_connect(id)
{
   client_cmd(id,"cl_dlmax %d", get_cvar_num("sv_cl_dlmax"))
}

public client_authorized(id)
{
   client_cmd(id,"cl_dlmax %d", get_cvar_num("sv_cl_dlmax"))
}

/*
解决当客户端执行 "fullupdate" 命令时,
导致 resetHUD 时间触发,引起服务器 crash 问题
此插件必须安装在第一个位置 plugins.ini
*/
public fullupdate(id)
{
   new logfile
   get_localinfo("amxx_logdir",logfile,127)
   format(logfile,127,"%s/fullupdate.log",logfile)
   new authid, name, team
   new userid = get_user_userid(id)
   get_user_name(id,name,31)
   get_user_authid(id,authid,34)
   get_user_team(id,team,31)
   log_to_file(logfile, "^"%s<%d><%s><%s>^" user attempted to use ^"fullupdate^"",name,userid,authid,team)
   return PLUGIN_HANDLED
}


页: [1]
查看完整版本: CS_bug_fix_misc 修正BUG功能