搜索附件  
同能RPG制作大师 附件中心 同能RM技术讨论区 RPG Maker XP 讨论区 地图菜单窗口插件v20170220更新【送:技能商店】: d5.png

地图菜单窗口插件v20170220更新【送:技能商店】: d5.png

 

地图菜单窗口插件v20170220更新【送:技能商店】:
=20170220=更新=纯净版=

更新内容:
# 【删除】
# 1. 此版本只保留了一个任务,所以是纯净版
# 2. 此版本只保留了取消键的音效,以及主菜单确认键的音效
# 【修改】
# 1. 此版本修改了 '@' 选项,现在要用 Pageturning Quitmenu Refresh Switchon[n]
#    这些比较长的参数代替原来的 P Q R S[n]。这是为了方便后续插件脚本的编写。
# 2. 修正了任务名称出现正则表达式字符的问题,现在可以随意使用 /.*?+-[]/ 等
# 3. 现在只要有不同 '@' 选项,即使是同名的任务也会被正常识别、显示
# 【新增】
# 1. 在呼叫菜单中使用 \c[n] 命令修改主菜单颜色: call_mapmenu('\c[2]默认设置')
# 2. 在 '@' 选项中使用 Textcolor[n] 修改子菜单颜色
# 3. 修改全局变量 $wmm_position 来调整窗口位置
# 4. 修改全局变量 $wmm_backopacity 来调整窗口透明度
# 5. 添加了 Window_Show 用于显示一行文字
# 【脚本】
# 1. 提供一个插件脚本模板
# 2. 提供赠品:技能商店
# 【赠品】
# 插件脚本范例-技能商店
# 1. 技能商店能正常使用
# 2. 修复了 读档之后 会使菜单初始化的BUG
技能商店图:




最近研究了一下 6R 上的任务界面(by 叶子),发现其自由度很高,于是写了一个增强的脚本,用来在地图上显示菜单。在6R上也搜了搜,好像没有特别类似的脚本?总之发给大家交流学习~

任务界面在 XP 图书馆 的 7 楼

具体想做成的样子大概就是这样吧(摘自《毁灭66RPG》)



目前的山寨版效果,字号改不了,其他的还是蛮像的

水区行政决议事件

水区行政决议脚本




这个脚本也是希望不会写window的制作者也能轻松做出接近上面这个样子的菜单

脚本特色:

0. 插件型脚本,几乎不会冲突
1. 对任务界面的改动很小,稍作改动就能兼容原来的任务界面
2. 显示菜单的时候,进入死循环,游戏暂停
3. 拥有一个子菜单,可以自定义显示的内容和按键的处理
4. 可以调用公共事件完成更多的功能
5. 可以自定义窗口的位置和透明度

范例工程(未脱离RTP):其中有详细的说明



详细的功能和使用说明:

1. 自定义菜单选项
任务界面里需要玩家自定义任务,对于菜单选项,要求把任务名设置为如下格式(举例):设置:修改变量@r。用冒号和@符号隔开的三个部分,第一部分是“主菜单”,第二部分是“子菜单”,第三部分是“选项”。任务内容可以自行设定。


2. 使用方法
在事件脚本里调用(举例)
RUBY 代码
  1. call_mapmenu('设置')
复制代码

就会打开地图菜单,并且加载所有第一部分为“设置”的菜单选项,如图:

如果call_mapmenu后面不加任何参数,会调用默认的菜单,在脚本“自定义任务”的的 129 行可以自行修改


3. 按键和子菜单
按下取消键会退出菜单,按下确认键,会显示所有的子菜单,并在右边的窗口里显示提前写好的内容。@和后面的部分不会显示


4. 自定义按键相应
对于不同的事件,按下确认键和方向键之后的响应,也是可以自定义的。

比如这里就定义了选项“修改变量”在按下确认键的时候会使 变量1 增加 1。同样也可以在 run_left 和 run_right 的方法里定义左右方向键的功能

5. '@'的使用
'@'后面的部分是选项,在后面添加不同的选项会提供不同的默认功能,这个也可以自行定义,目前的功能如下:
'@'后添加 p ,可以用左右键翻页
'@'后添加 q ,按下确认键会自动退出菜单
'@'后添加 r ,按下确认键会刷新菜单内容
'@'后添加 s[10] ,按下确认键会打开开关 10,这里的 10 也可以改成别的整数

