下面是引用 s8720419 于 2013-04-30 05:26 发表的 小问题,需老手帮忙:
我的问题
new Float:angle[3]
pev(id, pev_angles, angle)
angle[0] += 0.0
angle[1] += 90.0
angle[2] += 0.0
set_pev(id, pev_angles, angle)
我写这段进去插件里面
用于想让画面准心角度移动
可是 怎么试 好像都没什么用
我也用过 动能+转换角度
结果一样 还是 没有变...
是不是 我写错了 还是 本来就没办法 改变画面准心秒准的位置
你有将
pev_fixangle 设成1吗?
设成1会强制更新 pev_angles 的数据…
例子:<chr_engine>里的 entity_set_aim(我自己修改过…拿来玩自瞄用的…)
复制程式
stock entity_set_aim(id,const Float:target_origin[3],bone=0)
{
if(!pev_valid(id)) return 0
new Float:player_start[3], Float:player_end[3]
pev(id,pev_origin,player_start)
pev(id,pev_view_ofs,player_end)
player_start[0] += player_end[0], player_start[1] += player_end[1], player_start[2] += player_end[2]
new Float:angles[3]
if(bone) engfunc(EngFunc_GetBonePosition,id,bone,target_origin,angles)
new Float:aim_vector[3],Float:new_angles[3]
aim_vector[0] = target_origin[0] - player_start[0]
aim_vector[1] = target_origin[1] - player_start[1]
aim_vector[2] = target_origin[2] - player_start[2]
vector_to_angle(aim_vector,new_angles)
new_angles[0] *= -1
while(new_angles[1]>360.0) new_angles[1] -= 360.0
while(new_angles[1]<0.0) new_angles[1] += 360.0
set_pev(id,pev_angles,new_angles)
set_pev(id,pev_fixangle,1)
return 1;
}