大馒头 发表于 2006-8-28 17:15:02

求一段代码?瞄准实体后,得到实体的名称

求这样一段代码

就是瞄准哪个位置,就限时哪个位置的实体名称。

谢谢。

hqzycs 发表于 2006-8-30 12:35:26

回复: 求一段代码?瞄准实体后,得到实体的名称

学习中...........

pop781 发表于 2006-9-8 23:56:00

回复: 求一段代码?瞄准实体后,得到实体的名称



new entID,body,string
get_user_aiming ( id, entID, body)
client_print(0,print_chat,"entID=%d , body=%d",re,entID, body)
if (entID){
    entity_get_string ( entID, EV_SZ_classname, string, 31 )
    client_print(0,print_chat,"EV_SZ_classname = %s",string)
}

只知道这能显示瞄准的一部分实体 entid 据说entID小于200,但墙及很多物体都显示0,有待研究

ahcat 发表于 2006-9-14 07:43:52

回复: 求一段代码?瞄准实体后,得到实体的名称

地图 不是实体. 所以, 墙不是实体.
灯光也不是.

pop781 发表于 2006-9-15 21:04:43

回复: 求一段代码?瞄准实体后,得到实体的名称

楼主需要代码。。

2006-08-28, 05:15 PM 发帖到现在。。

大馒头 发表于 2006-9-16 12:50:01

回复: 求一段代码?瞄准实体后,得到实体的名称

收下,谢谢pop781,晚上回家测试一下:)

Ryu2877 发表于 2006-10-15 15:39:45

回复: 求一段代码?瞄准实体后,得到实体的名称

这几天正在学习插件,刚好用过get_user_aiming 函数,至于该函数对于墙、柱、门等地图实体显示 0 ,
我个人理解是这个函数对于瞄准“人”的时候才会返回 该“人”的 id 及其被瞄部位;
当瞄准对象不是 “人” 的话,它返回的只是被瞄目标(点)与瞄准者之间的距离,所以显示 0。

试试下面函数:

get_user_origin(id, origin, ) //分别获得两组坐标

trace_line(ent, Float:Start, Float:End, Float:vReturn)//获得对象实体 id、终点坐标

中间记得转换浮点。。。

初学咋练,与楼主一样急需帮助,请高手们多多提点指正。。。

pop781 发表于 2006-10-15 17:14:42

回复: 求一段代码?瞄准实体后,得到实体的名称

Post by Ryu2877
这几天正在学习插件,刚好用过get_user_aiming 函数,至于该函数对于墙、柱、门等地图实体显示 0 ,
我个人理解是这个函数对于瞄准“人”的时候才会返回 该“人”的 id 及其被瞄部位;
当瞄准对象不是 “人” 的话,它返回的只是被瞄目标(点)与瞄准者之间的距离,所以显示 0。
...

不全对。。

get_user_aiming ( id, entID, body)
entID 可以返回为非player ID ,例如在de_dust2 A点平台上的几个绿色箱子,或在地上丢一把枪,再指向这些物体,即可返回 entID 和 classname

效果和 trace_line 获得的entID一样,但用 trace_line 应用确实比较灵活。

Ryu2877 发表于 2006-10-15 18:49:15

回复: 求一段代码?瞄准实体后,得到实体的名称

ig说的是,那会不会是这样:
A平木箱是功能实体、有功能必有事件、有事件必有先后,而weaponbox更是触发实体,
对比原始地图上其他实体,他们更象独立于地图平台外的玩家,会不会引擎对这些“变数”
的id有某方面的相同运用?从而导致在这个函数上出现差别?

pop781 发表于 2006-10-16 01:19:01

回复: 求一段代码?瞄准实体后,得到实体的名称

Post by Ryu2877
ig说的是,那会不会是这样:
A平木箱是功能实体、有功能必有事件、有事件必有先后,而weaponbox更是触发实体,
对比原始地图上其他实体,他们更象独立于地图平台外的玩家,会不会引擎对这些“变数”
的id有某方面的相同运用?从而导致在这个函数上出现差别?

entid是多少,是固定的系统按类型自动分配的,和函数无关。

我的理解是:(不一定正确)
例如de_dust2地图,木箱属于哪一种类型,主要在做地图是确定
然后系统自动为不同的类型设定entid,worldspawn 类 entid 为 0
同时对于每一个 entid类型 ,engine 都会进行一定的事件处理,
大部分木箱都是装饰用,无关紧要所以设成 worldspawn 类 所以 entid=0
和地面同一类主要是为了节省资源,但在A平台,有几个木箱需要在C4爆炸时
有效果,所以做成了 func_breakable 类型,增强爆炸效果,当然 entid 就不一样了
页: [1] 2
查看完整版本: 求一段代码?瞄准实体后,得到实体的名称