Project1

标题: “我只要看剧情!”——剧情DEBUG的专用脚本 [打印本页]

作者: 柳柳    时间: 2006-10-20 19:27
标题: “我只要看剧情!”——剧情DEBUG的专用脚本
最近帮人DEBUG,因为目前打算专注DEBUG剧情,那么游戏中的战斗就要尽量从简。最简单的方法,如下:

  1. class Interpreter
  2.   #--------------------------------------------------------------------------
  3.   # ● 战斗处理
  4.   #--------------------------------------------------------------------------
  5.   def command_301
  6.     # 如果不是无效的队伍
  7.     if $data_troops[@parameters[0]] != nil
  8.       # 设置中断战斗标志
  9.       $game_temp.battle_abort = true
  10.       # 设置战斗调用标志
  11.       $game_temp.battle_calling = true unless $DEBUG
  12.       $game_temp.battle_troop_id = @parameters[0]
  13.       $game_temp.battle_can_escape = @parameters[1]
  14.       $game_temp.battle_can_lose = @parameters[2]
  15.       # 设置返回调用
  16.       current_indent = @list[@index].indent
  17.       $game_temp.battle_proc = Proc.new { |n| @branch[current_indent] = n }
  18.       $battle_result = 0
  19.     end
  20.     # 推进索引
  21.     @index += 1
  22.     # 结束
  23.     return false
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 胜利的情况下
  27.   #--------------------------------------------------------------------------
  28.   def command_601
  29.     common_event = $data_common_events[1]
  30.     # 公共事件有效的情况下
  31.     if common_event != nil
  32.       # 生成子解释器
  33.       @child_interpreter = Interpreter.new(@depth + 1)
  34.       @child_interpreter.setup(common_event.list, @event_id)
  35.     end
  36.     if $battle_result == 1
  37.       # 删除分支数据
  38.       @branch.delete(@list[@index].indent)
  39.       # 继续
  40.       return true
  41.     end
  42.     # 不符合条件的情况下 : 指令跳转
  43.     return command_skip
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 逃跑的情况下
  47.   #--------------------------------------------------------------------------
  48.   def command_602
  49.     # 战斗结果为逃跑的情况下
  50.     if $battle_result == 2
  51.       # 删除分支数据
  52.       @branch.delete(@list[@index].indent)
  53.       # 继续
  54.       return true
  55.     end
  56.     # 不符合条件的情况下 : 指令跳转
  57.     return command_skip
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ● 失败的情况下
  61.   #--------------------------------------------------------------------------
  62.   def command_603
  63.     # 战斗结果为失败的情况下
  64.     if $battle_result == 3
  65.       # 删除分支数据
  66.       @branch.delete(@list[@index].indent)
  67.       # 继续
  68.       return true
  69.     end
  70.     # 不符合条件的情况下 : 指令跳转
  71.     return command_skip
  72.   end
  73. end
复制代码


然后再制作一个公共事件1号(这个编号可以在脚本的common_event = $data_common_events[1]修改),内容如下

