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

Project1

 找回密码
 注册会员
搜索
查看: 1672|回复: 6
打印 上一主题 下一主题

关于RTAB 0.17b 的问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
4 小时
注册时间
2006-5-12
帖子
447
跳转到指定楼层
1
发表于 2007-7-27 18:55:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这个工程到底改了哪里?我照搬过来,还是出错啊!!
版务信息:本贴由楼主自主结贴~

Lv1.梦旅人

梦石
0
星屑
60
在线时间
4 小时
注册时间
2006-5-12
帖子
447
2
 楼主| 发表于 2007-7-27 18:55:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这个工程到底改了哪里?我照搬过来,还是出错啊!!
版务信息:本贴由楼主自主结贴~

Lv1.梦旅人

Dancer-

梦石
0
星屑
55
在线时间
76 小时
注册时间
2006-11-9
帖子
3551

开拓者贵宾

3
发表于 2007-7-27 18:57:33 | 只看该作者
直接用其范例工程作为基础工程来制作游戏。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-5-13
帖子
138
4
发表于 2007-7-27 23:45:16 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-7-6
帖子
54
5
发表于 2007-7-28 01:40:36 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
4 小时
注册时间
2006-5-12
帖子
447
6
 楼主| 发表于 2007-7-28 06:28:53 | 只看该作者
哦哦哦哦哦哦
版主对此帖的评论:『在新人区灌水』,积分『-1880』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2007-6-13
帖子
458
7
发表于 2007-7-28 07:17:09 | 只看该作者
使用RTAB的战斗系统还需要修改Scene_Battle~具体修改那个我已经忘了,好象是2.
因为我现在又用了柳柳的战斗防卡的脚本修改方法..(用RTAB的战斗系统用加了很多脚本我卡死了...)


