搜索
查看: 5290|回复: 9

求助,read_data()用法?(已解决)

[复制链接]
发表于 2009-10-4 08:35:02 | 显示全部楼层 |阅读模式 来自 日本–东京都
本帖最后由 cityhonghu 于 2009-10-6 08:34 编辑

看说明read_data()是从客户端信息返回数组/值。
请问都有些什么信息呢?给一个链接也可以。

谢谢。

另read_data(1)好像是杀手的id,那么被杀者的id是不是为read_data(2)呢?
发表于 2009-10-4 09:35:04 | 显示全部楼层 来自 中国–福建–漳州
read_data是从消息中读取参数,所以,不同的消息(事件),其意义是不同的。
回复

使用道具 举报

发表于 2009-10-4 09:44:23 | 显示全部楼层 来自 中国–福建–漳州
常用的消息(事件)可以参考这个页面:
http://wiki.amxmodx.org/Half-Life_1_Game_Events

比如说,消息(事件) CurWeapon 的结构是
byte  IsActive  
byte  WeaponID  
byte  ClipAmmo  
则 read_data(1)表示所换的枪是否是激活状态;read_data(2)获取的是枪的ID;read_data(3)则是弹药的数量。

又比如,消息(事件) DeathMsg 的结构是
byte  KillerID  
byte  VictimID  
byte  IsHeadshot  
string  TruncatedWeaponName

则 read_data(1)表示杀人者的ID;read_data(2)表示被杀者的ID;read_data(3)表示是否是爆头;read_data(4, wpn_name, 31),获得的wpn_name则是武器名(被截短的,即已经去掉“weapon_”前缀)。
回复

使用道具 举报

发表于 2009-10-4 09:52:50 | 显示全部楼层 来自 中国–福建–漳州
本帖最后由 Rulzy 于 2009-10-4 09:55 编辑

又例如,消息(事件) BarTime 的结构是
short  Duration
则read_data(1)表示显示进度条从0%到100%要花费的时间。由于T埋C4是3秒,CT有钳子拆C4是5秒,没有钳子拆C4是10秒,所以,在这个事件中,如果read_data(1)等于3,则表示是土匪开始放C4;read_data(1)等5,则是CT开始使用钳子拆C4;read_data(1)等10,则是CT无钳子开始拆C4。
回复

使用道具 举报

 楼主| 发表于 2009-10-4 11:57:32 | 显示全部楼层 来自 日本–东京都
谢谢rulzy版大,慢慢消化消化。
回复

使用道具 举报

发表于 2009-10-4 22:07:27 | 显示全部楼层 来自 中国–江苏–南京
来慢慢吸收知识
回复

使用道具 举报

发表于 2009-10-5 17:19:57 | 显示全部楼层 来自 中国–广东–汕尾
版主说话就是不一样!
收藏起来,学习!
回复

使用道具 举报

 楼主| 发表于 2009-10-5 18:55:18 | 显示全部楼层 来自 日本–东京都
DeathMsg中,如果使用user_kill(id)来杀死玩家,是否(killerID == victimID)呢?
如果使用client_cmd(id,"kill")的话,又会怎么样呢?
回复

使用道具 举报

发表于 2009-10-5 21:33:47 | 显示全部楼层 来自 中国–福建–漳州
其实你测试一下就知道了啊,在事件过程中添加一个server_print之类的,显示出变量的值就行了。
如果我没记错的话,不管是user_kill(id)还是client_cmd(id,"kill"),DeathMsg事件中killer应该都是0。
回复

使用道具 举报

 楼主| 发表于 2009-10-6 05:40:24 | 显示全部楼层 来自 日本–东京都
怎么没想到这个方法呢。。。谢谢版大。
回复

使用道具 举报

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

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