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

Project1

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

[已经解决] 【死在彩蛋房上】非常崩溃的变量设置相关!楼主已崩溃。

[复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
32 小时
注册时间
2016-6-23
帖子
24
跳转到指定楼层
1
发表于 2016-9-14 22:52:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
大家好,我是音无【烟】
如题,我已经死在彩蛋房的全局变量设置上了orz
用搜索功能查找了一下,发现都是二周目相关的
但是关于彩蛋房的唯一一个帖子,
代码还花生了错误。
卤煮表示:插件啥的傻傻分不清啊!
已经完全搞不懂了啊!
我只想做个omake啊!一周目通过后改标题选项的orz
然后就跪了。
这里跪求高人帮忙啊【跪】
我知道问这个问题会被打orz
谢区管不杀之恩

Lv3.寻梦者

梦石
0
星屑
1358
在线时间
1295 小时
注册时间
2012-8-4
帖子
749
2
发表于 2016-9-14 22:57:43 | 只看该作者
  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================

  6. class Scene_Title

  7.   #--------------------------------------------------------------------------
  8.   # ● 住处理
  9.   #--------------------------------------------------------------------------
  10. def main
  11.     #@back = Plane.new   
  12.     #@back.bitmap =RPG::Cache.wtitle("13",0)
  13.   
  14.     # 战斗测试的情况下
  15.     if $BTEST
  16.       battle_test
  17.       return
  18.     end
  19.     # 载入数据库
  20.     $data_actors        = load_data("Data/Actors.rxdata")
  21.     $data_classes       = load_data("Data/Classes.rxdata")
  22.     $data_skills        = load_data("Data/Skills.rxdata")
  23.     $data_items         = load_data("Data/Items.rxdata")
  24.     $data_weapons       = load_data("Data/Weapons.rxdata")
  25.     $data_armors        = load_data("Data/Armors.rxdata")
  26.     $data_enemies       = load_data("Data/Enemies.rxdata")
  27.     $data_troops        = load_data("Data/Troops.rxdata")
  28.     $data_states        = load_data("Data/States.rxdata")
  29.     $data_animations    = load_data("Data/Animations.rxdata")
  30.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
  31.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  32.     $data_system        = load_data("Data/System.rxdata")
  33.     # 生成系统对像
  34.     $game_system = Game_System.new
  35.    # 生成标题图形

  36.     @sprite = Sprite.new
  37.     ay=rand(8)+10
  38.     @sprite.bitmap =RPG::Cache.wtitle("#{ay}",0)#RPG::Cache.title($data_system.title_name)
  39.     @sprite.bitmap.font.size=42
  40.     @sprite.bitmap.font.color = Color.new(0, 255, 0, 255)
  41.     @sprite.bitmap.draw_text(@sprite.bitmap.width-230,@sprite.bitmap.height/2,220,100,"V2.0正式版",1)
  42.     @sprite.y= -100 if ay==10
  43.     @sprite.y= -100 if ay==11
  44.     @sprite.y= -350 if ay==12
  45.     @sprite.y= -100 if ay==15
  46.     @sprite.y= -100 if ay==16
  47.     @sprite.y= -100 if ay==17
  48.     @[email protected]
  49.     @[email protected]
  50.     @daotui=0

  51.     # 更改
  52.     if FileTest.exist?("Finished.rxdata")
  53.        # 生成命令窗口
  54.     s1 = "学期开始"
  55.     s2 = "继续开课"
  56.     s3 = "放学回家"
  57.     s4 = "旧梦重温"
  58.     s5 =  "光之继承者"
  59.     @command_window = Window_Command1.new(192, [s1, s2, s3,s4,s5])
  60.     @command_window.back_opacity = 150
  61.     @command_window.x = 320 - @command_window.width / 2
  62.     @command_window.y = 288
  63.     else
  64.     # 生成命令窗口
  65.     s1 = "学期开始"
  66.     s2 = "继续开课"
  67.     s3 = "放学回家"
  68.     @command_window = Window_Command1.new(192, [s1, s2, s3])
  69.     @command_window.back_opacity = 150
  70.     @command_window.x = 320 - @command_window.width / 2
  71.     @command_window.y = 288
  72.     end
  73.     # 判定继续的有效性
  74.     # 存档文件一个也不存在的时候也调查
  75.     # 有効为 @continue_enabled 为 true、無効为 false
  76.     @continue_enabled = false
  77.     for i in 0..19
  78.       if FileTest.exist?("Save#{i+1}.rxdata")
  79.         @continue_enabled = true
  80.       end
  81.     end
  82.     # 继续为有效的情况下、光标停止在继续上
  83.     # 无效的情况下、继续的文字显示为灰色
  84.     if @continue_enabled
  85.       @command_window.index = 1
  86.     else
  87.       @command_window.disable_item(1)
  88.     end
  89.     # 演奏标题 BGM
  90.     $game_system.bgm_play($data_system.title_bgm)
  91.     # 停止演奏 ME、BGS
  92.     Audio.me_stop
  93.     Audio.bgs_stop
  94.    # 执行过渡
  95.     Graphics.transition(25, "Graphics/Transitions/" +$data_system.battle_transition)
  96.    # 主循环
  97.     loop do
  98.       # 刷新游戏画面
  99.       Graphics.update
  100.       # 刷新输入信息
  101.       Input.update
  102.       # 刷新画面
  103.       update
  104.       # 如果画面被切换就中断循环
  105.       if $scene != self
  106.         break
  107.       end
  108.     end
  109.     # 装备过渡
  110.     Graphics.freeze
  111.     # 释放命令窗口
  112.     @command_window.dispose
  113.     # 释放标题图形
  114.     @sprite.bitmap.dispose
  115.     @sprite.dispose

  116.   end

  117.    #--------------------------------------------------------------------------
  118.   # ● 刷新画面
  119.   #--------------------------------------------------------------------------
  120.   def update
  121.     @sprite.x-=1 if [email protected]<@tupianwidth-640 and @daotui==0
  122.     @daotui=1 if [email protected]+1==@tupianwidth-640
  123.     @sprite.x+=1 if @sprite.x<0 and @daotui==1
  124.     @daotui=0 if @sprite.x+1>0
  125.     # 刷新命令窗口
  126.     @command_window.update
  127.     # 按下 C 键的情况下
  128.     if Input.trigger?(Input::C)
  129.       # 命令窗口的光标位置的分支
  130.       case @command_window.index
  131.       when 0  # 新游戏
  132.         command_new_game
  133.       when 1  # 继续
  134.         command_continue
  135.       when 2  # 退出
  136.         command_shutdown
  137.           when 3  # 旧梦重温
  138.        command_old_game
  139.          when 4  # 光之继承者
  140.        command_other_game
  141.       end
  142.     end

  143.   end
  144.   #--------------------------------------------------------------------------
  145.   # ● 命令 : 新游戏
  146.   #--------------------------------------------------------------------------
  147.   def command_new_game
  148.     # 演奏确定 SE
  149.     $game_system.se_play($data_system.decision_se)
  150.     # 停止 BGM
  151.     Audio.bgm_stop
  152.     # 重置测量游戏时间用的画面计数器
  153.     Graphics.frame_count = 0
  154.     # 生成各种游戏对像
  155.     $game_temp          = Game_Temp.new
  156.     $game_system        = Game_System.new
  157.     $game_switches      = Game_Switches.new
  158.     $game_variables     = Game_Variables.new
  159.     $game_self_switches = Game_SelfSwitches.new
  160.     $game_screen        = Game_Screen.new
  161.     $game_actors        = Game_Actors.new
  162.     $game_party         = Game_Party.new
  163.     $game_troop         = Game_Troop.new
  164.     $game_map           = Game_Map.new
  165.     $game_player        = Game_Player.new
  166.     # 设置初期同伴位置
  167.     $game_party.setup_starting_members
  168.     # 设置初期位置的地图
  169.     #$game_map.setup($data_system.start_map_id)
  170.     # 主角向初期位置移动
  171.     #$game_player.moveto($data_system.start_x, $data_system.start_y)
  172.     $game_map.setup(19)
  173.     # 主角向初期位置移动
  174.     $game_player.moveto(7, 5)
  175.     # 刷新主角
  176.     $game_player.refresh
  177.     # 执行地图设置的 BGM 与 BGS 的自动切换
  178.     $game_map.autoplay
  179.     # 刷新地图 (执行并行事件)
  180.     $game_map.update
  181.     # 切换地图画面
  182.     $scene = Scene_Map.new
  183.   end
  184.    #--------------------------------------------------------------------------
  185.   # ● 命令 : 多周目游戏
  186.   #--------------------------------------------------------------------------
  187.   def   command_old_game
  188.     # 演奏确定 SE
  189.     $game_system.se_play($data_system.decision_se)
  190.     # 停止 BGM
  191.     Audio.bgm_stop
  192.     # 重置测量游戏时间用的画面计数器
  193.     Graphics.frame_count = 0
  194.     # 生成各种游戏对像
  195.     if FileTest.exist?("Finished.rxdata")
  196.      file = File.open("Finished.rxdata", "rb")
  197.     $game_switches      = Marshal.load(file)
  198.     $game_variables     = Marshal.load(file)
  199.     $game_variables[135]=1 if $game_variables[135]==0
  200.      file.close
  201.     else
  202.     $game_switches      = Game_Switches.new
  203.     $game_variables     = Game_Variables.new
  204.       end
  205.     $game_temp          = Game_Temp.new
  206.     $game_system        = Game_System.new
  207.     $game_self_switches = Game_SelfSwitches.new
  208.     $game_screen        = Game_Screen.new
  209.     $game_actors        = Game_Actors.new
  210.     $game_party         = Game_Party.new
  211.     $game_troop         = Game_Troop.new
  212.     $game_map           = Game_Map.new
  213.     $game_player        = Game_Player.new
  214.     # 设置初期同伴位置
  215.     $game_party.setup_starting_members
  216.     # 设置初期位置的地图
  217.     #$game_map.setup($data_system.start_map_id)
  218.     # 主角向初期位置移动
  219.     #$game_player.moveto($data_system.start_x, $data_system.start_y)
  220.     $game_map.setup(19)
  221.     # 主角向初期位置移动
  222.     $game_player.moveto(7, 5)
  223.     # 刷新主角
  224.     $game_player.refresh
  225.     # 执行地图设置的 BGM 与 BGS 的自动切换
  226.     $game_map.autoplay
  227.     # 刷新地图 (执行并行事件)
  228.     $game_map.update
  229.     # 切换地图画面
  230.     $scene = Scene_Map.new
  231.   end
  232.    #--------------------------------------------------------------------------
  233.   # ● 命令 : 光之继承者
  234.   #--------------------------------------------------------------------------
  235.   def command_other_game
  236.     # 演奏确定 SE
  237.     $game_system.se_play($data_system.decision_se)
  238.     # 停止 BGM
  239.     Audio.bgm_stop
  240.     # 重置测量游戏时间用的画面计数器
  241.     Graphics.frame_count = 0
  242.     # 生成各种游戏对像
  243.     $game_temp          = Game_Temp.new
  244.     $game_system        = Game_System.new
  245.     $game_switches      = Game_Switches.new
  246.     $game_variables     = Game_Variables.new
  247.     $game_self_switches = Game_SelfSwitches.new
  248.     $game_screen        = Game_Screen.new
  249.     $game_actors        = Game_Actors.new
  250.     $game_party         = Game_Party.new
  251.     $game_troop         = Game_Troop.new
  252.     $game_map           = Game_Map.new
  253.     $game_player        = Game_Player.new
  254.     # 设置初期同伴位置
  255.     $game_party.setup_starting_members
  256.     # 设置初期位置的地图
  257.     $game_map.setup(334)
  258.     # 主角向初期位置移动
  259.     $game_player.moveto(10, 10)
  260.     # 刷新主角
  261.     #$game_player.refresh
  262.     # 执行地图设置的 BGM 与 BGS 的自动切换
  263.     $game_map.autoplay
  264.     # 刷新地图 (执行并行事件)
  265.     $game_map.update
  266.     # 切换地图画面
  267.     $scene = Scene_Map.new
  268.   end
  269.   
  270.   
  271.   #--------------------------------------------------------------------------
  272.   # ● 命令 : 继续
  273.   #--------------------------------------------------------------------------
  274.   def command_continue
  275.     # 继续无效的情况下
  276.     unless @continue_enabled
  277.       # 演奏无效 SE
  278.       $game_system.se_play($data_system.buzzer_se)
  279.       return
  280.     end
  281.     # 演奏确定 SE
  282.     $game_system.se_play($data_system.decision_se)
  283.     # 切换到读档画面
  284.     $scene = Scene_Load.new
  285.   end
  286.   #--------------------------------------------------------------------------
  287.   # ● 命令 : 退出
  288.   #--------------------------------------------------------------------------
  289.   def command_shutdown
  290.     # 演奏确定 SE
  291.     $game_system.se_play($data_system.decision_se)
  292.     # BGM、BGS、ME 的淡入淡出
  293.     Audio.bgm_fade(800)
  294.     Audio.bgs_fade(800)
  295.     Audio.me_fade(800)
  296.     # 退出
  297.     $scene = nil
  298.   end

  299.   #--------------------------------------------------------------------------
  300.   # ● 战斗测试
  301.   #--------------------------------------------------------------------------
  302.   def battle_test
  303.     # 载入数据库 (战斗测试用)
  304.     $data_actors        = load_data("Data/BT_Actors.rxdata")
  305.     $data_classes       = load_data("Data/BT_Classes.rxdata")
  306.     $data_skills        = load_data("Data/BT_Skills.rxdata")
  307.     $data_items         = load_data("Data/BT_Items.rxdata")
  308.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
  309.     $data_armors        = load_data("Data/BT_Armors.rxdata")
  310.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
  311.     $data_troops        = load_data("Data/BT_Troops.rxdata")
  312.     $data_states        = load_data("Data/BT_States.rxdata")
  313.     $data_animations    = load_data("Data/BT_Animations.rxdata")
  314.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
  315.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
  316.     $data_system        = load_data("Data/BT_System.rxdata")
  317.     # 重置测量游戏时间用的画面计数器
  318.     Graphics.frame_count = 0
  319.     # 生成各种游戏对像
  320.     $game_temp          = Game_Temp.new
  321.     $game_system        = Game_System.new
  322.     $game_switches      = Game_Switches.new
  323.     $game_variables     = Game_Variables.new
  324.     $game_self_switches = Game_SelfSwitches.new
  325.     $game_screen        = Game_Screen.new
  326.     $game_actors        = Game_Actors.new
  327.     $game_party         = Game_Party.new
  328.     $game_troop         = Game_Troop.new
  329.     $game_map           = Game_Map.new
  330.     $game_player        = Game_Player.new
  331.     # 设置战斗测试用同伴
  332.     $game_party.setup_battle_test_members
  333.     # 设置队伍 ID、可以逃走标志、战斗背景
  334.     $game_temp.battle_troop_id = $data_system.test_troop_id
  335.     $game_temp.battle_can_escape = true
  336.     $game_map.battleback_name = $data_system.battleback_name
  337.     # 演奏战斗开始 BGM
  338.     $game_system.se_play($data_system.battle_start_se)
  339.     # 演奏战斗 BGM
  340.     $game_system.bgm_play($game_system.battle_bgm)
  341.     # 切换到战斗画面
  342.     $scene = Scene_Battle.new
  343.   end
  344. end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
32 小时
注册时间
2016-6-23
帖子
24
3
 楼主| 发表于 2016-9-14 23:25:18 | 只看该作者

追问一下。只要把这个代码里面的后两个选项的名称改成自己要用的选项名称就行了吗?
还是说还要修改一些相关数值比如【多周目游戏】这一块的【主角初期位置移动】和【设置初始位置地图】?
第一次接触脚本还有很多不懂的,感激不尽万分抱歉

点评

要自己改  发表于 2016-9-15 20:39
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
251
在线时间
252 小时
注册时间
2013-11-9
帖子
97
4
发表于 2016-9-15 21:28:58 | 只看该作者
彩蛋房的话进入的地图和位置肯定跟初始位置不一样。
所以要修改这里。
  #--------------------------------------------------------------------------
  # ● 命令 : 光之继承者
  #--------------------------------------------------------------------------
这个部分有几行:
    # 设置初期位置的地图
    $game_map.setup(334)
↑这个334是你要设置的地图ID
    # 主角向初期位置移动
    $game_player.moveto(10, 10)
↑这个10,10是你要设置的地图位置,第一个10是x值,第二个10是y值
↑↑上面三个数据都可以在右下角看到XD
另外如果要使用上面的脚本的话, 在一周目结束的时候,需要在事件里插入下面的脚本:
file = File.open("Finished.rxdata", "wb")
file.close
然后在游戏文件夹里会出现一个Finished的存档,只有出现了这个,才会出现彩蛋房;删除此存档彩蛋房也就消失了。
    s1 = "学期开始"
    s2 = "继续开课"
    s3 = "放学回家"
    s4 = "旧梦重温"
    s5 = "光之继承者"
""里面的文字是可以更改的,比如说“学期开始”是“开始游戏”,你可以更改成任意的内容,比如“Start”,“New Game”之类的。
有什么问题可以继续问我><

评分

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

查看全部评分

头像来自百度搜索,自改了一(小)部分。
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
32 小时
注册时间
2016-6-23
帖子
24
5
 楼主| 发表于 2016-9-22 20:11:08 | 只看该作者
泪的苍白 发表于 2016-9-15 21:28
彩蛋房的话进入的地图和位置肯定跟初始位置不一样。
所以要修改这里。
  #------------------------------- ...

十分感谢!十一黄金周就着手试试看!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-30 13:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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