设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3078|回复: 7

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

[复制链接]

Lv4.逐梦者

梦石
0
星屑
9128
在线时间
463 小时
注册时间
2015-5-8
帖子
865
发表于 2020-1-29 04:16:09 | 显示全部楼层 |阅读模式

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

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

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

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

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

还请大神指点一二,

祝大家新年快乐,身体健康!
地图遇敌设置.PNG

Lv4.逐梦者

梦石
0
星屑
12944
在线时间
3767 小时
注册时间
2013-7-18
帖子
2266
发表于 2020-1-29 11:59:57 | 显示全部楼层
两种思路
1,明雷,这个容易,所有明雷敌人加个开关,100号开关开的时候,才会出现
2,暗雷,这个复杂点,设置一个变量,代入地图ID,条件分歧判断,用公共事件,如下图

QQ图片20200129115716.png

评分

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

查看全部评分

一切都是幻觉,犹如大梦幻....
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39440
在线时间
1914 小时
注册时间
2010-11-14
帖子
3315

R考场第七期纪念奖

发表于 2020-1-30 23:39:11 | 显示全部楼层
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

评分

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

查看全部评分

用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9128
在线时间
463 小时
注册时间
2015-5-8
帖子
865
 楼主| 发表于 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啊?
回复 支持 反对

使用道具 举报

Lv2.观梦者

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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2074
在线时间
78 小时
注册时间
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 大神威武!

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

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

评分

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

查看全部评分

步兵中尉
回复 支持 反对

使用道具 举报

Lv3.寻梦者

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

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-3-29 10:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表