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

Project1

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

[原创发布] 地图菜单窗口插件v20170220更新【送:技能商店】

[复制链接]

Lv5.捕梦者 (版主)

梦石
1
星屑
23999
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

跳转到指定楼层
1
发表于 2017-2-18 00:20:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

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. 使用方法
在事件脚本里调用(举例)
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' 然后自行修改参数或者删除

改进版的范例:
地图窗口-魔改2.zip (212.9 KB, 下载次数: 92)



如果很巧你的工程中要用到叶子的任务系统脚本,请用我这个修改后的脚本,并且找到第 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 的前面,这样就能与叶子的任务系统兼容。

评分

参与人数 1星屑 +60 收起 理由
夜狠简单 + 60 塞糖

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *

Lv5.捕梦者 (版主)

梦石
1
星屑
23999
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

2
 楼主| 发表于 2017-2-19 16:51:46 | 只看该作者
本帖最后由 guoxiaomi 于 2017-3-20 00:21 编辑
写在前面


本楼层用于给上面的脚本提供具体功能的范例,不定时更新。如果有需求,也可以在本楼层点评或者回复,我会判断实现的难度,并提供逻辑 or RM 上的具体实现。

PS:只会提供实现的逻辑、 task 的设置和 run_XXX 方法里的设置,一般不提供具体工程。

只能假设你看到这里的时候,对上面的脚本具体的结构大概了解,并且了解Ruby常见的循环、判断等基础知识。否则往下看意义也不大。

下面是已经写好的插件列表:

1. 技能商店
2. 角色创建
3. 猜数字
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
910
在线时间
94 小时
注册时间
2005-10-22
帖子
397
3
发表于 2018-3-24 21:08:07 | 只看该作者
哎,很多以前的东东都没了,导致版主大大做了好多的重复工作,辛苦啦。

点评

很多东西一开始也不是那么完美的,每次相似的内容发出来,都会有进步~  发表于 2018-3-24 21:39
做脚本先从修改脚本做起,我只修改自己觉得能用到的东西。
以后的任何作品都将不会进行分享。
Bilibili:https://space.bilibili.com/288814521
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 15:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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