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

Project1

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

[已经解决] 弱弱问一个貌似非常新手向的问题……标题相关……

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
25 小时
注册时间
2010-6-17
帖子
30
跳转到指定楼层
1
发表于 2014-2-6 21:49:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
一般情况下标题中都只有开始,读档和结束三个选项,那么如果想加入第四个选项该怎么加……

比如说游戏中收集的特殊物品一览这样的选项……

先谢过……

Lv4.逐梦者 (版主)

百合控

梦石
0
星屑
6438
在线时间
1274 小时
注册时间
2013-8-21
帖子
3657

开拓者

2
发表于 2014-2-6 21:56:48 | 只看该作者
第四个命令有执行内容吗
我现在就可以教你怎么添加一个按钮 可以像其他的一样被选中 被确定并执行特定的命令 问题是你要有特定的命令
萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
25 小时
注册时间
2010-6-17
帖子
30
3
 楼主| 发表于 2014-2-6 22:03:31 | 只看该作者
余烬之中 发表于 2014-2-6 21:56
第四个命令有执行内容吗
我现在就可以教你怎么添加一个按钮 可以像其他的一样被选中 被确定并执行特定的命 ...

怎么说呢……在第四个选项中设定一些子选项,然后每个子选项跳到一个公共事件这样的行么……

点评

看来你在用喵呜的方案 那我就不做范例了  发表于 2014-2-7 08:29
想在标题中执行公共事件……这个改动幅度很大啊……你再编辑一下 说一说你想实现的功能 我看看可不可以定制出来 尽量不用公共事件  发表于 2014-2-6 22:06
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
600
在线时间
1118 小时
注册时间
2012-12-24
帖子
831
4
发表于 2014-2-6 22:06:33 | 只看该作者
我觉得这样的东西还是加到菜单中比较合适

点评

的确,貌似那样更简单点……或者直接弄个观赏屋……  发表于 2014-2-6 22:22

点击签名档去一个神奇的地方
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
25 小时
注册时间
2010-6-17
帖子
30
5
 楼主| 发表于 2014-2-6 22:21:13 | 只看该作者
余烬之中 发表于 2014-2-6 21:56
第四个命令有执行内容吗
我现在就可以教你怎么添加一个按钮 可以像其他的一样被选中 被确定并执行特定的命 ...

好吧我觉得是不是我把问题想得太简单了……

主要是刚通关狂父于是觉得这个东西貌似挺不错RMVA能不能实现这样的功能……

贴图举例说明:



这是菜单,第三个是附加选项




进入第三个后是这样的画面




然后随便选一个选项,进去是这样




好吧上面那个游戏不是RMVA做的,我也只是单纯想看看RMVA能不能在标题菜单中实现这种情况……



现在看看还是觉得加入菜单或者专门建个回想地图把事件都复制过去来的更简单……OTZ……

点评

一时找不到了 干脆我直接写一个范例明天给你好了  发表于 2014-2-6 22:55
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

百合控

梦石
0
星屑
6438
在线时间
1274 小时
注册时间
2013-8-21
帖子
3657

开拓者

6
发表于 2014-2-6 22:23:21 | 只看该作者
本帖最后由 余烬之中 于 2014-2-6 23:10 编辑
暗の瞳 发表于 2014-2-6 22:21
好吧我觉得是不是我把问题想得太简单了……

主要是刚通关狂父于是觉得这个东西貌似挺不错RMVA能不能实现 ...


进入菜单后的内容实际上是另一个脚本……VA有个一样的 你等下 我找一下

====================
@喵呜喵5 转移到新地图各种不方便啊 而且那样不还是要调用【创建游戏对象】方法吗……本质上是一样的
先创建各种游戏对象以保证公共事件能执行 执行完以后又要消除各种对象 动作幅度各种巨大啊 所以不使用事件 直接脚本啪啪啪就行了

点评

选择地四个选项的时候跳转到另外一个初始地图,然后在那个初始地图执行各种啪啪啪之类的事件不就好了  发表于 2014-2-6 23:02
好的谢谢~  发表于 2014-2-6 22:48
萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
20995
在线时间
9336 小时
注册时间
2012-6-19
帖子
7107

开拓者短篇九导演组冠军

