Project1

标题: 关于地雷战斗处理 [打印本页]

作者: 丶温柔是罪    时间: 2017-4-30 22:24
标题: 关于地雷战斗处理
是这样引用了一个随机遇敌战斗失败后重生的脚本如下
RUBY 代码复制
  1. #==============================================================================
  2. # ■ 暗雷战后自定义处理 (by SailCat)
  3. #------------------------------------------------------------------------------
  4. #  设定五个开关,编号见下面的恒量。
  5. #   设定三个公共事件,自动执行,条件开关分别为下面的随机战胜、逃、败的开关
  6. #   在公共事件中,你可以编写在暗雷战后希望执行的任何内容,但事件编写完成后
  7. #   一定要★★★关闭★★★相应的开关,以防地图卡死,切记!
  8. #==============================================================================
  9.  
  10. class Scene_Map
  11.  
  12.   #--------------------------------------------------------------------------
  13.   # ● 恒量
  14.   #--------------------------------------------------------------------------
  15.   CANNOT_RUN_SWITCH  = 96   # 不允许逃跑的开关  ON: 不能逃;OFF: 可以逃(默认)
  16.   CAN_LOSE_SWITCH    = 97   # 允许失败的开关    ON: 可以败;OFF: 不能败(默认)
  17.   VICTORY_SWITCH     = 98   # 随机战胜利后,会自动打开此开关,以便公共事件处理
  18.   ESCAPE_SWITCH      = 99   # 随机战逃跑后,会自动打开此开关,以便公共事件处理
  19.   DEFEAT_SWITCH      = 100   # 随机战失败后,会自动打开此开关,以便公共事件处理
  20.  
  21.   alias sailcat_call_battle call_battle
  22.   #--------------------------------------------------------------------------
  23.   # ● 调用战斗
  24.   #--------------------------------------------------------------------------
  25.   def call_battle
  26.     # 是暗雷战斗的情况下
  27.     if $game_temp.battle_proc == nil
  28.       # 重新定义各项参数
  29.       $game_temp.battle_can_escape = (not $game_switches[CANNOT_RUN_SWITCH])
  30.       $game_temp.battle_can_lose = $game_switches[CAN_LOSE_SWITCH]
  31.       $game_temp.battle_proc = Proc.new { |n|
  32.       $game_switches[[VICTORY_SWITCH, ESCAPE_SWITCH, DEFEAT_SWITCH][n]]=true}
  33.     end
  34.     # 呼叫战斗画面
  35.     sailcat_call_battle
  36.   end
  37. end

然后一遇怪就错误了
求大神!!!!!!!!!!!!!!!
作者: guoxiaomi    时间: 2017-4-30 23:16
因为,这个,是xp的脚本
作者: 丶温柔是罪    时间: 2017-5-1 21:31
guoxiaomi 发表于 2017-4-30 23:16
因为,这个,是xp的脚本

那要怎么才能给vx用呢或者有没有给vx用的这样类型的脚本
作者: guoxiaomi    时间: 2017-5-1 23:38
丶温柔是罪 发表于 2017-5-1 21:31
那要怎么才能给vx用呢或者有没有给vx用的这样类型的脚本

把逃跑和失败的那两行照着 VX 的改成了 $game_troop ,你看看这样行不行?