我把我所有的Scene_Battle 2的脚本发给你吧~  想全发却找出了允许范围
  1. #==============================================================================
  2. # ■ Scene_Battle (分割定义 2)
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的类。
  5. #==============================================================================

  6. class Scene_Battle
  7.   #--------------------------------------------------------------------------
  8.   # ● 开始自由战斗回合
  9.   #--------------------------------------------------------------------------
  10.   def start_phase1
  11.     # 转移到回合 1
  12.     @phase = 1
  13.     # 清除全体同伴的行动
  14.     $game_party.clear_actions
  15.     # 设置战斗事件
  16.     setup_battle_event
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 刷新画面 (自由战斗回合)
  20.   #--------------------------------------------------------------------------
  21.   def update_phase1
  22.     # 胜败判定
  23.     if judge
  24.       # 胜利或者失败的情况下 : 过程结束
  25.       return
  26.     end
  27.     # 开始同伴命令回合
  28.     start_phase2
  29.   end
  30.   #--------------------------------------------------------------------------
  31.   # ● 开始同伴命令回合
  32.   #--------------------------------------------------------------------------
  33.   def start_phase2
  34.     # 转移到回合 2
  35.     @phase = 2
  36.     # 设置角色为非选择状态
  37.     @actor_index = -1
  38.     @active_battler = nil
  39. #------------------------------------------------------------------------------
  40. #RTAB观光游第一站,去除“战斗/逃跑”选项部分   
  41.     # 有效化同伴指令窗口
  42. #    @party_command_window.active = true
  43. #    @party_command_window.visible = true
  44. #------------------------------------------------------------------------------
  45.     # 无效化角色指令窗口
  46.     @actor_command_window.active = false
  47.     @actor_command_window.visible = false
  48.     # 清除主回合标志
  49.     $game_temp.battle_main_phase = false
  50.     # 清除全体同伴的行动
  51.     $game_party.clear_actions
  52.     # 不能输入命令的情况下
  53.     unless $game_party.inputable?
  54.       # 开始主回合
  55.       start_phase4
  56.     end
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 刷新画面 (同伴命令回合)
  60.   #--------------------------------------------------------------------------
  61.   def update_phase2
  62.     # 按下 C 键的情况下
  63.     if Input.trigger?(Input::C)
  64.       # 同伴指令窗口光标位置分支
  65.       case @party_command_window.index
  66.       when 0  # 战斗
  67.         # 演奏确定 SE
  68.         $game_system.se_play($data_system.decision_se)
  69.         # 开始角色的命令回合
  70.         start_phase3
  71.       when 1  # 逃跑
  72.         # 不能逃跑的情况下
  73.         if $game_temp.battle_can_escape == false
  74.           # 演奏冻结 SE
  75.           $game_system.se_play($data_system.buzzer_se)
  76.           return
  77.         end
  78.         # 演奏确定 SE
  79.         $game_system.se_play($data_system.decision_se)
  80.         # 逃走处理
  81.         update_phase2_escape
  82.       end
  83.       return
  84.     end
  85.   end
  86.   #--------------------------------------------------------------------------
  87.   # ● 画面更新 (同伴指令回合 : 逃跑)
  88.   #--------------------------------------------------------------------------
  89.   def update_phase2_escape
  90.     # 计算敌人速度的平均值
  91.     enemies_agi = 0
  92.     enemies_number = 0
  93.     for enemy in $game_troop.enemies
  94.       if enemy.exist?
  95.         enemies_agi += enemy.agi
  96.         enemies_number += 1
  97.       end
  98.     end
  99.     if enemies_number > 0
  100.       enemies_agi /= enemies_number
  101.     end
  102.     # 计算角色速度的平均值
  103.     actors_agi = 0
  104.     actors_number = 0
  105.     for actor in $game_party.actors
  106.       if actor.exist?
  107.         actors_agi += actor.agi
  108.         actors_number += 1
  109.       end
  110.     end
  111.     if actors_number > 0
  112.       actors_agi /= actors_number
  113.     end
  114.     # 逃跑成功判定
  115.     success = rand(100) < 50 * actors_agi / enemies_agi
  116.     # 成功逃跑的情况下
  117.     if success
  118.       # 演奏逃跑 SE
  119.       $game_system.se_play($data_system.escape_se)
  120.       # 还原为战斗开始前的 BGM
  121.       $game_system.bgm_play($game_temp.map_bgm)
  122.       # 战斗结束
  123.       battle_end(1)
  124.     # 逃跑失败的情况下
  125.     else
  126.       # 清除全体同伴的行动
  127.       $game_party.clear_actions
  128.       # 开始主回合
  129.       start_phase4
  130.     end
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # ● 开始结束战斗回合
  134.   #--------------------------------------------------------------------------
  135.   def start_phase5
  136.     # 转移到回合 5
  137.     @phase = 5
  138.     # 演奏战斗结束 ME
  139.     $game_system.me_play($game_system.battle_end_me)
  140.     # 还原为战斗开始前的 BGM
  141.     $game_system.bgm_play($game_temp.map_bgm)
  142.     # 初始化 EXP、金钱、宝物
  143.     exp = 0
  144.     gold = 0
  145.     treasures = []
  146.     # 循环
  147.     for enemy in $game_troop.enemies
  148.       # 敌人不是隐藏状态的情况下
  149.       unless enemy.hidden
  150.         # 获得 EXP、增加金钱
  151.         exp += enemy.exp
  152.         gold += enemy.gold
  153.         # 出现宝物判定
  154.         if rand(100) < enemy.treasure_prob
  155.           if enemy.item_id > 0
  156.             treasures.push($data_items[enemy.item_id])
  157.           end
  158.           if enemy.weapon_id > 0
  159.             treasures.push($data_weapons[enemy.weapon_id])
  160.           end
  161.           if enemy.armor_id > 0
  162.             treasures.push($data_armors[enemy.armor_id])
  163.           end
  164.         end
  165.       end
  166.     end
  167.     # 限制宝物数为 6 个
  168.     treasures = treasures[0..5]
  169.     # 获得 EXP
  170.     for i in 0...$game_party.actors.size
  171.       actor = $game_party.actors[i]
  172.       if actor.cant_get_exp? == false
  173.         last_level = actor.level
  174.         actor.exp += exp
  175.         if actor.level > last_level
  176.           @status_window.level_up(i)
  177.         end
  178.       end
  179.     end
  180.     # 获得金钱
  181.     $game_party.gain_gold(gold)
  182.     # 获得宝物
  183.     for item in treasures
  184.       case item
  185.       when RPG::Item
  186.         $game_party.gain_item(item.id, 1)
  187.       when RPG::Weapon
  188.         $game_party.gain_weapon(item.id, 1)
  189.       when RPG::Armor
  190.         $game_party.gain_armor(item.id, 1)
  191.       end
  192.     end
  193.     # 生成战斗结果窗口
  194.     @result_window = Window_BattleResult.new(exp, gold, treasures)
  195.     # 设置等待计数
  196.     @phase5_wait_count = 100
  197.   end
  198.   #--------------------------------------------------------------------------
  199.   # ● 画面更新 (结束战斗回合)
  200.   #--------------------------------------------------------------------------
  201.   def update_phase5
  202.     # 等待计数大于 0 的情况下
  203.     if @phase5_wait_count > 0
  204.       # 减少等待计数
  205.       @phase5_wait_count -= 1
  206.       # 等待计数为 0 的情况下
  207.       if @phase5_wait_count == 0
  208.         # 显示结果窗口
  209.         @result_window.visible = true
  210.         # 清除主回合标志
  211.         $game_temp.battle_main_phase = false
  212.         # 刷新状态窗口
  213.         @status_window.refresh
  214.       end
  215.       return
  216.     end
  217.     # 按下 C 键的情况下
  218.     if Input.trigger?(Input::C)
  219.       # 战斗结束
  220.       battle_end(0)
  221.     end
  222.   end
  223. end
复制代码


系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
空 憂 憂
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-7-3 07:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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