显示选项:胜利,逃跑,失败,直接跳过战斗相关处理
胜利:$battle_result = 1
失败:$battle_result = 2
逃跑:$battle_result = 3
直接跳过战斗处理:(空着不写

这样,游戏进行到战斗的时候,如果没有做过多设置,就直接胜利了。如果可选胜利/失败,则让DEBUGer自己选一个。

别忘了发布的时候把这个脚本删了 - -b

              [本贴由 叶舞枫 于 2007-4-27 14:22:48 进行了编辑]
作者: 柳柳    时间: 2006-10-20 19:27
标题: “我只要看剧情!”——剧情DEBUG的专用脚本
最近帮人DEBUG,因为目前打算专注DEBUG剧情,那么游戏中的战斗就要尽量从简。最简单的方法,如下:

  1. class Interpreter
  2.   #--------------------------------------------------------------------------
  3.   # ● 战斗处理
  4.   #--------------------------------------------------------------------------
  5.   def command_301
  6.     # 如果不是无效的队伍
  7.     if $data_troops[@parameters[0]] != nil
  8.       # 设置中断战斗标志
  9.       $game_temp.battle_abort = true
  10.       # 设置战斗调用标志
  11.       $game_temp.battle_calling = true unless $DEBUG
  12.       $game_temp.battle_troop_id = @parameters[0]
  13.       $game_temp.battle_can_escape = @parameters[1]
  14.       $game_temp.battle_can_lose = @parameters[2]
  15.       # 设置返回调用
  16.       current_indent = @list[@index].indent
  17.       $game_temp.battle_proc = Proc.new { |n| @branch[current_indent] = n }
  18.       $battle_result = 0
  19.     end
  20.     # 推进索引
  21.     @index += 1
  22.     # 结束
  23.     return false
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 胜利的情况下
  27.   #--------------------------------------------------------------------------
  28.   def command_601
  29.     common_event = $data_common_events[1]
  30.     # 公共事件有效的情况下
  31.     if common_event != nil
  32.       # 生成子解释器
  33.       @child_interpreter = Interpreter.new(@depth + 1)
  34.       @child_interpreter.setup(common_event.list, @event_id)
  35.     end
  36.     if $battle_result == 1
  37.       # 删除分支数据
  38.       @branch.delete(@list[@index].indent)
  39.       # 继续
  40.       return true
  41.     end
  42.     # 不符合条件的情况下 : 指令跳转
  43.     return command_skip
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 逃跑的情况下
  47.   #--------------------------------------------------------------------------
  48.   def command_602
  49.     # 战斗结果为逃跑的情况下
  50.     if $battle_result == 2
  51.       # 删除分支数据
  52.       @branch.delete(@list[@index].indent)
  53.       # 继续
  54.       return true
  55.     end
  56.     # 不符合条件的情况下 : 指令跳转
  57.     return command_skip
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ● 失败的情况下
  61.   #--------------------------------------------------------------------------
  62.   def command_603
  63.     # 战斗结果为失败的情况下
  64.     if $battle_result == 3
  65.       # 删除分支数据
  66.       @branch.delete(@list[@index].indent)
  67.       # 继续
  68.       return true
  69.     end
  70.     # 不符合条件的情况下 : 指令跳转
  71.     return command_skip
  72.   end
  73. end
复制代码


然后再制作一个公共事件1号(这个编号可以在脚本的common_event = $data_common_events[1]修改),内容如下

显示选项:胜利,逃跑,失败,直接跳过战斗相关处理
胜利:$battle_result = 1
失败:$battle_result = 2
逃跑:$battle_result = 3
直接跳过战斗处理:(空着不写

这样,游戏进行到战斗的时候,如果没有做过多设置,就直接胜利了。如果可选胜利/失败,则让DEBUGer自己选一个。

别忘了发布的时候把这个脚本删了 - -b

              [本贴由 叶舞枫 于 2007-4-27 14:22:48 进行了编辑]
作者: RockK    时间: 2006-10-20 19:35
{/ll}恩………………


作者: 张永    时间: 2006-10-21 12:23
今天起又有会很多忘删除脚本的人了
作者: 越前リョーマ    时间: 2006-10-21 17:36
以下引用柳柳于2006-10-20 11:27:36的发言:

本帖需要VIP点 25 才能浏览!


看不见饿……{/fd}

没有VIP点就不能使用论坛全部功能~

作者: 云舒音    时间: 2006-10-21 20:29
我的方法比较简单,把每个boss的生命值减若干个零,测试完再补上就是了
作者: 柳柳    时间: 2006-10-22 00:12
以下引用云舒音于2006-10-21 12:29:31的发言:

我的方法比较简单,把每个boss的生命值减若干个零,测试完再补上就是了

那这种方法其实可以这样:

class Game_Battler
def maxhp
  return 10 if $DEBUG and self.is_a?(Game_Enemy)
  .......(原内容).......
end
作者: ikki    时间: 2006-10-22 02:55
{/gg}这个只能判断明雷啊,暗雷失效了哦。
作者: 张永    时间: 2006-10-22 07:04
以下引用ikki于2006-10-21 18:55:53的发言:

这个只能判断明雷啊,暗雷失效了哦。

打BOSS忽略就不错了……
作者: 云舒音    时间: 2006-10-22 19:36
以下引用柳柳于2006-10-21 16:12:47的发言:


以下引用云舒音于2006-10-21 12:29:31的发言:

我的方法比较简单,把每个boss的生命值减若干个零,测试完再补上就是了


那这种方法其实可以这样:

class Game_Battler
def maxhp
return 10 if $DEBUG and self.is_a?(Game_Enemy)
.......(原内容).......
end

汗,一看脚本就头大,爬走~~~~~~~~~~
作者: 雷欧纳德    时间: 2006-10-25 00:04
我的方法更加简单,在设置难易度的时候设置了一个隐藏难度,在这个难度下所有敌人HP为1。。。。。。。
作者: link006007    时间: 2006-10-25 06:36
以下引用柳柳于2006-10-21 16:12:47的发言:


以下引用云舒音于2006-10-21 12:29:31的发言:

我的方法比较简单,把每个boss的生命值减若干个零,测试完再补上就是了


那这种方法其实可以这样:

class Game_Battler
def maxhp
return 10 if $DEBUG and self.is_a?(Game_Enemy)
.......(原内容).......
end

原来有个脚本叫做"超级Debug"? ,就是可以这么用了
作者: DriftZxnZERO    时间: 2006-10-26 17:39

应该弄的搞笑一点

输入whos your daddy

开启此功能。。
作者: ⑩字绯影    时间: 2006-11-3 05:43
通常我给主角设置了一个技能:用砖头拍(威力满,命中满,全屏,SP1)
所有HP五百万的敌人都可以秒杀
作者: fanywei    时间: 2006-11-6 10:04
OO~~我看不到啊!看来要努力了
作者: sunsega    时间: 2006-11-6 22:51
我的方法:
建立两套工程,一套为开发专用α版本,一套为测试用β版本。
测试时将/DATA备份→拷贝过去...
作者: 叼烟的男孩    时间: 2006-11-8 20:52
好东西...看到带走
作者: 金圭子    时间: 2006-12-5 17:13
以下引用ikki于2006-10-21 18:55:53的发言:

这个只能判断明雷啊,暗雷失效了哦。

再加一个逃跑必然成功…………暗雷应该也可以过去了
作者: saterick    时间: 2006-12-9 04:21
用用看。
一直以来都是给主角加一个不消耗MP的超强AOE技能。




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