加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 guoxiaomi 于 2017-2-26 09:26 编辑
=20170220=更新=纯净版=
地图窗口纯净版+技能商店.zip
(351.55 KB, 下载次数: 184)
更新内容:
# 【删除】
# 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):其中有详细的说明
地图窗口.zip
(211.89 KB, 下载次数: 112)
详细的功能和使用说明:
1. 自定义菜单选项
任务界面里需要玩家自定义任务,对于菜单选项,要求把任务名设置为如下格式(举例):设置:修改变量@r。用冒号和@符号隔开的三个部分,第一部分是“主菜单”,第二部分是“子菜单”,第三部分是“选项”。任务内容可以自行设定。
2. 使用方法
在事件脚本里调用(举例)
就会打开地图菜单,并且加载所有第一部分为“设置”的菜单选项,如图:
如果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] 会使主菜单的此项改变颜色,举例:
# 变成 2 号颜色(红色),注意引号和\的数量 call_mapmenu('公共事件\c[2]') # 单引号里面是 \ call_mapmenu("公共事件\\c[2]") # 双引号里面是 \\
# 变成 2 号颜色(红色),注意引号和\的数量
call_mapmenu('公共事件\c[2]') # 单引号里面是 \
call_mapmenu("公共事件\\c[2]") # 双引号里面是 \\
2. '@'后面添加 c[n] 会使子菜单的此项改变颜色,举例:设置 name = '公共事件:自动@qs[2]c[2]',则子菜单中此项显示红色
3. 如果主菜单只有唯一的选项,呼叫菜单后会直接进入子菜单,按 x 会离开地图菜单,并且取消了主菜单的选项框
如图:
4. 如果想临时改变窗口位置,或者透明度,直接脚本修改常量也是可以的,因为ruby不会因为修改常量而报错……
Window_MapMenu::BACK_OPACITY = 255 Window_MapMenu::POSITION_1 = [60,120, 100,160] Window_MapMenu::POSITION_2 = [60,280, 100,160] Window_MapMenu::POSITION_3 = [160,120, 360,320] call_mapmenu('\c[2]说明')
Window_MapMenu::BACK_OPACITY = 255
Window_MapMenu::POSITION_1 = [60,120,
100,160]
Window_MapMenu::POSITION_2 = [60,280,
100,160]
Window_MapMenu::POSITION_3 = [160,120,
360,320]
call_mapmenu('\c[2]说明')
效果如图:
# 2017/2/18 新增
5. 增加了按键的音效,想修改的请在脚本“地图菜单”里搜索 '$game_system.se_play' 然后自行修改参数或者删除
改进版的范例:
地图窗口-魔改2.zip
(212.9 KB, 下载次数: 92)
如果很巧你的工程中要用到叶子的任务系统脚本,请用我这个修改后的脚本,并且找到第 105 行
class Game_Party #-------------------------------------------------------------------------- # ● 设置任务资料 #-------------------------------------------------------------------------- def get_tasks_info @tasks_info = [] set_mapwindow_task end end
class Game_Party
#--------------------------------------------------------------------------
# ● 设置任务资料
#--------------------------------------------------------------------------
def get_tasks_info
@tasks_info = []
set_mapwindow_task
end
end
将你之前写的 @tasks_info[n] = Game_Task.new(name, text) 的那一堆全部插入到 set_mapwindow_task 的前面,这样就能与叶子的任务系统兼容。 |