7
发表于 2014-2-6 23:12:20 | 只看该作者
本帖最后由 喵呜喵5 于 2014-2-6 23:33 编辑
  1. #脚本插入到Main以上▼ 插件脚本以下
  2. #选择了新增的选项后,可以跳转到一个新的地图
  3. #在新的地图执行公共事件或者别的什么可以实现类似CG ROOM之类的效果

  4. class Window_TitleCommand
  5.   alias m5_20140206_make_command_list make_command_list
  6.   def make_command_list
  7.     m5_20140206_make_command_list   
  8.     add_command("更多选项", :m5_more)
  9.     #双引号间为新增的选项的名字
  10.   end
  11. end
  12. class Scene_Title
  13.   alias m5_20140206_create_command_window create_command_window
  14.   def create_command_window
  15.     m5_20140206_create_command_window
  16.     @command_window.set_handler(:m5_more, method(:command_m5more))
  17.   end
  18.   def command_m5more
  19.     $data_system.start_map_id = 1 #地图ID
  20.     $data_system.start_x = 0 #X坐标
  21.     $data_system.start_y = 0 #Y坐标
  22.     $data_system.opt_transparent = true #主角是否透明,true 为透明,false 为不透明
  23.     command_new_game
  24.   end
  25. end
复制代码
@余烬之中 主要是楼主貌似是希望实现狂父那样的效果又没有专门的Scene脚本,单纯用公共事件来做会死人的吧,并且他也说可以把所有东西都扔到一张地图里面做了…………
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
20995
在线时间
9336 小时
注册时间
2012-6-19
帖子
7107

开拓者短篇九导演组冠军

8
发表于 2014-2-6 23:23:35 | 只看该作者
本帖最后由 喵呜喵5 于 2014-2-6 23:35 编辑

如果希望选项能够调用公共事件其实也可以,插入下面两段脚本
  1. =begin
  2. #===============================================================================
  3. Title: Scene Interpreter
  4. Author: Tsukihime
  5. Date: Sep 5, 2013
  6. --------------------------------------------------------------------------------
  7. ** Change log
  8. Sep 5, 2013
  9.    - fixed bug where common events returning to map did not execute properly
  10. Apr 24, 2013
  11.    - fixed bug where game crashed when no common events were reserved
  12. Apr 3, 2013
  13.    - Added comment to determine scene to run common event
  14. Mar 30, 2013
  15.    - Initial release
  16. --------------------------------------------------------------------------------   
  17. ** Terms of Use
  18. * Free to use in commercial/non-commercial projects
  19. * No real support. The script is provided as-is
  20. * Will do bug fixes, but no compatibility patches
  21. * Features may be requested but no guarantees, especially if it is non-trivial
  22. * Credits to Tsukihime in your project
  23. * Preserve this header
  24. --------------------------------------------------------------------------------
  25. ** Description

  26. This script adds an interpreter and message window to every scene so that
  27. you can run common events in any scene.

  28. --------------------------------------------------------------------------------
  29. ** Installation

  30. Place this below Materials and above Main. You should place this above other
  31. custom scripts.

  32. --------------------------------------------------------------------------------
  33. ** Usage

  34. If you would like a common event to run in the current scene, create a
  35. comment in the common event command list with this string

  36.    <run scene: current>
  37.   
  38. #===============================================================================
  39. =end
  40. $imported = {} if $imported.nil?
  41. $imported["TH_SceneInterpreter"] = true
  42. #===============================================================================
  43. # ** Configuration
  44. #===============================================================================
  45. module TH
  46.   module Scene_Interpreter
  47.    
  48.     # Run common events directly in scene without going to map
  49.     No_Return_Scene = true
  50.    
  51.     Run_Regex = /<run[-_ ]scene:\s*(\w+)/i
  52.   end
  53. end
  54. #===============================================================================
  55. # ** Rest of Script
  56. #===============================================================================
  57. module RPG
  58.   class CommonEvent
  59.    
  60.     #---------------------------------------------------------------------------
  61.     # Which scene to run this common event
  62.     #---------------------------------------------------------------------------
  63.     def run_scene
  64.       return @run_scene unless @run_scene.nil?
  65.       parse_comments_scene_interpreter
  66.       return @run_scene
  67.     end
  68.    
  69.     #---------------------------------------------------------------------------
  70.     # Parse the commands for a Run Scene comment
  71.     #---------------------------------------------------------------------------
  72.     def parse_comments_scene_interpreter
  73.       # just an arbitrary default value
  74.       @run_scene = :map
  75.       @list.each do |cmd|
  76.         if cmd.code == 108 && cmd.parameters[0] =~ TH::Scene_Interpreter::Run_Regex
  77.           @run_scene = $1.downcase.to_sym
  78.         end
  79.       end
  80.     end
  81.   end
  82. end

  83. class Scene_Base

  84.   attr_reader :interpreter
  85.   
  86.   alias :th_scene_interpreter_start :start
  87.   def start
  88.     th_scene_interpreter_start
  89.     create_interpreter
  90.     create_message_window
  91.   end
  92.   
  93.   #-----------------------------------------------------------------------------
  94.   # Create scene interpreter
  95.   #-----------------------------------------------------------------------------
  96.   def create_interpreter
  97.     @interpreter = Game_Interpreter.new
  98.   end
  99.   
  100.   #-----------------------------------------------------------------------------
  101.   # Create message window
  102.   #-----------------------------------------------------------------------------
  103.   def create_message_window
  104.     @message_window = Window_SceneMessage.new
  105.   end
  106.   
  107.   alias :th_scene_interpreter_update :update
  108.   def update
  109.     th_scene_interpreter_update
  110.     update_interpreter
  111.   end
  112.   
  113.   #-----------------------------------------------------------------------------
  114.   # Run any common events
  115.   #-----------------------------------------------------------------------------
  116.   def update_interpreter
  117.     loop do
  118.       @interpreter.update
  119.       return if @interpreter.running?
  120.       
  121.       # Don't setup the common event if it doesn't run in the current scene
  122.       return if $game_temp.common_event_reserved? && $data_common_events[$game_temp.common_event_id].run_scene != :current
  123.       return unless @interpreter.setup_reserved_common_event
  124.     end
  125.   end
  126. end

  127. class Scene_ItemBase < Scene_MenuBase
  128.   alias :th_scene_interpreter_check_common_event :check_common_event
  129.   def check_common_event
  130.     return if !$game_temp.common_event_reserved? || ($game_temp.common_event_reserved? && $data_common_events[$game_temp.common_event_id].run_scene == :current)
  131.     th_scene_interpreter_check_common_event
  132.   end
  133. end

  134. class Window_SceneMessage < Window_Message
  135.   
  136.   #-----------------------------------------------------------------------------
  137.   # These are all random z values
  138.   #-----------------------------------------------------------------------------
  139.   alias :th_scene_interpreter_initialize :initialize
  140.   def initialize
  141.     th_scene_interpreter_initialize
  142.     self.z = 500
  143.     @gold_window.z = 500
  144.     @item_window.z = 500
  145.     @number_window.z = 500
  146.     @choice_window.z = 500
  147.   end
  148. end
