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

Project1

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

[已经过期] 关于这个章节脚本如何保存变量

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
237 小时
注册时间
2014-9-14
帖子
38
跳转到指定楼层
1
发表于 2015-8-18 20:01:47 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
设置了变量但是选择一次后 第二次开启就没有了

例如 我给变量赋值2  第二章开启了  选择第二章之后  再次打开章节选择 第二章又变成不可选模式
RUBY 代码复制
  1. #==============================================================================
  2. # ■             【VX Ace】章节选择  - By 哇哈哈哇哈哈(Ver 1.03)
  3. #------------------------------------------------------------------------------
  4. #                           简介:通过章节进行传送。
  5. #                           适用范围:大部分游戏。
  6. #-------------------------------------------------------------------------------
  7. #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8. #  ※ 基本信息(Basic Information):
  9. #   * 适用:RPGVXAce(RGSS3)
  10. #   * 难度:★★★
  11. #   * 版本:1.03
  12. #   * 编写日期:2014/8/25
  13. #   * 上手度:中等
  14. #   * 兼容性:中等
  15. #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  16. #------------------------------------------------------------------------------
  17. #                  ※    使用方法、注意事项及更新内容     ※
  18. #------------------------------------------------------------------------------
  19. # ● 使用方法:
  20. #    放入脚本Main之上,为了减少冲突请将脚本尽量往下放置。
  21. #    地图中使用该脚本:local
  22. #    如果章节需要条件开启,请将Value_C所设置的变量序号设置到相应的数值。
  23. #    例如:开启第二章,将3号变量赋值为2。
  24. #    如有疑问请在脚本发布贴内说明。
  25. #    请将章节开启后输入事件脚本saver
  26. #------------------------------------------------------------------------------
  27. #  ● 注意事项:
  28. #   1、请查看该脚本是否用于RMVA上。
  29. #   2、由于脚本未经多次测试,兼容性未知。
  30. #   3、如有BUG请及时反馈。
  31. #------------------------------------------------------------------------------
  32. #  ● 版本更新:
  33. #    * 1.03   12.15
  34. #    1、新增加章节补充说明,提高脚本实用性和灵活性;
  35. #    2、改善多处细节,即使不使用基础脚本也可以运行。
  36. #    * 1.02   11.30
  37. #    1、再次修改脚本,取消大部分全局变量;
  38. #    2、增强脚本兼容性。
  39. #    3、加强细节修正。
  40. #    * 1.01   9.20
  41. #    1、简化语句,修改项位置修改至更容易修改的地方;
  42. #    2、更改章节更新的脚本及位置,使操作更简单。
  43. #    * 1.00   8.26
  44. #    初版发布,脚本制作完成。
  45. #==============================================================================
  46. $wahaha_script = {} if $wahaha_script.nil?
  47. $wahaha_script["local_choose"] = 1.03
  48. module Wahaha
  49.   # 支持此脚本运行的变量序号。
  50.   Value_C = 3
  51.  
  52.   # 章节设置。
  53.   # 其格式为[名称,地图序号,X坐标,Y坐标]。
  54.   Name1 = ["Fleid",1,15,12,"World"]
  55.   Name2 = ["Darkspace",2,10,"Castle"]
  56.   Name3 = ["MagicCastle",3,21,16,"Plain"]
  57.   Name4 = ["Memory",4,13,15,"Crystal"]
  58.   Name5 = ["Final",5,17,11,"Demoncastle"]
  59.  
  60.   # 位于界面右旁的说明。
  61.   Story = ("今天我们所讲的就有这些,你需\n要进行不断的传送才可以成为兄\n贵!!!")
  62.  
  63.   # 在标题画面中是否自动开启章节选择,如果不需要请改为false.
  64.   NewStart = true
  65.  
  66.   # 进入章节选择的背景界面,需要放入游戏根目录/Graphics/Title1文件夹里。
  67.   # 你可以自定义设置。
  68.   Background = "Plain"
  69.  
  70.   # 第一章是否默认开启?如果不是请改为false.
  71.   Normal_One = true
  72. end
  73. #==============================================================================
  74. # ■                           Script
  75. #------------------------------------------------------------------------------
  76. #     ※ 注意:除注释区内制定修改的脚本以外请勿随意更改,否则会发生脚本错误。
  77. #==============================================================================
  78. #==============================================================================
  79. # ■ Scene_Title
  80. #------------------------------------------------------------------------------
  81. #  标题画面
  82. #==============================================================================
  83. class Scene_Title < Scene_Base
  84.   #--------------------------------------------------------------------------
  85.   # ● 开始处理
  86.   #--------------------------------------------------------------------------
  87.   alias wahaha_orginial_20141031 start
  88.   def start
  89.    wahaha_orginial_20141031
  90.    Wahaha_Save.newdoc_save unless FileTest.exist?("System/Saver_Wahaha.rvdata2")
  91.    Wahaha_Save.newdoc_load if FileTest.exist?("System/Saver_Wahaha.rvdata2")
  92.   end
  93. end
  94. #==============================================================================
  95. # ■ Game_Interpreter
  96. #------------------------------------------------------------------------------
  97. #  事件指令的解释器。
  98. #   本类在 Game_Map、Game_Troop、Game_Event 类的内部使用。
  99. #==============================================================================
  100. class Game_Interpreter
  101.   def saver
  102.     Wahaha_Save.newdoc_save
  103.   end
  104.   def local
  105.     SceneManager.call(Scene_Localer)
  106.   end
  107. end
  108. #==============================================================================
  109. # ■ WahahaSave
  110. #------------------------------------------------------------------------------
  111. #  变量储存的设置。
  112. #==============================================================================
  113. module Wahaha_Save
  114.   #=============================================================================
  115.   # * 将游戏变量储存到一个文件内。
  116.   #=============================================================================
  117.   def self.newdoc_save
  118.     file = File.open("System/Saver_Wahaha.rvdata2","wb")
  119.     Marshal.dump($game_variables, file)
  120.     file.close
  121.   end
  122.   def self.newdoc_load
  123.     file = File.open("System/Saver_Wahaha.rvdata2","rb")
  124.     $game_variables = Marshal.load(file)
  125.     file.close
  126.   end
  127. end
  128. module Check_Locals
  129.   def self.filexist?(kao)
  130.     $game_variables[Wahaha::Value_C] >= kao
  131.   end
  132. end
  133. #==============================================================================
  134. # ■ Scene_Title
  135. #------------------------------------------------------------------------------
  136. #  标题画面。
  137. #==============================================================================
  138. class Scene_Title < Scene_Base
  139.   alias a start
  140.   def start
  141.     a
  142.     Wahaha_Save.newdoc_load
  143.   end
  144.   alias old_command_new_game command_new_game
  145.   def command_new_game
  146.     if Wahaha::NewStart
  147.     close_command_window
  148.     SceneManager.call(Scene_Localer)
  149.     else
  150.     old_command_new_game
  151.     end
  152.   end
  153. end
  154. #==============================================================================
  155. # ■ Window_Localer
  156. #------------------------------------------------------------------------------
  157. #  传送画面的窗口。
  158. #==============================================================================
  159. class Window_Localer < Window_Command
  160.   include Wahaha
  161.   def initialize
  162.     super(0, 0)
  163.     update_placement
  164.     select_symbol(:one) if checker1
  165.     select_symbol(:two) if checker2
  166.     select_symbol(:thr) if checker3
  167.     select_symbol(:fou) if checker4
  168.     select_symbol(:fiv) if checker5
  169.     self.openness = 0
  170.     open
  171.   end
  172.   def window_width
  173.     return 160
  174.   end
  175.   def update_placement
  176.     self.x = 0
  177.     self.y = 50
  178.   end
  179.   def make_command_list
  180.     add_command(Name1[0], :one,checker1)
  181.     add_command(Name2[0], :two,checker2)
  182.     add_command(Name3[0], :thr,checker3)
  183.     add_command(Name4[0], :fou,checker4)
  184.     add_command(Name5[0], :fiv,checker5)
  185.   end
  186.   def checker1
  187.     Check_Locals.filexist?(1)
  188.   end
  189.   def checker2
  190.     Check_Locals.filexist?(2)
  191.   end
  192.   def checker3
  193.     Check_Locals.filexist?(3)
  194.   end
  195.   def checker4
  196.     Check_Locals.filexist?(4)
  197.   end
  198.   def checker5
  199.     Check_Locals.filexist?(5)
  200.   end
  201. end
  202. class Window_Localersyst <Window_Selectable
  203.   def initialize
  204.     super(0, 0, Graphics.width, 50)
  205.     draw_text_ex(4, 1, "★-☆-★-☆-★-☆章节选择★-☆-★-☆-★-☆")
  206.     activate
  207.   end
  208. end
  209. class Window_Localertext < Window_Selectable
  210.   def initialize
  211.     super(160, 50, Graphics.width - 160, Graphics.height - 50)
  212.     draw_text_ex(4, 0, Wahaha::Story)
  213.     activate
  214.   end
  215. end
  216. #==============================================================================
  217. # ■ Scene_Localer
  218. #------------------------------------------------------------------------------
  219. #  传送画面。
  220. #==============================================================================
  221. class Scene_Localer < Scene_Base
  222.   include Wahaha
  223.   def start
  224.     super
  225.     Graphics.freeze
  226.     onesa
  227.     create_command_window
  228.     create_command_window2
  229.     new_background
  230.   end
  231.   def transition_speed
  232.     return 20
  233.   end
  234.   def terminate
  235.     super
  236.     SceneManager.snapshot_for_background
  237.   end
  238.   def onesa
  239.   $game_variables[Value_C] = 1 if Normal_One && $game_variables[Value_C] == 0
  240.   end
  241.   def new_background
  242.     @background_sprite = Sprite.new
  243.     @background_sprite.bitmap = Cache.title1(Background)
  244.     @background_sprite.color.set(16, 16, 16, 128)
  245.   end
  246.   def create_command_window
  247.     @command_window = Window_Localer.new
  248.     @command_window.set_handler(:one, method(:one1))
  249.     @command_window.set_handler(:two, method(:two2))
  250.     @command_window.set_handler(:thr, method(:thr3))
  251.     @command_window.set_handler(:fou, method(:fou4))
  252.     @command_window.set_handler(:fiv, method(:fiv5))
  253.     @command_window.set_handler(:cancel,    method(:return_scene))
  254.   end
  255.   def create_command_window2
  256.     @story_window = Window_Localertext.new
  257.     @story_window.set_handler(:cancel, method(:return_scene))
  258.     @story2_window = Window_Localersyst.new
  259.     @story2_window.set_handler(:cancel, method(:return_scene))
  260.   end
  261.   def close_command_window
  262.     @command_window.close
  263.     update until @command_window.close?
  264.   end
  265.   def same
  266.     close_command_window
  267.     DataManager.setup_new_game
  268.     fadeout_all
  269.   end
  270.   def one1
  271.     same
  272.     $game_map.setup(Name1[1])
  273.     $game_player.moveto(Name1[2],Name1[3])
  274.     $game_map.autoplay
  275.     SceneManager.goto(Scene_Map)
  276.   end
  277.   def two2
  278.     same
  279.     $game_map.setup(Name2[1])
  280.     $game_player.moveto(Name2[2],Name2[3])
  281.     $game_map.autoplay
  282.     SceneManager.goto(Scene_Map)
  283.   end
  284.   def thr3
  285.     same
  286.     $game_map.setup(Name3[1])
  287.     $game_player.moveto(Name3[2],Name3[3])
  288.     $game_map.autoplay
  289.     SceneManager.goto(Scene_Map)
  290.   end
  291.   def fou4
  292.     same
  293.     $game_map.setup(Name4[1])
  294.     $game_player.moveto(Name4[2],Name4[3])
  295.     $game_map.autoplay
  296.     SceneManager.goto(Scene_Map)
  297.   end
  298.   def fiv5
  299.     same
  300.     $game_map.setup(Name5[1])
  301.     $game_player.moveto(Name5[2],Name5[3])
  302.     $game_map.autoplay
  303.     SceneManager.goto(Scene_Map)
  304.   end
  305. end
  306. #==============================================================================
  307. # ■                           脚本结束
  308. #------------------------------------------------------------------------------
  309. #  ※                    The End of Scripts                 2014/8/26 10:04
  310. #==============================================================================
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-16 16:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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