6. 调用公共事件
如果一个选项以 '@qs[1]'结尾,那么按下确认键之后,会先打开开关1,再退出菜单窗口。此时如果有一个公共事件设置为了“自动执行”或“并行处理”,并且条件开关就是1,那么这个事件会执行。事件相关的操作暂时不提。事件的设置如下:

最开始就关闭开关,避免事件重复执行,但是要注意的是:
  1. “自动执行”的公共事件,会在当前的事件完全结束后再执行。
  2. “并行处理”的公共事件,会在退出菜单窗口之后立即执行,但是如果事件脚本“call_mapmenu”后面紧接着是显示文章,并行处理的事件中的显示文章会跳过。
  3. 简单的说就是公共事件里有“显示文章”,用“自动执行”,否则用“并行处理”。

7. 隐藏选项(灵活控制出现的选项)
因为每次移动或者是按键后,都会读取一次 set_mapwindow_task,所以可以在这里面作文章,控制显示or隐藏的菜单选项。具体的请看工程。

8. 其他可以自定义的部分
可以自定义窗口的透明度和位置,以及默认字号的大小(20)

9. 缺点
1. 左边的2个菜单窗口里文字的颜色和大小,需要自己单独修改
2. 虽然可以调整右边窗口的文字大小,但是不能修改行距 已解决,目前行距设置为 ( 文字大小 * 1.25 + 4 ) 取整,在脚本“任务界面”的第 600 行左右的 2 处可以自行修改
3. 如果想实现复杂的功能,还是免不了对脚本的使用



改进版现身!
增加了以下功能:
1. 在call_mapmenu('主菜单') 的参数中加上 \c[n] 会使主菜单的此项改变颜色,举例:
RUBY 代码
  1. # 变成 2 号颜色(红色),注意引号和\的数量
  2. call_mapmenu('公共事件\c[2]')# 单引号里面是  \
  3. call_mapmenu("公共事件\\c[2]")# 双引号里面是 \\
复制代码

2. '@'后面添加 c[n] 会使子菜单的此项改变颜色,举例:设置 name = '公共事件:自动@qs[2]c[2]',则子菜单中此项显示红色

3. 如果主菜单只有唯一的选项,呼叫菜单后会直接进入子菜单,按 x 会离开地图菜单,并且取消了主菜单的选项框
如图:

4. 如果想临时改变窗口位置,或者透明度,直接脚本修改常量也是可以的,因为ruby不会因为修改常量而报错……
RUBY 代码
  1. Window_MapMenu::BACK_OPACITY = 255
  2. Window_MapMenu::POSITION_1 = [60,120,
  3. 100,160]
  4. Window_MapMenu::POSITION_2 = [60,280,
  5. 100,160]
  6. Window_MapMenu::POSITION_3 = [160,120,
  7. 360,320]
  8. call_mapmenu('\c[2]说明')
复制代码
效果如图:


# 2017/2/18 新增
5. 增加了按键的音效,想修改的请在脚本“地图菜单”里搜索 '$game_system.se_play' 然后自行修改参数或者删除

改进版的范例:




如果很巧你的工程中要用到叶子的任务系统脚本,请用我这个修改后的脚本,并且找到第 105 行
RUBY 代码
  1. class Game_Party
  2.         #--------------------------------------------------------------------------
  3.         # ● 设置任务资料
  4.         #--------------------------------------------------------------------------
  5.         def get_tasks_info
  6.                 @tasks_info = []
  7.                 set_mapwindow_task
  8.         end
  9. end
复制代码

将你之前写的 @tasks_info[n] = Game_Task.new(name, text) 的那一堆全部插入到 set_mapwindow_task 的前面,这样就能与叶子的任务系统兼容。
             本帖来自P1论坛作者ikki,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=398983  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
地图菜单窗口插件v20170220更新【送:技能商店】: d5.png
Loading...

QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

GMT+8, 2024-11-22 20:38 , Processed in 0.055840 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部