Project1
标题:
求教如何在战斗失败后可以选择重试一次?还有个存档问题
[打印本页]
作者:
踢腿水上飘
时间:
2019-6-8 18:28
标题:
求教如何在战斗失败后可以选择重试一次?还有个存档问题
别直接退回标题画面了,最好是能出个选单,可以选择退回标题画面,或者选择重试一次战斗
另外一个问题,如何做类似暗黑那种人物存档,就是建个角色,这个角色就只能存这个档了,另外建个角色,就另外开一个档,每一个角色一个档,不可以互相覆盖的那种,有点像暗黑2
作者:
7112
时间:
2019-6-8 18:41
俩者脚本皆可做到。
1.退回标题画面是因为你用了随机遇敌吧?请使用战斗处理,这样也可以选择等等。如果非要随机遇敌,在管理角色死亡的那个脚本后写下其他功能,来达到效果,但具体写什么我并不清楚,请问大佬,或去图书馆寻找。
2.禁用存档界面,然后使用脚本存档,具体怎么做请请教大佬或图书馆查找。(善用搜索功能哟)
作者:
张咚咚
时间:
2019-6-8 21:13
第一个问题,下面这段脚本插到main之前。
class Window_VVVCommand < Window_Command
#--------------------------------------------------------------------------
# ● 初始化对象
#--------------------------------------------------------------------------
def initialize
super(0, 0)
update_placement
self.openness = 0
open
end
#--------------------------------------------------------------------------
# ● 获取窗口的宽度
#--------------------------------------------------------------------------
def window_width
return 160
end
#--------------------------------------------------------------------------
# ● 更新窗口的位置
#--------------------------------------------------------------------------
def update_placement
self.x = (Graphics.width - width) / 2
self.y = (Graphics.height - height) / 2
end
#--------------------------------------------------------------------------
# ● 生成指令列表
#--------------------------------------------------------------------------
def make_command_list
add_command("重战", :again)
add_command(Vocab::to_title, :to_title)
end
end
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● 开始处理
#--------------------------------------------------------------------------
alias qqeat_scene_battle_start start
def start
File.open('auto_battle.rvdata2', "wb") do |file|
$game_system.on_before_save
Marshal.dump(DataManager.make_save_header, file)
Marshal.dump(DataManager.make_save_contents, file)
end
qqeat_scene_battle_start
end
end
module BattleManager
#--------------------------------------------------------------------------
# ● 全灭时的处理
#--------------------------------------------------------------------------
def self.process_defeat
$game_message.add(sprintf(Vocab::Defeat, $game_party.name))
wait_for_message
if @can_lose
revive_battle_members
replay_bgm_and_bgs
SceneManager.return
else
win = Window_VVVCommand.new
win.set_handler(:again, proc{
File.open('auto_battle.rvdata2', "rb") do |file|
Marshal.load(file)
DataManager.extract_save_contents(Marshal.load(file))
DataManager.reload_map_if_updated
end
SceneManager.goto(Scene_Battle)
})
win.set_handler(:to_title, proc{ SceneManager.goto(Scene_Gameover) })
loop do
win.update
Graphics.update
Input.update
unless win.active
win.dispose
break
end
end
end
battle_end(2)
return true
end
end
复制代码
第二个问题,你可以手动调用
DataManager.save_game(index)
来选择存储到第几个存档位。
作者:
吟游诗人_zhen
时间:
2019-6-9 12:11
何不做一个复活角色的道具?
用战斗事件判断角色是否胜利,失败则询问是否使用道具,若使用则复活再进入战斗,失败就GameOver
等等,这个好像不用插件都可以吧,直接在战斗失败的时候就弹出选项问你是否重试,重试则进入战斗,否就GG了呗,挺简单的
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1