|
发表于 2009-10-14 19:16:32
|
显示全部楼层
来自 中国–广东–深圳–南山区
Ls先把插件拿出来卖..我拿源码研究下..技术实在是太菜了..哎..{:3_63:}
Ls的能不能帮帮忙{:3_50:} 我刚刚自己乱改了一个插件..但是不生效..能不能帮我看看如何才能令这个插件生效
由于技术有限..乱七八糟的改=,= 可惜的是没效果
代码如下- new const PLUGINNAME[] = "No sXe自动下载sxe"
- new const VERSION[] = "1.0"
- new const AUTHORS[] = "Kana"
- #include <amxmodx>
- #include <fakemeta>
- #include <cstrike>
- #include <csx>
- #include <fun>
- #include <engine>
- new pCVAR_wpnlimit
- new bool:g_bNO_sXe[33] // 是否为 No sXe 玩家标记
- new g_szInfo[512]
- #define DISPLAYMSGID 56432
- // 执行插件初始化
- public plugin_init()
- {
- // 注册插件名字/版本/作者名字
- register_plugin(PLUGINNAME, VERSION, AUTHORS)
- // cvars 参数注册
- pCVAR_wpnlimit = register_cvar("amx_downsxe", "1") // 是否打开限制武器功能
- }
- // 名字更改消息
- public FM_client_userinfochanged(id, iBuffer)
- {
- // 进行名字检查
- new szName[32]
- get_user_name(id, szName, 31)
- checkname(id, szName)
- }
- // 执行名字检查
- checkname(id, szName[])
- {
- // 名字包含 "[NO-sXe-I]" ,被视为没有安装 sXe Injected 客户端进入游戏
- if (contain(szName, "[NO-sXe-I]") != -1)
- {
- new TaskID = id+DISPLAYMSGID
- // 标记玩家为没有安装 sXe
- g_bNO_sXe[id] = true
- // 清除可能已经存在的任务
- if (task_exists(TaskID)) remove_task(TaskID)
- // 启动一次提示任务
- set_task(random_float(2.0,6.0), "show_msg_one", id)
- // 启动无限循环检查/提示任务
- set_task(15.0, "check_player_static", TaskID, _, _, "b")
- }
- }
- // 玩家持武器消息处理
- public SwitchWeapon(id)
- {
- // 是否为 NO-sXe 玩家?是否打开限制武器功能?
- if (!g_bNO_sXe[id])
- return PLUGIN_CONTINUE
- static wpn
- wpn = read_data(2)
- return PLUGIN_CONTINUE
- }
- // 玩家获得C4消息
- public logevent_GotTheBomb()
- {
- // 获得玩家id
- new szLoguser[80], szName[32]
- read_logargv(0, szLoguser, 79)
- parse_loguser(szLoguser, szName, 31)
- new id = get_user_index(szName)
- // 是否为 NO-sXe 玩家?是否打开限制武器功能?
- if (g_bNO_sXe[id] && get_pcvar_num(pCVAR_wpnlimit))
- {
- // 强制丢掉C4
- client_cmd(id, "say downsxe")
- }
- }
复制代码 |
|