Project1

标题: 主角就是比NPC牛…… [打印本页]

作者: 柳柳    时间: 2008-1-6 10:10
标题: 主角就是比NPC牛……
新工程,无任何脚本修改。

建立一个事件,让他随机移动。然后周围放上空的事件把他包围起来,像围棋那样。


然后运行游戏……你会发现这个NPC周围的图上什么都没有,但是NPC就是会被困住无法移动出去。但是我们伟大的主角就可以随便在地图上行走……

这个结果……大家觉得是正确的吗?默认的新工程就可以弄出来……{/gg}
也可以下载:http://rpg.blue/upload_program/files/主角就是牛_80014198.rar

纯讨论。
作者: 柳柳    时间: 2008-1-6 10:10
标题: 主角就是比NPC牛……
新工程,无任何脚本修改。

建立一个事件,让他随机移动。然后周围放上空的事件把他包围起来,像围棋那样。


然后运行游戏……你会发现这个NPC周围的图上什么都没有,但是NPC就是会被困住无法移动出去。但是我们伟大的主角就可以随便在地图上行走……

这个结果……大家觉得是正确的吗?默认的新工程就可以弄出来……{/gg}
也可以下载:http://rpg.blue/upload_program/files/主角就是牛_80014198.rar

纯讨论。
作者: 某个人    时间: 2008-1-6 10:38
难道是没设置允许穿透么

顺便:66好早
作者: 宾少    时间: 2008-1-6 11:05
这个也被您发现了呀,您真内行.
作者: 雪流星    时间: 2008-1-6 11:20
研究了一下Game_Character 1
原来是这里的问题

  1.     # 循环全部事件
  2.     for event in $game_map.events.values
  3.       # 事件坐标于移动目标坐标一致的情况下
  4.       if event.x == new_x and event.y == new_y
  5.         # 穿透为 ON
  6.         unless event.through
  7.           # 自己就是事件的情况下
  8.           if self != $game_player
  9.             # 不能通行
  10.             return false            <=======这一行
  11.           end
  12.           # 自己是主角、对方的图形是角色的情况下
  13.           if event.character_name != ""
  14.             # 不能通行
  15.             return false            <=======还有这一行
  16.           end
  17.         end
  18.       end
  19.     end
复制代码


上面标示的两行如果改成return true的话,那NPC就能够乱走了
不过肯定会出事

改了之後会发现我们的阿尔西斯更牛了
主角可以穿过NPC,但是NPC就是穿不过主角


献丑一下{/tp}
作者: 洋娃娃    时间: 2008-1-6 17:33
哎?这个功能好像有点用,使用商业素材时总担心NPC会乱跑导致遮挡物穿帮,这时画地为牢就很有效了,先记下来……
作者: yangff    时间: 2008-1-6 17:40
好水啊
作者: yike    时间: 2008-1-6 17:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: orochi2k    时间: 2008-1-6 18:16
在某脚本出现前限制NPC接近主角的警戒范围时偶就是这么弄的- -0
作者: 光郎    时间: 2008-1-7 02:21
以下引用柳柳于2008-1-6 2:10:29的发言:

新工程,无任何脚本修改。

建立一个事件,让他随机移动。然后周围放上空的事件把他包围起来,像围棋那样。


然后运行游戏……你会发现这个NPC周围的图上什么都没有,但是NPC就是会被困住无法移动出去。但是我们伟大的主角就可以随便在地图上行走……

这个结果……大家觉得是正确的吗?默认的新工程就可以弄出来……
也可以下载:http://rpg.blue/upload_program/files/主角就是牛_80014198.rar

纯讨论。

有本事柳柳你点击“允许穿透”……………………
作者: 真の邵东    时间: 2008-1-7 02:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: 柳柳    时间: 2008-1-7 03:57
看来应该是真正的画地为牢。
以前有一些NPC随机移动到窄路挡住主角行走的问题,标准方法应该是通过这样划地来解决的。

不过反正我以前不知道,现在看还真有那么点用……
作者: 雷欧纳德    时间: 2008-1-7 04:10
划太多会不会变卡...
作者: superufo    时间: 2008-1-7 04:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: csy1995    时间: 2008-1-7 04:52

作者: 劍之飛龍☆    时间: 2008-1-7 05:16
在我的"阿尔西瓜"里就已经用了...

(偶已经知道了,不过66大真是太...){/tp}{/gg}
作者: 冥界王子☆邪    时间: 2008-1-7 07:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: 火鸡三毛老大    时间: 2008-1-8 20:25
这个直接用是事件  不用任何脚本
NPC和NPC之间不能穿透  即时用了允许穿透好像 也不能NPC和NPC穿透...
那个允许穿透可能只对主角有效果吧..
作者: 精灵使者    时间: 2008-1-8 22:14
这个效果其实我也早就发现了。
以前做游戏的时候,随机移动的两只老鼠一直都没越过用事件画的那条线。
作者: 光郎    时间: 2008-1-8 23:06
说了有本事勾选允许穿透。肯定无视空白事件了。
作者: 浩气青天    时间: 2008-1-13 18:07

    哇哈哈哈哈哈。好搞笑啊!{/cy}
作者: 越前リョーマ    时间: 2008-1-14 00:09
之前做某游戏时为了不让NPC走出范围就用了这个办法……{/hx}
作者: 二月三十    时间: 2008-1-17 18:50
原来有这样的方法orz
强帖留名
作者: 匈魔剑    时间: 2008-1-17 20:44
还真不知道。。学习一下。
作者: maizihai123    时间: 2008-1-25 00:58
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1