【共享】Amx Mod X 1.76a+ (个人修改版)
提供一个函数: query_client_cvar_old()native query_client_cvar_old(id, const cvar[], const resultFunc[], paramlen=0, const params[] = "");
当前只有 win32 版本, 无 linux & amd64 版本。
注意:
由于该函数有缺陷,amxx 新版本已经不包含。我编写的该函数:完全按照队列询问客户端的变量;对每一个客户端,是逐个询问。如果上次询问未完成,将往后排队。由于该函数的缺陷, 如果不如此排队,将无法判断客户端返回的数据是你询问的哪一个。
client cs 版本 低于 3382 不返回无效的询问。处理该问题时, 我使用等待客户端在 0.6秒 内是否返回。如果不返回,该询问出列,继续后面的询问。 当然该函数只能在高于 3213 中使用。为 3382 版本时,碰到无效变量询问则返回
"Bad CVAR request" 该字符串。
根据上面,在使用该函数时,注意询问的变量在客户端能是否返回。如果不能, 则需要等待 0.6 秒才能对客户端进行队列中下一个询问。 这影响 resultFunc[] 的调用时间。
【用法】:
在 amxmodx.inc 添加上面的 native 函数。函数用法跟 query_client_cvar() 一样。
ps: 3382 中请使用 query_client_cvar() 。本人认为 0.6秒 等待客户端返回应该够了, 不知大家观点如何。
回复: 【共享】Amx Mod X 1.76a+ (个人修改版)
对2834呢......?回复: 【共享】Amx Mod X 1.76a+ (个人修改版)
Post by 如花对2834呢......?
对 2834 应该是一样的。 没有返回, 没有调用返回函数。
回复: 【共享】Amx Mod X 1.76a+ (个人修改版)
呵呵.....好.::回复: 【共享】Amx Mod X 1.76a+ (个人修改版)
强啊。。。。。运行1.76a一段时间,我的服务器出错频繁了,1.76可能有点问题
回复: 【共享】Amx Mod X 1.76a+ (个人修改版)
我用1.76a没什么问题,不过还是把这个换上了,先试试看有没有问题。问题一:用1.76a的时候,Leon008_anticheat 2.2一点用处都没有,换上这个后,能把低于3213版本的用户踢出,能把不是CD4.33.4和CD4.32.0的用户踢出,但是还不能正确检测出客户的CD版本号
回复: 【共享】Amx Mod X 1.76a+ (个人修改版)
Post by dantes001我用1.76a没什么问题,不过还是把这个换上了,先试试看有没有问题。
问题一:用1.76a的时候,Leon008_anticheat 2.2一点用处都没有,换上这个后,能把低于3213版本的用户踢出,能把不是CD4.33.4和CD4.32.0的用户踢出,但是还不能正确检测出客户的CD版本号
Leon008_anticheat 2.2 的 中又没有使用这个函数。能否取得CD 版本, 与 1.76a \ 1.76a+ 无关。
应该可以取到的。 如果玩家的 ping 太大了,0.6 秒时间不够, 才取不到。
页:
[1]