查看: 2514|回复: 12

[已经解决] 关于地雷战斗处理

[复制链接]
梦石
0
星屑
50
在线时间
47 小时
注册时间
2016-8-12
回帖
23
发表于 2017-4-30 22:24:10 | 显示全部楼层 |阅读模式

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

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

×
是这样引用了一个随机遇敌战斗失败后重生的脚本如下[pre lang="ruby"]#==============================================================================
# ■ 暗雷战后自定义处理 (by SailCat)
#------------------------------------------------------------------------------
#  设定五个开关,编号见下面的恒量。
#   设定三个公共事件,自动执行,条件开关分别为下面的随机战胜、逃、败的开关
#   在公共事件中,你可以编写在暗雷战后希望执行的任何内容,但事件编写完成后
#   一定要★★★关闭★★★相应的开关,以防地图卡死,切记!
#==============================================================================

class Scene_Map

  #--------------------------------------------------------------------------
  # ● 恒量
  #--------------------------------------------------------------------------
  CANNOT_RUN_SWITCH  = 96   # 不允许逃跑的开关  ON: 不能逃;OFF: 可以逃(默认)
  CAN_LOSE_SWITCH    = 97   # 允许失败的开关    ON: 可以败;OFF: 不能败(默认)
  VICTORY_SWITCH     = 98   # 随机战胜利后,会自动打开此开关,以便公共事件处理
  ESCAPE_SWITCH      = 99   # 随机战逃跑后,会自动打开此开关,以便公共事件处理
  DEFEAT_SWITCH      = 100   # 随机战失败后,会自动打开此开关,以便公共事件处理

  alias sailcat_call_battle call_battle
  #--------------------------------------------------------------------------
  # ● 调用战斗
  #--------------------------------------------------------------------------
  def call_battle
    # 是暗雷战斗的情况下
    if $game_temp.battle_proc == nil
      # 重新定义各项参数
      $game_temp.battle_can_escape = (not $game_switches[CANNOT_RUN_SWITCH])
      $game_temp.battle_can_lose = $game_switches[CAN_LOSE_SWITCH]
      $game_temp.battle_proc = Proc.new { |n|
      $game_switches[[VICTORY_SWITCH, ESCAPE_SWITCH, DEFEAT_SWITCH][n]]=true}
    end
    # 呼叫战斗画面
    sailcat_call_battle
  end
end
[/pre]
然后一遇怪就错误了 QQ截图20170430221936.png
求大神!!!!!!!!!!!!!!!
梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2017-4-30 23:16:50 | 显示全部楼层
因为,这个,是xp的脚本
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
0
星屑
50
在线时间
47 小时
注册时间
2016-8-12
回帖
23
 楼主| 发表于 2017-5-1 21:31:55 | 显示全部楼层
guoxiaomi 发表于 2017-4-30 23:16
因为,这个,是xp的脚本

那要怎么才能给vx用呢或者有没有给vx用的这样类型的脚本
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2017-5-1 23:38:14 | 显示全部楼层
丶温柔是罪 发表于 2017-5-1 21:31
那要怎么才能给vx用呢或者有没有给vx用的这样类型的脚本

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

[pre lang="ruby"]#==============================================================================
# ■ 暗雷战后自定义处理 (by SailCat)
#------------------------------------------------------------------------------
#  设定五个开关,编号见下面的恒量。
#   设定三个公共事件,自动执行,条件开关分别为下面的随机战胜、逃、败的开关
#   在公共事件中,你可以编写在暗雷战后希望执行的任何内容,但事件编写完成后
#   一定要★★★关闭★★★相应的开关,以防地图卡死,切记!
#   [VX版 移植: guoxiaomi]
#==============================================================================

class Scene_Map

  #--------------------------------------------------------------------------
  # ● 恒量
  #--------------------------------------------------------------------------
  CANNOT_RUN_SWITCH  = 96   # 不允许逃跑的开关  ON: 不能逃;OFF: 可以逃(默认)
  CAN_LOSE_SWITCH    = 97   # 允许失败的开关    ON: 可以败;OFF: 不能败(默认)
  VICTORY_SWITCH     = 98   # 随机战胜利后,会自动打开此开关,以便公共事件处理
  ESCAPE_SWITCH      = 99   # 随机战逃跑后,会自动打开此开关,以便公共事件处理
  DEFEAT_SWITCH      = 100   # 随机战失败后,会自动打开此开关,以便公共事件处理

  alias sailcat_call_battle call_battle
  #--------------------------------------------------------------------------
  # ● 调用战斗
  #--------------------------------------------------------------------------
  def call_battle
    # 是暗雷战斗的情况下
    if $game_temp.battle_proc == nil
      # 重新定义各项参数
      $game_troop.can_escape = (not $game_switches[CANNOT_RUN_SWITCH])          
      $game_troop.can_lose = $game_switches[CAN_LOSE_SWITCH]
      $game_temp.battle_proc = Proc.new { |n|
      $game_switches[[VICTORY_SWITCH, ESCAPE_SWITCH, DEFEAT_SWITCH][n]]=true}
    end
    # 呼叫战斗画面
    sailcat_call_battle
  end
end[/pre]

评分

参与人数 1星屑 +30 收起 理由
怪蜀黍 + 30 认可答案

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
0
星屑
50
在线时间
47 小时
注册时间
2016-8-12
回帖
23
 楼主| 发表于 2017-5-2 23:46:09 | 显示全部楼层
guoxiaomi 发表于 2017-5-1 23:38
把逃跑和失败的那两行照着 VX 的改成了 $game_troop ,你看看这样行不行?

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

虽然不报错了但是它不执行事件啊战斗失败后直接就game over了,头大。。。不过还是要谢谢!

点评

不好意思说错了,是把暗雷允许失败的开关打开  发表于 2017-5-2 23:54
战斗失败处理事件,看图书馆里面的《暗雷战斗处理》  发表于 2017-5-2 23:53
回复

使用道具 举报

梦石
0
星屑
50
在线时间
47 小时
注册时间
2016-8-12
回帖
23
 楼主| 发表于 2017-5-3 00:59:47 | 显示全部楼层
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
复制代码

点评

17行,第97号开关  发表于 2017-5-3 01:53
回复

使用道具 举报

梦石
0
星屑
50
在线时间
47 小时
注册时间
2016-8-12
回帖
23
 楼主| 发表于 2017-5-3 12:38:28 | 显示全部楼层
guoxiaomi 发表于 2017-5-1 23:38
把逃跑和失败的那两行照着 VX 的改成了 $game_troop ,你看看这样行不行?

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

没有用啊大神!而切打开只能在公共事件里,不会默认打开

点评

如果还是没有用的话,主要vx用的少……我帮不了更多了  发表于 2017-5-3 12:42
游戏开始的时候打开呗  发表于 2017-5-3 12:41
回复

使用道具 举报

梦石
0
星屑
50
在线时间
47 小时
注册时间
2016-8-12
回帖
23
 楼主| 发表于 2017-5-3 23:53:42 | 显示全部楼层
丶温柔是罪 发表于 2017-5-3 12:38
没有用啊大神!而切打开只能在公共事件里,不会默认打开

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

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部