搜索
查看: 4587|回复: 16

[求助]如何实现丢枪的效果?

[复制链接]
发表于 2006-12-10 23:41:33 | 显示全部楼层 |阅读模式 来自 中国–陕西–西安
假设有个物品的MDL,想玩家使用某个命令后,能丢出一个物品,丢在玩家前面,且有动作显示,并且,如果碰到墙等,不会完全丢到墙里边,就像丢枪一样。如何实现?建立此entity时需要设什么属性,还是要另外模拟显示?
发表于 2006-12-11 03:13:29 | 显示全部楼层 来自 中国–福建–泉州

回复: [求助]如何实现丢枪的效果?

牛人!!!!!!!
问题太深奥了
回复

使用道具 举报

发表于 2006-12-11 10:06:05 | 显示全部楼层 来自 中国–辽宁–沈阳

回复: [求助]如何实现丢枪的效果?

trace_line
回复

使用道具 举报

发表于 2006-12-11 16:41:34 | 显示全部楼层 来自 中国–广东–潮州–湘桥区

回复: [求助]如何实现丢枪的效果?

Post by kinsprite
trace_line

“trace_line”是最专业的选择,强烈建议从各种途径多试用这个函数。
楼主所说功能,仅需给entity赋予“起始origin”、angles、solid、movetype、velocity就OK了(当然box、model等也要),具体的solid、movetype效果engine里面已经很详细介绍了。
回复

使用道具 举报

 楼主| 发表于 2006-12-11 19:29:13 | 显示全部楼层 来自 中国–陕西–西安

回复: [求助]如何实现丢枪的效果?

[php]
if(!is_user_alive(id)) return PLUGIN_HANDLED
new Float:origin[3]
new Float:maxbox[3] = 2.5,Float:minbox[3] = -2.5,Float:angles[3], gEnt
gEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
pev(id, pev_angles, angles)
pev(id, pev_origin, origin)
set_pev(gEnt, pev_classname, "my_customEnt")
set_pev(gEnt, pev_angles, angles)
set_pev(gEnt, pev_origin, origin)
set_pev(gEnt, pev_mins, minbox)
set_pev(gEnt, pev_maxs, maxbox)
set_pev(gEnt, pev_solid, 1)
set_pev(gEnt, pev_movetype, 6)
set_pev(gEnt, pev_velocity, 450.0)
set_pev(gEnt, pev_iuser1, g_roundcount)
set_pev(gEnt, pev_iuser2, 1000)
set_pev(gEnt, pev_iuser3, id)
set_pev(gEnt, pev_fuser1, get_gametime())
engfunc(EngFunc_SetModel, gEnt, g_Model[0])
[/php]上面这段代码该怎么改??
回复

使用道具 举报

 楼主| 发表于 2006-12-12 14:50:20 | 显示全部楼层 来自 中国–陕西–西安

回复: [求助]如何实现丢枪的效果?

使用上面的,现在就是方向控制不了。哪个参数可以控制丢钱的方向?我想丢在玩家前面。请高手帮忙。
回复

使用道具 举报

发表于 2006-12-12 15:21:13 | 显示全部楼层 来自 中国–广东–潮州–湘桥区

回复: [求助]如何实现丢枪的效果?

兜了这么久。。。不要这么辛苦啊,呵呵~~

[PHP]
engfunc(EngFunc_DropToFloor, entity)
[/PHP]
回复

使用道具 举报

发表于 2006-12-12 15:25:54 | 显示全部楼层 来自 中国–广东–潮州–湘桥区

回复: [求助]如何实现丢枪的效果?

速率。。。。。。+上solid和movetype值、可以让entity按自己特性运动。
回复

使用道具 举报

 楼主| 发表于 2006-12-12 16:22:34 | 显示全部楼层 来自 中国–陕西–西安

回复: [求助]如何实现丢枪的效果?

主要还是速率这个问题。
现在解决了:
[php]
new Float:velocity[3]
velocity_by_aim(id, 450, velocity)
set_pev(gEnt, pev_velocity, velocity)
[/php]
但现在有另一个问题,就是稍微有个小角落,玩家就捡不到了(如果枪丢到那个地方,可以捡得到)。我用的是 touch 事件。不想用循环检查玩家位置这个方法,那样太占资源,有什么办法吗?
回复

使用道具 举报

发表于 2006-12-12 16:31:04 | 显示全部楼层 来自 中国–广东–深圳

回复: [求助]如何实现丢枪的效果?

entity_set_size(entity, Float:minbox[3], Float:maxbox[3])
设置你需要的大小
回复

使用道具 举报

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

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