RUBY 代码复制
  1. #==============================================================================
  2. # ■ 暗雷战后自定义处理 (by SailCat)
  3. #------------------------------------------------------------------------------
  4. #  设定五个开关,编号见下面的恒量。
  5. #   设定三个公共事件,自动执行,条件开关分别为下面的随机战胜、逃、败的开关
  6. #   在公共事件中,你可以编写在暗雷战后希望执行的任何内容,但事件编写完成后
  7. #   一定要★★★关闭★★★相应的开关,以防地图卡死,切记!
  8. #   [VX版 移植: guoxiaomi]
  9. #==============================================================================
  10.  
  11. class Scene_Map
  12.  
  13.   #--------------------------------------------------------------------------
  14.   # ● 恒量
  15.   #--------------------------------------------------------------------------
  16.   CANNOT_RUN_SWITCH  = 96   # 不允许逃跑的开关  ON: 不能逃;OFF: 可以逃(默认)
  17.   CAN_LOSE_SWITCH    = 97   # 允许失败的开关    ON: 可以败;OFF: 不能败(默认)
  18.   VICTORY_SWITCH     = 98   # 随机战胜利后,会自动打开此开关,以便公共事件处理
  19.   ESCAPE_SWITCH      = 99   # 随机战逃跑后,会自动打开此开关,以便公共事件处理
  20.   DEFEAT_SWITCH      = 100   # 随机战失败后,会自动打开此开关,以便公共事件处理
  21.  
  22.   alias sailcat_call_battle call_battle
  23.   #--------------------------------------------------------------------------
  24.   # ● 调用战斗
  25.   #--------------------------------------------------------------------------
  26.   def call_battle
  27.     # 是暗雷战斗的情况下
  28.     if $game_temp.battle_proc == nil
  29.       # 重新定义各项参数
  30.       $game_troop.can_escape = (not $game_switches[CANNOT_RUN_SWITCH])          
  31.       $game_troop.can_lose = $game_switches[CAN_LOSE_SWITCH]
  32.       $game_temp.battle_proc = Proc.new { |n|
  33.       $game_switches[[VICTORY_SWITCH, ESCAPE_SWITCH, DEFEAT_SWITCH][n]]=true}
  34.     end
  35.     # 呼叫战斗画面
  36.     sailcat_call_battle
  37.   end
  38. end

作者: 丶温柔是罪    时间: 2017-5-2 23:46
guoxiaomi 发表于 2017-5-1 23:38
把逃跑和失败的那两行照着 VX 的改成了 $game_troop ,你看看这样行不行?

#========================== ...

虽然不报错了但是它不执行事件啊战斗失败后直接就game over了,头大。。。不过还是要谢谢!
作者: 丶温柔是罪    时间: 2017-5-3 00:59
guoxiaomi 发表于 2017-5-1 23:38
把逃跑和失败的那两行照着 VX 的改成了 $game_troop ,你看看这样行不行?

#========================== ...

是这个么 我把第20行打开了然后就直接执行事件了,暗雷允许失败的开关不知道怎么弄
  1. #==============================================================================
  2. # ■ Game_Switches
  3. #------------------------------------------------------------------------------
  4. #  处理开关的类。编入的是类 Array 的外壳。本类的实例请参考 $game_switches。
  5. #==============================================================================

  6. class Game_Switches
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     @data = []
  12.   end
  13.   #--------------------------------------------------------------------------
  14.   # ● 获取开关
  15.   #     switch_id : 开关 ID
  16.   #--------------------------------------------------------------------------
  17.   def [](switch_id)
  18.     if @data[switch_id] == nil
  19.       return false
  20.     else
  21.       return @data[switch_id]
  22.     end
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 设置开关
  26.   #     switch_id : 开关 ID
  27.   #     value     : ON (true) / OFF (false)
  28.   #--------------------------------------------------------------------------
  29.   def []=(switch_id, value)
  30.     if switch_id <= 5000
  31.       @data[switch_id] = value
  32.     end
  33.   end
  34. end
复制代码

作者: 丶温柔是罪    时间: 2017-5-3 12:38
guoxiaomi 发表于 2017-5-1 23:38
把逃跑和失败的那两行照着 VX 的改成了 $game_troop ,你看看这样行不行?

#========================== ...

没有用啊大神!而切打开只能在公共事件里,不会默认打开
作者: 丶温柔是罪    时间: 2017-5-3 23:53
丶温柔是罪 发表于 2017-5-3 12:38
没有用啊大神!而切打开只能在公共事件里,不会默认打开

谢谢大神了,虽然还是不能用,不过还是非常感谢!!!




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