cityhonghu 发表于 2009-10-4 08:35:02

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

本帖最后由 cityhonghu 于 2009-10-6 08:34 编辑

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

谢谢。

另read_data(1)好像是杀手的id,那么被杀者的id是不是为read_data(2)呢?

Rulzy 发表于 2009-10-4 09:35:04

read_data是从消息中读取参数,所以,不同的消息(事件),其意义是不同的。

Rulzy 发表于 2009-10-4 09:44:23

常用的消息(事件)可以参考这个页面:
http://wiki.amxmodx.org/Half-Life_1_Game_Events

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

又比如,消息(事件) DeathMsg 的结构是
byteKillerID
byteVictimID
byteIsHeadshot
stringTruncatedWeaponName

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

Rulzy 发表于 2009-10-4 09:52:50

本帖最后由 Rulzy 于 2009-10-4 09:55 编辑

又例如,消息(事件) BarTime 的结构是
shortDuration
则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。

cityhonghu 发表于 2009-10-4 11:57:32

谢谢rulzy版大,慢慢消化消化。

asa366 发表于 2009-10-4 22:07:27

来慢慢吸收知识

xp200798 发表于 2009-10-5 17:19:57

版主说话就是不一样!
收藏起来,学习!

cityhonghu 发表于 2009-10-5 18:55:18

DeathMsg中,如果使用user_kill(id)来杀死玩家,是否(killerID == victimID)呢?
如果使用client_cmd(id,"kill")的话,又会怎么样呢?

Rulzy 发表于 2009-10-5 21:33:47

其实你测试一下就知道了啊,在事件过程中添加一个server_print之类的,显示出变量的值就行了。
如果我没记错的话,不管是user_kill(id)还是client_cmd(id,"kill"),DeathMsg事件中killer应该都是0。

cityhonghu 发表于 2009-10-6 05:40:24

怎么没想到这个方法呢。。。谢谢版大。
页: [1]
查看完整版本: 求助,read_data()用法?(已解决)