设为首页收藏本站新闻投稿

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 654|回复: 7

[求助] NPC不能向更高位置移动? [复制链接]

Rank: 10Rank: 10Rank: 10

帖子
1250
精华
0
声望
3577 点
金币
470 Mold
被赞许
45 次
注册时间
2010-7-13

可爱小猫

发表于 2012-1-19 10:14:08 |显示全部楼层
28金币
本帖最后由 水蛭 于 2012-1-20 10:50 编辑

        entity_set_int(ent, EV_INT_solid, 2)
        entity_set_int(ent, EV_INT_movetype, 13)


类似这样一直跑,跑不上来?
============================
我写的移动代码,现在唯一问题就是他不会向高处跑,斜坡才办得到。

  1. for (new i=0;i<33;i++)
  2. {
  3.         if (is_user_alive(i))
  4.         {
  5.                 if (entity_range(ent, i)<=600.0)
  6.                 {
  7.                         aim_ent(ent, i)
  8.                         velocity_by_aim(ent, 350, vec)
  9.                         set_pev(ent, pev_velocity, any:vec)
  10.                         if (g_SequenceDelay[ent]+0.45<=get_gametime())
  11.                         {
  12.                                 play_sequence(ent, 4, 0.8)
  13.                                 g_SequenceDelay[ent] = get_gametime()
  14.                         }
  15.                         set_pev(ent, pev_nextthink, any:(get_gametime()+0.2))
  16.                         return
  17.                 }
  18.         }
  19. }
复制代码

附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
1077
精华
0
声望
1587 点
金币
175 Mold
被赞许
15 次
注册时间
2009-5-23
发表于 2012-1-19 10:14:09 |显示全部楼层
本帖最后由 979078158 于 2012-3-4 19:48 编辑
  1. velocity_by_aim(ent, 250, vec) //实体、速度、向量
  2. set_pev(ent, pev_velocity, any:vec) //推力
  3. vector_to_angle(vec, ang) // 向量转换为角度
  4. //像人类一样向高处移动。   实体、角度[1]、1.0似乎是250速度。移动类型
  5. engfunc(EngFunc_WalkMove, any:ent, any:ang[1], any:1.0, any:WALKMOVE_NORMAL)
复制代码

使用道具 举报

Super Moderator

MODCHINA 之 土匪

Rank: 10Rank: 10Rank: 10

帖子
1231
精华
6
声望
4643 点
金币
1276 Mold
被赞许
90 次
注册时间
2007-5-4

MTT职员 Modchina元老 精华帖制造者

发表于 2012-1-19 11:14:30 |显示全部楼层
本帖最后由 中国悍匪 于 2012-1-19 11:16 编辑

虽然...悍匪不懂插件.
但是根据这段代码的意思是
如果直线距离小于等于600时.速度为350,并且获取游戏时间(350码用的时间?)如果大于等于某序列播放+0.45(倍,或者秒?,不过应该是个因素),那么便执该行序列动画(序列4)的0.8倍使其等于游戏时间.然后进行反复判断.
(不知道对还错)
这里似乎没有提到角度的判断或者高度的变化判断,所以不能执行,所以加一段角度的判断或者高度的变化的判断的逻辑代码即可吧?

使用道具 举报

Rank: 10Rank: 10Rank: 10

帖子
1250
精华
0
声望
3577 点
金币
470 Mold
被赞许
45 次
注册时间
2010-7-13

可爱小猫

发表于 2012-1-19 11:22:16 |显示全部楼层
中国悍匪 发表于 2012-1-19 11:14
虽然...悍匪不懂插件.
但是根据这段代码的意思是
如果直线距离小于等于600时.速度为350,并且获取游戏时间(3 ...

加上角度变化的话他会飞行- -
而且这段代码的执行前提是在地上。
代码的意思是
如果活人和npc的距离小于600,npc瞄准他,
然后以350的速度向瞄准位置移动,
同时每0.45秒播放奔跑动作。(if片段,就像某些僵尸技能一样,把播放动作当做技能播放)
下一次循环为0.2秒后执行。

点评

中国悍匪  既然如此.来一段 跳跃的  发表于 2012-1-19 11:39:15

使用道具 举报

Rank: 10Rank: 10Rank: 10

帖子
1250
精华
0
声望
3577 点
金币
470 Mold
被赞许
45 次
注册时间
2010-7-13

可爱小猫

发表于 2012-1-19 11:48:17 |显示全部楼层
中国悍匪 发表于 2012-1-19 11:14
虽然...悍匪不懂插件.
但是根据这段代码的意思是
如果直线距离小于等于600时.速度为350,并且获取游戏时间(3 ...

跳跃也需要情况啊,例如他没事老是乱跳……郁闷。
就是找不到腿被卡住的条件。

点评

中国悍匪  如果位移等于0大于等于0.5秒,进行跳跃~  发表于 2012-1-19 12:48:36

使用道具 举报

Rank: 10Rank: 10Rank: 10

帖子
1250
精华
0
声望
3577 点
金币
470 Mold
被赞许
45 次
注册时间
2010-7-13

可爱小猫

发表于 2012-1-19 12:59:57 |显示全部楼层
本帖最后由 水蛭 于 2012-1-19 13:03 编辑
中国悍匪 发表于 2012-1-19 11:14
虽然...悍匪不懂插件.
但是根据这段代码的意思是
如果直线距离小于等于600时.速度为350,并且获取游戏时间(3 ...

NPC在空中不能移动的,要不然会滑行。
所以跳起来后就是直线上升,不会向前了,除非提前跳,但那时速度就不等于0.
不过可行性有那么一点点……

使用道具 举报

Rank: 5Rank: 5

帖子
488
精华
0
声望
733 点
金币
475 Mold
被赞许
11 次
注册时间
2009-5-28
发表于 2012-3-3 22:24:03 |显示全部楼层
不能拿人质改吗,这种INFO解决不了这种BUG吧。

使用道具 举报

Rank: 10Rank: 10Rank: 10

帖子
1250
精华
0
声望
3577 点
金币
470 Mold
被赞许
45 次
注册时间
2010-7-13

可爱小猫

发表于 2012-3-4 19:43:15 |显示全部楼层
maizhenhui 发表于 2012-3-3 22:24
不能拿人质改吗,这种INFO解决不了这种BUG吧。

人质已经定义的东西太多。而且空中移动也是用推力进行的,这段时间等于滑行而不是掉落。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

回顶部