赞 | 0 |
VIP | 155 |
好人卡 | 9 |
积分 | 3 |
经验 | 15635 |
最后登录 | 2024-10-29 |
在线时间 | 412 小时 |
Lv2.观梦者 永遠神剣
- 梦石
- 0
- 星屑
- 339
- 在线时间
- 412 小时
- 注册时间
- 2009-8-16
- 帖子
- 1797
|
- class Scene_Battle
- #--------------------------------------------------------------------------
- # ● 开始结束战斗回合
- #--------------------------------------------------------------------------
- def start_phase5
- # 转移到回合 5
- @phase = 5
- Graphics.freeze
- @battleend = Sprite.new
- @battleend.bitmap = RPG::Cache.picture("战斗胜利") #设定胜利显示的文件名,图片放在pictures文件下
- Graphics.transition(60)
- # 演奏战斗结束 ME
- $game_system.me_play($game_system.battle_end_me)
- # 还原为战斗开始前的 BGM
- $game_system.bgm_play($game_temp.map_bgm)
- # 初始化 EXP、金钱、宝物
- exp = 0
- gold = 0
- treasures = []
- # 循环
- for enemy in $game_troop.enemies
- # 敌人不是隐藏状态的情况下
- unless enemy.hidden
- # 获得 EXP、增加金钱
- exp += enemy.exp
- gold += enemy.gold
- # 出现宝物判定
- if rand(100) < enemy.treasure_prob
- if enemy.item_id > 0
- treasures.push($data_items[enemy.item_id])
- end
- if enemy.weapon_id > 0
- treasures.push($data_weapons[enemy.weapon_id])
- end
- if enemy.armor_id > 0
- treasures.push($data_armors[enemy.armor_id])
- end
- end
- end
- end
- # 限制宝物数为 6 个
- treasures = treasures[0..5]
- # 获得 EXP
- for i in 0...$game_party.actors.size
- actor = $game_party.actors[i]
- if actor.cant_get_exp? == false
- last_level = actor.level
- actor.exp += exp
- if actor.level > last_level
- @status_window.level_up(i)
- end
- end
- end
- # 获得金钱
- $game_party.gain_gold(gold)
- # 获得宝物
- for item in treasures
- case item
- when RPG::Item
- $game_party.gain_item(item.id, 1)
- when RPG::Weapon
- $game_party.gain_weapon(item.id, 1)
- when RPG::Armor
- $game_party.gain_armor(item.id, 1)
- end
- end
- # 生成战斗结果窗口
- @result_window = Window_BattleResult.new(exp, gold, treasures)
- # 设置等待计数
- @phase5_wait_count = 100
- end
- #--------------------------------------------------------------------------
- # ● 画面更新 (结束战斗回合)
- #--------------------------------------------------------------------------
- def update_phase5
- # 等待计数大于 0 的情况下
- if @phase5_wait_count > 0
- # 减少等待计数
- @phase5_wait_count -= 1
- # 等待计数为 0 的情况下
- if @phase5_wait_count == 0
- # 显示结果窗口
- @result_window.visible = true
- # 清除主回合标志
- $game_temp.battle_main_phase = false
- # 刷新状态窗口
- @status_window.refresh
- end
- return
- end
- # 按下 C 键的情况下
- if Input.trigger?(Input::C)
- # 战斗结束
- Graphics.freeze
- @battleend.dispose if @battleend
- Graphics.transition(60)
- battle_end(0)
- end
- end
- end
复制代码 这个只是默认战斗脚本的啊. 如果你用了什么脚本战斗里是不同的方法名.一定会报错,有什么错的话在说咯^^ |
|