赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 18684 |
最后登录 | 2020-5-5 |
在线时间 | 9 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 60
- 在线时间
- 9 小时
- 注册时间
- 2006-9-7
- 帖子
- 303
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
我尝试修改的脚本如下:
在 Scene_Map 中加入下面的脚本.
- #--------------------------------------------------------------------------
- # ● 画面更新 (结束战斗回合)
- #--------------------------------------------------------------------------
- def update_phase5
-
- # 转移到回合 5
- @phase = 5
- # 演奏战斗结束 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
- #!!! 升级后自动回复血法
- actor.hp = actor.maxhp; actor.sp = actor.maxsp
- @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
- # 等待计数大于 0 的情况下
- # if @phase5_wait_count > 0
- # 减少等待计数
- # @phase5_wait_count -= 1
- # 等待计数为 0 的情况下
- # if @phase5_wait_count == 0
-
- # 生成战斗结果窗口
- @result_window = Window_BattleResult.new(exp, gold, treasures)
- # 显示结果窗口
- @result_window.visible = true
- # 清除主回合标志
- $game_temp.battle_main_phase = false
- # 刷新状态窗口
- # @status_window.refresh
- # end
- return
- # end
-
-
- # 按下 C 键的情况下
- # if Input.trigger?(Input::C)
-
- # 显示结果窗口
- # @result_window.visible = false
- # end
-
- end
复制代码
修改
def main
# 生成活动块
@spriteset = Spriteset_Map.new
# 生成信息窗口
@message_window = Window_Message.new
# 执行过渡
Graphics.transition
# 主循环
loop do
# 刷新游戏画面
Graphics.update
# 刷新输入信息
Input.update
# 刷新画面
update
# 如果画面切换的话就中断循环
if $scene != self
break
end
end
# 回合分支
case @phase
when 1 # 自由战斗回合
update_phase1
when 2 # 同伴命令回合
update_phase2
when 3 # 角色命令回合
update_phase3
when 4 # 主回合
update_phase4
when 5 # 战斗结束回合
update_phase5
end
# 准备过渡
Graphics.freeze
# 释放活动块
@spriteset.dispose
# 释放信息窗口
@message_window.dispose
if @result_window != nil
@result_window.dispose
end
# 标题画面切换中的情况下
if $scene.is_a?(Scene_Title)
# 淡入淡出画面
Graphics.transition
Graphics.freeze
end
end
Scene_Battle 1 中的 start_phase5 修改成 update_phase5
运行游戏正常, 进入战斗正常, 问题是战斗结束后, 并没有返回地图界面,就显示了经验,并且无法返回地图.
请脚本高手帮忙看看,谢谢.
版务信息:本贴由楼主自主结贴~ |
|