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

Project1

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

[通用发布] 選取空白存檔後直接進入遊戲(XP&VX&VA)

[复制链接]

Lv1.梦旅人

梦石
0
星屑
122
在线时间
1740 小时
注册时间
2009-7-12
帖子
443
跳转到指定楼层
1
发表于 2012-1-23 02:26:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 serena718 于 2012-1-25 00:47 编辑

※新增VX版
#-----------------------------------------------------
方才幫一個人完成了這個腳本,在6R搜尋了下後發現似乎沒人有發過類似的
其實這腳本的原理很簡單,相信高手都會,而我也只是將內建的腳本移花接木罷了
還有就是這腳本並沒有做美化以及和截圖存檔之類的有動到存讀檔方面的腳本做整合
標題美化類的一定會有衝突
小妹我雖然註冊時間早但是一直都在潛水,所以也算個半新人(?)
這也是我在6R的第一個腳本,寫法各種渣(應該說只是內建的移過去),希望各位高手多包涵m(_ _)m

※請將腳本插入在Scene_Debug下、Main上
※我順便將標題的選單改了下,將"讀取"這項拿掉了,以後要開始或讀取遊戲,都將由"進入遊戲"這選項完成
※跟一些標題類,還有大部分有動到存讀檔的腳本(ex:截圖存檔…)會有衝突,請注意

(XP版本)
  1. class Scene_Title
  2.   #---------------------------------
  3.   def main
  4.     if $BTEST
  5.       battle_test
  6.       return
  7.     end
  8.     $data_actors        = load_data("Data/Actors.rxdata")
  9.     $data_classes       = load_data("Data/Classes.rxdata")
  10.     $data_skills        = load_data("Data/Skills.rxdata")
  11.     $data_items         = load_data("Data/Items.rxdata")
  12.     $data_weapons       = load_data("Data/Weapons.rxdata")
  13.     $data_armors        = load_data("Data/Armors.rxdata")
  14.     $data_enemies       = load_data("Data/Enemies.rxdata")
  15.     $data_troops        = load_data("Data/Troops.rxdata")
  16.     $data_states        = load_data("Data/States.rxdata")
  17.     $data_animations    = load_data("Data/Animations.rxdata")
  18.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
  19.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  20.     $data_system        = load_data("Data/System.rxdata")
  21.     $game_system = Game_System.new
  22.     @sprite = Sprite.new
  23.     @sprite.bitmap = RPG::Cache.title($data_system.title_name)
  24.     s1 = "進入遊戲"
  25.     s2 = "退出"
  26.     @command_window = Window_Command.new(192, [s1, s2])
  27.     @command_window.back_opacity = 160
  28.     @command_window.x = 320 - @command_window.width / 2
  29.     @command_window.y = 288
  30.     $game_system.bgm_play($data_system.title_bgm)
  31.     Audio.me_stop
  32.     Audio.bgs_stop
  33.     Graphics.transition
  34.     loop do
  35.       Graphics.update
  36.       Input.update
  37.       update
  38.       if $scene != self
  39.         break
  40.       end
  41.     end
  42.     Graphics.freeze
  43.     @command_window.dispose
  44.     @sprite.bitmap.dispose
  45.     @sprite.dispose
  46.   end
  47.   #---------------------------------
  48.   def update
  49.     @command_window.update
  50.     if Input.trigger?(Input::C)
  51.       case @command_window.index
  52.       when 0
  53.         command_continue
  54.       when 1
  55.         command_shutdown
  56.       end
  57.     end
  58.   end
  59.   #---------------------------------
  60.   def command_continue
  61.     $game_system.se_play($data_system.decision_se)
  62.     $scene = Scene_Load.new
  63.   end
  64.   #---------------------------------
  65. end  
  66.   
  67. class Scene_Load
  68.   #---------------------------------
  69.   def initialize
  70.     $game_temp = Game_Temp.new
  71.     $game_temp.last_file_index = 0
  72.     latest_time = Time.at(0)
  73.     for i in 0..3
  74.       filename = make_filename(i)
  75.       if FileTest.exist?(filename)
  76.         file = File.open(filename, "r")
  77.         if file.mtime > latest_time
  78.           latest_time = file.mtime
  79.           $game_temp.last_file_index = i
  80.         end
  81.         file.close
  82.       end
  83.     end
  84.     super("要選擇哪個紀錄?")
  85.   end
  86.   #---------------------------------
  87.   def on_decision(filename)
  88.     unless FileTest.exist?(filename)  
  89.      $game_system.se_play($data_system.decision_se)
  90.      Audio.bgm_stop
  91.      Graphics.frame_count = 0
  92.      $game_temp          = Game_Temp.new
  93.      $game_system        = Game_System.new
  94.      $game_switches      = Game_Switches.new
  95.      $game_variables     = Game_Variables.new
  96.      $game_self_switches = Game_SelfSwitches.new
  97.      $game_screen        = Game_Screen.new
  98.      $game_actors        = Game_Actors.new
  99.      $game_party         = Game_Party.new
  100.      $game_troop         = Game_Troop.new
  101.      $game_map           = Game_Map.new
  102.      $game_player        = Game_Player.new
  103.      $game_party.setup_starting_members
  104.      $game_map.setup($data_system.start_map_id)
  105.      $game_player.moveto($data_system.start_x, $data_system.start_y)
  106.      $game_player.refresh
  107.      $game_map.autoplay
  108.      $game_map.update
  109.      $scene = Scene_Map.new
  110.     else
  111.      $game_system.se_play($data_system.load_se)
  112.      file = File.open(filename, "rb")
  113.      read_save_data(file)
  114.      file.close
  115.      $game_system.bgm_play($game_system.playing_bgm)
  116.      $game_system.bgs_play($game_system.playing_bgs)
  117.      $game_map.update
  118.      $scene = Scene_Map.new
  119.     end
  120.   end
  121.   #---------------------------------
  122. end
