查看: 4416|回复: 7

[已经解决] 请教用一个公共开关设置地图遇敌队伍的方法

[复制链接]
梦石
0
星屑
9160
在线时间
466 小时
注册时间
2015-5-8
回帖
704
发表于 2020-1-29 04:16:09 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 taeckle 于 2020-1-29 04:18 编辑

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

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

还请大神指点一二,

祝大家新年快乐,身体健康!
地图遇敌设置.PNG
梦石
0
星屑
17561
在线时间
4249 小时
注册时间
2013-7-18
回帖
2491
发表于 2020-1-29 11:59:57 | 显示全部楼层
两种思路
1,明雷,这个容易,所有明雷敌人加个开关,100号开关开的时候,才会出现
2,暗雷,这个复杂点,设置一个变量,代入地图ID,条件分歧判断,用公共事件,如下图

QQ图片20200129115716.png

评分

参与人数 2星屑 +50 赞 +2 收起 理由
RyanBern + 50 + 1 认可答案
taeckle + 1 多谢大神指点!

查看全部评分

退隐....
回复

使用道具 举报

梦石
10
星屑
39550
在线时间
1919 小时
注册时间
2010-11-14
回帖
3214

R考场第七期纪念奖

发表于 2020-1-30 23:39:11 | 显示全部楼层
[pre lang="ruby"]class Game_Player
  
  alias update_for_no_encounter update
  def update
    last_moving = moving?
    update_for_no_encounter
    unless moving?
      # 上次主角移动中的情况
      if last_moving
        # 与同位置的事件接触就判定为事件启动
        result = check_event_trigger_here([1,2])
        # 没有可以启动的事件的情况下
        if result == false
          if $game_switches[100] && (1..10).include?($game_map.map_id)
            @encounter_count += 1
          end
        end
      end
    end
  end
  
end[/pre]

评分

参与人数 2星屑 +50 赞 +2 收起 理由
RyanBern + 50 + 1 认可答案
taeckle + 1 多谢大神指点!

查看全部评分

用头画头像,用脚写脚本
回复

使用道具 举报

梦石
0
星屑
9160
在线时间
466 小时
注册时间
2015-5-8
回帖
704
 楼主| 发表于 2020-1-31 06:24:18 | 显示全部楼层
本帖最后由 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啊?
回复

使用道具 举报

梦石
0
星屑
418
在线时间
92 小时
注册时间
2016-7-19
回帖
19
发表于 2020-1-31 09:44:02 | 显示全部楼层
额....xp里是根据你在地图那里设置的遇敌步数生成一个随机的@encounter_count, 然后每次行动减少1,到零的时候就会遭遇敌人.....如果这边理解正确的话....
回复

使用道具 举报

梦石
0
星屑
2782
在线时间
140 小时
注册时间
2018-6-29
回帖
19

R考场第七期纪念奖

发表于 2020-1-31 15:09:10 | 显示全部楼层
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])的话那么你走过去不按空格也有效。(要注意的是,这改的效果针对的是可通行的事件。)

评分

参与人数 1赞 +1 收起 理由
taeckle + 1 大神威武!

查看全部评分

回复

使用道具 举报

梦石
0
星屑
3947
在线时间
1591 小时
注册时间
2006-5-5
回帖
2564
发表于 2020-2-8 21:36:52 | 显示全部楼层
2楼的方法是最简单且不容易出错的

评分

参与人数 1赞 +1 收起 理由
taeckle + 1 我很赞同

查看全部评分

步兵中尉
回复

使用道具 举报

梦石
0
星屑
2970
在线时间
390 小时
注册时间
2010-12-4
回帖
104
发表于 2020-2-19 13:54:07 | 显示全部楼层
双地图也能解决

评分

参与人数 1赞 +1 收起 理由
taeckle + 1 我很赞同

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部