Project1

标题: 请教用一个公共开关设置地图遇敌队伍的方法 [打印本页]

作者: taeckle    时间: 2020-1-29 04:16
标题: 请教用一个公共开关设置地图遇敌队伍的方法
本帖最后由 taeckle 于 2020-1-29 04:18 编辑

RPG Maker XP在某一张地图上设置遇到的敌人是这么搞的:

我现在想引入一个开关(比如第100号公共开关),
当这个100号公共开关打开时,在第1-10号地图上才有遇敌(比如下面遇到的是第1号队伍幽灵)的可能(仅限第1-10号地图),
当这个100号公共开关关闭时,在第1-10号地图上无论如何都不会遇敌(仅限第1-10号地图),

还请大神指点一二,

祝大家新年快乐,身体健康!

地图遇敌设置.PNG (73.97 KB, 下载次数: 20)

地图遇敌设置.PNG

作者: y967    时间: 2020-1-29 11:59
两种思路
1,明雷,这个容易,所有明雷敌人加个开关,100号开关开的时候,才会出现
2,暗雷,这个复杂点,设置一个变量,代入地图ID,条件分歧判断,用公共事件,如下图


作者: KB.Driver    时间: 2020-1-30 23:39
RUBY 代码复制
  1. class Game_Player
  2.  
  3.   alias update_for_no_encounter update
  4.   def update
  5.     last_moving = moving?
  6.     update_for_no_encounter
  7.     unless moving?
  8.       # 上次主角移动中的情况
  9.       if last_moving
  10.         # 与同位置的事件接触就判定为事件启动
  11.         result = check_event_trigger_here([1,2])
  12.         # 没有可以启动的事件的情况下
  13.         if result == false
  14.           if $game_switches[100] && (1..10).include?($game_map.map_id)
  15.             @encounter_count += 1
  16.           end
  17.         end
  18.       end
  19.     end
  20.   end
  21.  
  22. end

作者: taeckle    时间: 2020-1-31 06:24
本帖最后由 taeckle 于 2020-1-31 06:27 编辑
KB.Driver 发表于 2020-1-30 23:39
class Game_Player
  
  alias update_for_no_encounter update


大神请问下这个脚本里的这个
“check_event_trigger_here([1,2])” 是神马意思啊?这里的[1,2]又是神马意思啊?


还有默认脚本里的这个:

          # 调试模式为 ON 并且按下 CTRL 键的情况下除外
          unless $DEBUG and Input.press?(Input::CTRL)
            # 遇敌计数下降
            if @encounter_count > 0
              @encounter_count -= 1
            end
          end
@encounter_count为啥不是+1而是-1啊?

作者: 圆圆的月亮    时间: 2020-1-31 09:44
额....xp里是根据你在地图那里设置的遇敌步数生成一个随机的@encounter_count, 然后每次行动减少1,到零的时候就会遭遇敌人.....如果这边理解正确的话....
作者: 1103123301    时间: 2020-1-31 15:09
taeckle 发表于 2020-1-31 06:24
大神请问下这个脚本里的这个
“check_event_trigger_here([1,2])” 是神马意思啊?这里的[1,2]又是神马意 ...

check_event_trigger_here([1,2])表示同位置的事件启动判定,而([1,2])表示事件里的
0 = 决定键
1 = 与主角接触
2 = 与事件接触
比如将check_event_trigger_here([1,2])改成check_event_trigger_here([0])的话,那么决定键就变成与事件接触+主角接触了。你设一个事件,事件开始条件为决定键,就是要按空格才有效,但你将([1,2])改成([0])的话那么你走过去不按空格也有效。(要注意的是,这改的效果针对的是可通行的事件。)
作者: 步兵中尉    时间: 2020-2-8 21:36
2楼的方法是最简单且不容易出错的
作者: letppigogo    时间: 2020-2-19 13:54
双地图也能解决




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