复制代码
那啥……我幫人寫完後,才發現對方沒跟我講版本,我自顧自地以為他跟我一樣是用XP版的(汗)
於是我又弄了個RMVA版的了
上面的那個是XP版本
下面這VA版的,使用方式以及注意事項一樣
還有就是,VA版的我是將"開始遊戲"刪掉了,要更改標題選單中顯示的字
要到資料庫>用語,將"繼續遊戲"這項改成"開始遊戲"之類的……
(VA版本)
  1. class Window_TitleCommand < Window_Command
  2.   def initialize
  3.     super(0, 0)
  4.     update_placement
  5.     self.openness = 0
  6.     open
  7.   end
  8.   def make_command_list
  9.     add_command(Vocab::continue, :continue)
  10.     add_command(Vocab::shutdown, :shutdown)
  11.   end
  12. end
  13. class Scene_Title < Scene_Base
  14.   def create_command_window
  15.     @command_window = Window_TitleCommand.new
  16.     @command_window.set_handler(:continue, method(:command_continue))
  17.     @command_window.set_handler(:shutdown, method(:command_shutdown))
  18.   end
  19. end
  20. class Scene_Load < Scene_File
  21.   def on_savefile_ok
  22.     super
  23.     if DataManager.load_game(@index)
  24.       on_load_success
  25.     else
  26.       DataManager.setup_new_game
  27.       fadeout_all
  28.       $game_map.autoplay
  29.       SceneManager.goto(Scene_Map)
  30.     end
  31.   end
  32. end
复制代码
(VX版本)
  1. class Scene_Title < Scene_Base
  2.   def update
  3.     super
  4.     @command_window.update
  5.     if Input.trigger?(Input::C)
  6.       case @command_window.index
  7.       when 0
  8.         command_continue
  9.       when 1
  10.         command_shutdown
  11.       end
  12.     end
  13.   end
  14.   def create_command_window
  15.     s1 = Vocab::continue
  16.     s2 = Vocab::shutdown
  17.     @command_window = Window_Command.new(172, [s1, s2])
  18.     @command_window.x = (544 - @command_window.width) / 2
  19.     @command_window.y = 288
  20.     @command_window.openness = 0
  21.     @command_window.open
  22.   end
  23.   def command_continue
  24.       Sound.play_decision
  25.       $scene = Scene_File.new(false, true, false)
  26.   end
  27. end
  28. class Scene_File < Scene_Base
  29.   def confirm_player_location
  30.     if $data_system.start_map_id == 0
  31.       print "玩家起始位置沒有被指定。"
  32.       exit
  33.     end
  34.   end
  35.   def determine_savefile
  36.     if @saving
  37.       Sound.play_save
  38.       do_save
  39.     else
  40.       if @savefile_windows[@index].file_exist
  41.         Sound.play_load
  42.         do_load
  43.       else
  44.         confirm_player_location
  45.         Sound.play_decision
  46.         $game_party.setup_starting_members
  47.         $game_map.setup($data_system.start_map_id)
  48.         $game_player.moveto($data_system.start_x, $data_system.start_y)
  49.         $game_player.refresh
  50.         $scene = Scene_Map.new
  51.         RPG::BGM.fade(1500)
  52.         Graphics.fadeout(60)
  53.         Graphics.wait(40)
  54.         Graphics.frame_count = 0
  55.         RPG::BGM.stop
  56.         $game_map.autoplay
  57.         return
  58.       end
  59.     end
  60.     $game_temp.last_file_index = @index
  61.   end
  62. end
复制代码

评分

参与人数 1星屑 +132 收起 理由
凌童鞋 + 132 红包~

查看全部评分


那啥…我以為用戶名只是通行碼…
所以我暱稱不是serena718哈,是月見斐夜
菜鸟飞呀飞 该用户已被删除
2
发表于 2012-1-23 11:45:42 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
180
在线时间
829 小时
注册时间
2010-6-26
帖子
671
3
发表于 2012-1-24 16:58:04 手机端发表。 | 只看该作者
就是说以后如果存档空格满了的话就无法新游戏了?
新手们!不要被看扁了!我们也会用论坛搜索,我们也会自己找脚本,我们也会自己点击关闭按钮旁边的小问号!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
122
在线时间
1740 小时
注册时间
2009-7-12
帖子
443
4
 楼主| 发表于 2012-1-24 22:55:02 | 只看该作者
企鹅达达 发表于 2012-1-24 16:58
就是说以后如果存档空格满了的话就无法新游戏了?

是的,但是可以手動擴展存檔數量來解決這個問題

那啥…我以為用戶名只是通行碼…
所以我暱稱不是serena718哈,是月見斐夜
回复 支持 反对

使用道具 举报

Lv2.观梦者

(?????)

梦石
0
星屑
728
在线时间
1327 小时
注册时间
2011-7-18
帖子
3184

贵宾

5
发表于 2012-1-25 14:48:47 | 只看该作者
需要添加存档管理功能啊(有 删除/复制 就够了)

点评

這我得再研究,我到現在都還沒搞懂VX的層別是怎麼搞得(u_u|||)  发表于 2012-1-28 00:31
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 21:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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