搜索
查看: 6481|回复: 15

有关query_client_cvar

[复制链接]
发表于 2008-5-18 12:35:08 | 显示全部楼层 |阅读模式 来自 中国–广东–深圳–宝安区
主要是下面的一段代码
new Float:gVolume[33]

public client_connect(id) {
if(!is_user_bot(id)) {
query_client_cvar(id , "volume" , "cvar_result");
}
}
public cvar_result(id, const cvar[] , const value[]) {
gVolume[id] = str_to_float(value);
}
附件he_damage_effect.sma是可以正常运行的,但是无法恢复玩家正常的音量。
插件的功能是被炸后暂时耳朵听不到声音,一段时间后恢复正常。

如果加上上面的代码后,he_damage_effect_debug.sma,玩家就进不了服务器,
控制台提示Not Present on Client 58。。
请问是什么原因。


下面的代码是帮助文档中的例子,只加载文档中的例子的插件,情况跟上面的一样。,玩家就进不了服务器,
控制台提示Not Present on Client 58。。
[php]

Example plugin:
Log the value of the rate cvar of all connecting users

#include <amxmodx>
public plugin_init() {
register_plugin("test", "1", "PM")

}
public client_connect(id) {
if (!is_user_bot(id))
query_client_cvar(id, "rate", "cvar_result_func");
}
public cvar_result_func(id, const cvar[], const value[])
{
new name[32];
get_user_name(id, name, 31);

log_amx("Client %d(%s)'s rate is ^"%s^"", id, name, value);
}






Logged output:
L 09/07/2005 - 11:42:25: [test.amxx] Client 1(psychedelic hampster)'s rate is "15000"

[/php]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
发表于 2008-5-18 14:16:24 | 显示全部楼层 来自 中国–湖北–天门

回复: 有关query_client_cvar

呵呵……这个插件我也研究过 一直被这个音量为零困扰  官网这个插件的作者都没解决这个问题  我是直接去掉了改变音量 用CS:S那个闪光声音替代手雷爆炸后音效 震动设为1秒
回复

使用道具 举报

 楼主| 发表于 2008-5-18 14:20:31 | 显示全部楼层 来自 中国–广东–深圳–宝安区

回复: 有关query_client_cvar

Post by aiyingkoko
  音量为零   

?  好像有声音吧。。不过声音很难听,耳朵很不舒服。

Post by aiyingkoko
  
用CS:S那个闪光声音替代手雷爆炸后音效 震动设为1秒
   


楼主能否告诉方法?把声音文件传上来?
回复

使用道具 举报

发表于 2008-5-18 14:29:06 | 显示全部楼层 来自 中国–福建–龙岩

回复: 有关query_client_cvar

The function uses a pretty new engine function (added around Aug 11, 2005). Therefore it may cause a native error on out-of-date servers.
It also uses newdll functions; metamod (at least 1.18) doesn't provide newdll function table hooking for plugins if the mod gamedll doesn't export newdll functions.
This is fixed in metamod-1.18p26 by ghost_of_evilspy (hullu). [ http://sourceforge.net/projects/metamod-p ]
query_client_cvar的使用条件如上,也就是服务器v3213以上,metamod v1.18以上

he_damage_effect.sma声音无法恢复是因为你已经定义了:
#define DEFAULT_VOLUME 0.5

而CS默认volume值是0.8,所以当然恢复不了
回复

使用道具 举报

 楼主| 发表于 2008-5-18 14:39:03 | 显示全部楼层 来自 中国–广东–深圳–宝安区

回复: 有关query_client_cvar

Post by Arvy
query_client_cvar的使用条件如上,也就是服务器v3213以上,metamod v1.18以上

he_damage_effect.sma声音无法恢复是因为你已经定义了:

而CS默认volume值是...

感谢你的回复。

解释一下:
1 我的服务器是3647的,MM v1.19p32,客户端也是3647的。
2 我没说清楚,我的意思是恢复玩家自己设定的声音大小,例如我的客户端设置是0.5。
所以我才去读客户端的设定值,被手雷炸后恢复成玩家自己设定的值。。
我把default设置成0.5,已经把代码改了只是为了说明其他部分代码没问题。
问题在于读取玩家的设置。。
回复

使用道具 举报

发表于 2008-5-18 14:50:49 | 显示全部楼层 来自 中国–湖北–天门

回复: 有关query_client_cvar

试试我的这个,不知道效果怎么样!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
回复

使用道具 举报

 楼主| 发表于 2008-5-18 15:02:31 | 显示全部楼层 来自 中国–广东–深圳–宝安区

回复: 有关query_client_cvar

Post by aiyingkoko
试试我的这个,不知道效果怎么样!!!

你换成public client_authorized(id)这个就可以了?我试试。多谢。
回复

使用道具 举报

发表于 2008-5-18 15:40:45 | 显示全部楼层 来自 中国–福建–龙岩

回复: 有关query_client_cvar

把MM换成1.18p26或者官方的1.18、1.19看看
我测试he_damage_effect_debug.sma完全没有问题

服务器3647,MM官方1.19
回复

使用道具 举报

 楼主| 发表于 2008-5-18 23:12:18 | 显示全部楼层 来自 中国–广东–深圳–宝安区

回复: 有关query_client_cvar

Post by Arvy
把MM换成1.18p26或者官方的1.18、1.19看看
我测试he_damage_effect_debug.sma完全没有问题

服务器3647,MM官方1.19

用了官方的MM官方1.19还是老样子。郁闷。。
回复

使用道具 举报

发表于 2008-5-19 11:47:00 | 显示全部楼层 来自 中国–广东–惠州–惠城区

回复: 有关query_client_cvar

这个问题我在官方问过,说不支持no-steam,AMXX1.60可以,1.70以上不能用在no-steam服务器,008那个反作弊插件就是因为这个函数的问题一直不支持AMXX1.70以上的版本.
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表