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

Project1

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

[已经解决] 求教如何在战斗失败后可以选择重试一次?还有个存档问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1971
在线时间
926 小时
注册时间
2015-10-26
帖子
356

开拓者

跳转到指定楼层
1
发表于 2019-6-8 18:28:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
别直接退回标题画面了,最好是能出个选单,可以选择退回标题画面,或者选择重试一次战斗

另外一个问题,如何做类似暗黑那种人物存档,就是建个角色,这个角色就只能存这个档了,另外建个角色,就另外开一个档,每一个角色一个档,不可以互相覆盖的那种,有点像暗黑2

Lv2.观梦者

梦石
0
星屑
664
在线时间
101 小时
注册时间
2016-7-15
帖子
143
2
发表于 2019-6-8 18:41:21 | 只看该作者
俩者脚本皆可做到。
1.退回标题画面是因为你用了随机遇敌吧?请使用战斗处理,这样也可以选择等等。如果非要随机遇敌,在管理角色死亡的那个脚本后写下其他功能,来达到效果,但具体写什么我并不清楚,请问大佬,或去图书馆寻找。
2.禁用存档界面,然后使用脚本存档,具体怎么做请请教大佬或图书馆查找。(善用搜索功能哟)
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19428
在线时间
3102 小时
注册时间
2013-1-11
帖子
1291
3
发表于 2019-6-8 21:13:39 | 只看该作者
第一个问题,下面这段脚本插到main之前。

  1. class Window_VVVCommand < Window_Command
  2.   #--------------------------------------------------------------------------
  3.   # ● 初始化对象
  4.   #--------------------------------------------------------------------------
  5.   def initialize
  6.     super(0, 0)
  7.     update_placement
  8.     self.openness = 0
  9.     open
  10.   end
  11.   #--------------------------------------------------------------------------
  12.   # ● 获取窗口的宽度
  13.   #--------------------------------------------------------------------------
  14.   def window_width
  15.     return 160
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 更新窗口的位置
  19.   #--------------------------------------------------------------------------
  20.   def update_placement
  21.     self.x = (Graphics.width - width) / 2
  22.     self.y = (Graphics.height - height) / 2
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 生成指令列表
  26.   #--------------------------------------------------------------------------
  27.   def make_command_list
  28.     add_command("重战", :again)
  29.     add_command(Vocab::to_title, :to_title)
  30.   end
  31. end

  32. class Scene_Battle < Scene_Base
  33.   #--------------------------------------------------------------------------
  34.   # ● 开始处理
  35.   #--------------------------------------------------------------------------
  36.   alias qqeat_scene_battle_start start
  37.   def start
  38.     File.open('auto_battle.rvdata2', "wb") do |file|
  39.       $game_system.on_before_save
  40.       Marshal.dump(DataManager.make_save_header, file)
  41.       Marshal.dump(DataManager.make_save_contents, file)
  42.     end
  43.     qqeat_scene_battle_start
  44.   end
  45. end


  46. module BattleManager
  47.   #--------------------------------------------------------------------------
  48.   # ● 全灭时的处理
  49.   #--------------------------------------------------------------------------
  50.   def self.process_defeat
  51.     $game_message.add(sprintf(Vocab::Defeat, $game_party.name))
  52.     wait_for_message
  53.     if @can_lose
  54.       revive_battle_members
  55.       replay_bgm_and_bgs
  56.       SceneManager.return
  57.     else
  58.       win = Window_VVVCommand.new
  59.       win.set_handler(:again, proc{
  60.         File.open('auto_battle.rvdata2', "rb") do |file|
  61.           Marshal.load(file)
  62.           DataManager.extract_save_contents(Marshal.load(file))
  63.           DataManager.reload_map_if_updated
  64.         end
  65.         SceneManager.goto(Scene_Battle)
  66.       })
  67.       win.set_handler(:to_title, proc{ SceneManager.goto(Scene_Gameover) })
  68.       loop do
  69.         win.update
  70.         Graphics.update
  71.         Input.update
  72.         unless win.active
  73.           win.dispose
  74.           break
  75.         end
  76.       end
  77.     end
  78.     battle_end(2)
  79.     return true
  80.   end
  81. end
复制代码


第二个问题,你可以手动调用
DataManager.save_game(index)来选择存储到第几个存档位。

点评

谢谢~  发表于 2019-6-10 19:07

评分

参与人数 1星屑 +100 收起 理由
VIPArcher + 100 认可答案

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2115
在线时间
235 小时
注册时间
2019-4-10
帖子
119
4
发表于 2019-6-9 12:11:14 | 只看该作者
何不做一个复活角色的道具?
用战斗事件判断角色是否胜利,失败则询问是否使用道具,若使用则复活再进入战斗,失败就GameOver
等等,这个好像不用插件都可以吧,直接在战斗失败的时候就弹出选项问你是否重试,重试则进入战斗,否就GG了呗,挺简单的
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 22:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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