apocalyptic 发表于 2008-3-2 22:23:28

关于尸体坐标和视角倾斜度的问题

问题1:
众所周知,一个玩家被打死之后倒在地上,过几秒钟他的尸体会稍微有少许的挪动,从人物倒卧的样子变成真正尸体的样子(希望这样的表达比较清楚)。在以前的鞭尸处罚插件中(http://www.dt-club.net/forum/thread/71/25139.htm?highlight=%E9%9E%AD%E5%B0%B8),判断尸体的坐标是获取玩家死亡瞬间的坐标,这样或多或少会有一些误差(例如被HE炸飞的人尸体会落在比较远的地方)。有没有办法获取尸体的坐标?这样就可以进一步精确判断了。

问题2:
在游戏中玩家必定向各个方向挪动鼠标来调整视角的方向,有没有办法获取玩家的视角倾斜度?这样就可以有助于判断玩家是向地面还是向墙壁喷图了。

谢谢大家的帮助!

Rulzy 发表于 2008-3-3 12:37:17

回复: 关于尸体坐标和视角倾斜度的问题

第二个问题:
new Float:view
entity_get_vector(id, EV_VEC_v_angle, view);

view中具体是哪个代表视角倾斜度忘了,好像是view代表水平上的方向,view代表视角高低,view代表倾斜角度(这个一般来说总是90度)。你需要的应该是view。

角度的单位好像是度。

apocalyptic 发表于 2008-3-3 17:44:58

回复: 关于尸体坐标和视角倾斜度的问题

谢谢版主!技术高心肠好!
进一步的疑问:
从字面上看,这个函数是获取某个实体的方向的。在官方网站上,这个函数的格式是:
entity_get_vector ( entity, key, Float:Vector )
跟你提供的不太一样。我想获得玩家的坐标指向,是否应该把玩家编号(player index,取值范围1~32)代入entity?
我查看过Engine.ini文件,里面有一个Entity Vector Constants (实体向量常数表?),里面有一个EV_VEC_v_angle的,不知道这个应该怎样用?请版主再次指导。再次感谢指导!

Rulzy 发表于 2008-3-3 21:39:28

回复: 关于尸体坐标和视角倾斜度的问题

是我少写了个参数,已修正。

apocalyptic 发表于 2008-3-3 23:44:59

回复: 关于尸体坐标和视角倾斜度的问题

谢谢,这次一目了然了。

apocalyptic 发表于 2008-3-5 12:19:32

回复: 关于尸体坐标和视角倾斜度的问题

对Rulzy版主提供的资料,我有话要补充:
按照
new Float:view
entity_get_vector(id, EV_VEC_v_angle, view)
的格式获取玩家视角,正确的应该是:
view代表玩家视角的俯仰程度,水平为0,俯视为正数,仰视为负数,取值范围-88.94750~88.94750,单位为角度,也就说,不可能出现垂直90度的俯仰角度。
view代表玩家在水平面上的角度,取值范围0~359.99999。
view代表玩家的倾斜度,很多老玩家都记得,在较早版本的CS里面,人物死亡之后会倒卧在一边,这时候view才会变化,否则一直保持为0。

这不是抓辫子挑毛病,只是本着客观求是的原则把测试结果告诉大家,请版主不要介意。:burn:

Rulzy 发表于 2008-3-5 15:54:19

回复: 关于尸体坐标和视角倾斜度的问题

呵呵,我前面研究过,后来很久不用它了,所以忘了具体的东东了。谢谢补充。

zwfgdlc 发表于 2008-3-5 16:08:29

回复: 关于尸体坐标和视角倾斜度的问题

这个问题可不可以用

register_forward(FM_TraceLine,"fwd_TraceLine")

解决,

apocalyptic 发表于 2008-3-5 16:35:08

回复: 关于尸体坐标和视角倾斜度的问题

开始我觉得很奇怪,要表示三维空间中一个向量的方向,只需要两个角度就可以(一个XY轴平面的角度和一个Z轴上的俯仰角度)。后来才知道还有一个视野倾角,呵呵!

vseany 发表于 2008-3-17 09:27:16

回复: 关于尸体坐标和视角倾斜度的问题

好东西 学习中 .............
页: [1]
查看完整版本: 关于尸体坐标和视角倾斜度的问题