复制代码
  1. #脚本插入到Main以上▼ 插件脚本以下
  2. #选择了新增的选项后,可以执行一个公共事件

  3. class Window_TitleCommand
  4.   alias m5_20140206_make_command_list make_command_list
  5.   def make_command_list
  6.     m5_20140206_make_command_list   
  7.     add_command("更多选项", :m5_more)
  8.     #双引号间为新增的选项的名字
  9.   end
  10. end
  11. class Scene_Title
  12.   alias m5_20140206_create_command_window create_command_window
  13.   def create_command_window
  14.     m5_20140206_create_command_window
  15.     @command_window.set_handler(:m5_more, method(:command_m5more))
  16.   end
  17.   def command_m5more
  18.     $game_temp.reserve_common_event(3) #这里填写公共事件的ID编号
  19.   end
  20. end
复制代码
然后在指定的公共事件第一行插入一个注释,注释内容为:
  1. <run scene: current>
复制代码
即可

@余烬之中

点评

说到底还是要创建游戏对象$game_temp……  发表于 2014-2-7 08:29
非常感谢!学习了~  发表于 2014-2-6 23:48

评分

参与人数 1梦石 +2 收起 理由
熊喵酱 + 2 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

百合控

梦石
0
星屑
6438
在线时间
1274 小时
注册时间
2013-8-21
帖子
3657

开拓者

9
发表于 2014-2-6 23:23:36 | 只看该作者
喵呜喵5 发表于 2014-2-6 23:12
@余烬之中 主要是楼主貌似是希望实现狂父那样的效果有没有专门的Scene脚本,单纯用公共事件来做会死人的吧 ...

我只是觉得他不知道狂父里那东西叫Scene 单纯的想实现一套功能并直接在菜单引用……
那个都无所谓了
==============
话说你这样直接传送地图 不帮他调整一下主角透明度吗……如果系统里设置的话他就必须在正式游戏中加上一道命令……

点评

所以我觉得我把事情想得太简单了……感谢赐教~  发表于 2014-2-6 23:49
见楼上  发表于 2014-2-6 23:24

评分

参与人数 1星屑 +132 收起 理由
熊喵酱 + 132 感謝幫忙

查看全部评分

萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-5 12:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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