Project1

标题: 请问明雷随机遇敌怎么只遇一次(每只怪只遇一次) [打印本页]

作者: arsddzf    时间: 2013-10-22 00:45
标题: 请问明雷随机遇敌怎么只遇一次(每只怪只遇一次)
做了一个类似抽题机的东西 用的是明雷随机遇敌答题  怎么让题只出现一次
作者: 魔潘安    时间: 2013-10-22 03:33
如果是每個事件只執行一次
那就把事件的獨立開關打開即可
作者: tan12345    时间: 2013-10-22 09:37
事件页1,执行你需要执行的东西,包括只执行一次的和需要重复执行的,执行完毕后加上一条:独立开关A打开
事件页2,开启条件:独立开关A打开时,内容为你需要重复执行的东西。
作者: arsddzf    时间: 2013-10-22 13:52
我做的是明雷随机  一共四个事件 事件的遇敌是随机遇敌  遇敌后事件保留 独立开关无效
作者: arsddzf    时间: 2013-10-22 21:32
我把Password大大的VX用的那一段移植到Ace上。
在game_player下替换原来的遇敌处理,
暗雷是解决了,但是利用明雷遇敌时打过的敌人却依旧会重复出现。
请问要如何解决?
RUBY 代码复制
  1. def encounter
  2.     return false if @encounter_count > 0        # 检查步数
  3.     return false if $game_map.interpreter.running?          # 判断是否有事件正在执行
  4.     return false if $game_system.encounter_disabled         # 判断是否禁止遇敌
  5.     troop_id = make_encounter_troop_id   # 判断敌人队伍
  6.     return false if $data_troops[troop_id] == nil           # 判断队伍是否无效
  7.     if $game_switches[troop_id + 20] == true    # 判断敌人队伍是否遇到过
  8.       return false # 返回 ↖敌人队伍ID
  9.     else # 不是的话
  10.       $game_switches[troop_id + 20] = true       #标记已经遇到过此队伍
  11.       #              ↑指定标记开关ID
  12.     end
  13.     BattleManager.setup(troop_id)
  14.     BattleManager.on_encounter
  15.     return true
  16.   end

作者: Password    时间: 2013-10-22 21:40
明雷遇敌其实是更加容易的

比较容易理解的方法是完全利用事件(开关、独立开关、变量什么的)
然后进行相关记录和判定,因为是明雷……

当然,有脚本基础的话会更加方便,首先建立一个数组,然后将随机抽取的敌人队伍ID记录进数组,
在此之前先判断数组内是否含有这个值,
有的话重新抽取一次
无的话进入战斗并将这个ID记录进数组。

嗯……我是这么理解的
作者: arsddzf    时间: 2013-10-22 21:55
不过这个系统要求对着一个事件从400多个敌人库中抽取敌人。
因此每个敌人都是珍贵怪,要写400事件页并配上一堆开关太麻烦了。
所以移植了你的脚本。但结果是暗雷遇敌不会重复,但明雷还是重复。

作者: 魔潘安    时间: 2013-10-23 02:41
既然有這個腳本解決暗雷
那你把明雷內的戰鬥勾選「隨機遇敵」
看他會不會讀腳本
作者: 上贺茂润    时间: 2013-10-25 19:07
打死一个怪翻过来




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