Project1

标题: 【插件系统】RPGVX plus DEMO【更新缺plus.rb解决方案】 [打印本页]

作者: zh99998    时间: 2011-8-13 15:23
标题: 【插件系统】RPGVX plus DEMO【更新缺plus.rb解决方案】
2011-8-16更新:非常抱歉之前没有写清楚,报缺少plus.rb的,把解压出的四个文件丢RPGVX安装目录下即可。

RPG Maker XP/VX由于有脚本系统,制作的游戏得到了相当大的扩展,但是编辑器本身是写死的,没有任何扩展接口,使的部分系统用起来极为纠结(例:图块扩张)

直到昨天某触手触了我一下,使用简单的几个API 代码不过几十行,在RM主程序成功添加了一个菜单项,于是RM的插件从理论上成为了可能

这只是一个DEMO,没有任何实际功能,期待拿来用的请先退散



RPGVX plus.zip (644.67 KB, 下载次数: 136)
使用方法
0.在使用之前请先安装ruby
如果能够访问http://rubyinstaller.org推荐从这里下载,ruby192-p290,无法访问的话请尝试翻墙或从http://rpg.blue/ruby.exe下载
安装过程中有三个勾,前两个必须勾上,第三个推荐勾上。

2.把附件解压到RPG Maker VX安装目录,让RPGVX plus.exe和RPGVX.exe在同一目录下
3.运行RPG Maker VX主程序
4.运行附件里的RPGVX plus.exe
  (使用了dll注入,部分杀软可能会报毒,请将程序添加到白名单或暂时关闭杀软)

再次表示这只是DEMO,没有任何实际功能
已知bug:
关闭RPGVX.exe时,ruby.exe不会跟着关闭
GUI只能呼出一次,第二次调用时ruby会崩溃

求win32编程帝用vc++重写插件核心(RPGVX plus.exe & plus.dll)并且做一些增强,要的PM我或QQ/GT/邮箱[email protected]领现在的源码,工程量不大也不难,全是普通的API调用


关于插件编写

1.RM的插件使用Ruby编写,如果对效率或者UI有比较高的要求,可以用其他语言编写(.dll/.so/.exe)然后用ruby调用
2.目前第一版设计中,插件所能做的只有是添加菜单项,并且当用户点击时收到回调
3.有统一的标准输出托管,没有统一的GUI托管,GUI需要自己处理

原理:
对主程序进行Hook,匿名管道启动插件管理器(ruby.exe plugin.rb)等待加载插件,将插件要求添加的项目添加到编辑器里
当用户点击时,写管道,插件管理器来解析,并且call已经注册了的闭包


插件规范:
文件命名:插件主脚本命名为  插件名.plus.rb,其余需要加载的子文件不能命名为*.plus.rb的格式
编写规范:
class 插件名 < Plugin
  init "插件名" , "版本号"
  menu "菜单项" = > 菜单hash #菜单hash是 选项名=>执行内容  (lambda或proc等响应call方法的)
end

未命名.jpg (21.11 KB, 下载次数: 29)

未命名.jpg

作者: DeathKing    时间: 2011-8-13 15:31
参考一下Gem吧,本来打算以后为 Iris 设计一个的。
作者: 越前リョーマ    时间: 2011-8-13 18:05
本帖最后由 越前リョーマ 于 2011-8-13 18:10 编辑

于是都是技术宅的话题我就打个酱油好了 = =b
期待更多的功能能让RM来个小小的蜕变~
作者: 匿名    时间: 2011-8-13 18:19
本帖最后由 匿名 于 2011-8-13 18:19 编辑

果断直接推掉RM的IDE吧,偶们能做个更好的 囧
作者: 月夜神音    时间: 2011-8-13 19:04
ZH前辈萌了~
表示加了插件系统的话VX就神了~要求VX截图~\\(>///w///<)//耶~~~~
作者: fux2    时间: 2011-8-13 20:23
这个API是指每次启动程序的时候都用API去操作一次菜单么?
作者: uiljian    时间: 2011-8-14 14:47
加油吧,葬花君
作者: summer92    时间: 2011-8-14 21:48
顶啊,改造神马的大好~~~~~
作者: ZAndiH    时间: 2011-8-14 21:54
事件党们的福音- -表示事件与脚本之间的断层完全可以通过插件无限缩小
作者: 仲秋启明    时间: 2011-8-15 09:21
有VX的插件是一定要不要脸的收下的,还是鼓励鼓励ZH
作者: zh99998    时间: 2011-8-15 11:03
demo发布,求win32编程帝
作者: liqunsz    时间: 2011-8-15 11:07
虽然不是很懂但是好像很厉害的样子

那啥,已经准备推倒主程序了么0. 0?
作者: zhixin1997    时间: 2011-8-15 11:09
本帖最后由 zhixin1997 于 2011-8-15 11:10 编辑

我表示强势围观

期待xp版的说……虽说已经不长用了……
作者: 2719358    时间: 2011-8-15 12:06
demo运行不能,ruby.exe:NO such file or directory -- plus.rb(LoadError)
win7

作者: 仲秋启明    时间: 2011-8-15 12:10
没有任何实际功能,期待拿来用的请先退散

看到这句话我的心直接就凉了
作者: fux2    时间: 2011-8-15 13:06
表示无论如何都提示loaderror找不到plus.rb
中英文目录都试过.
作者: uiljian    时间: 2011-8-15 14:44
表示直接上问题图吧。
作者: 各种压力的猫君    时间: 2011-8-16 01:50
还不如在脚本上调用一些平时用不到的编辑器功能然后把主程序的GUI改掉呢 =-=
作者: RPGmaster    时间: 2011-8-16 04:07
表示一点都没懂= =
就是图块扩展吗?
图块扩展已经有了额= =
好吧……我神马也不懂……围观中……
作者: zh99998    时间: 2011-8-16 07:43
2011-8-16更新:非常抱歉之前没有写清楚,报缺少plus.rb的,把解压出的四个文件丢RPGVX安装目录下即可。
作者: zx16589042    时间: 2011-8-16 07:43
不知道能不能把XP的字体平滑关了,系统字体太另我揪心....
作者: 小⑨    时间: 2011-8-16 08:20
虽然不是很懂但是好像很厉害的样子……+1
作者: 退屈£无聊    时间: 2011-8-16 08:23
我比较在意插件编写的难度..直接用RUBY真的大丈夫= =?而且我想知道这插件该怎么用OTZ
作者: orzfly    时间: 2011-8-16 14:05
zh 你觉得这样是不是太不好看了……
为什么不在ToolbarWindow里添加新按钮?
作者: zh99998    时间: 2011-8-16 14:23
orzfly 发表于 2011-8-16 14:05
zh 你觉得这样是不是太不好看了……
为什么不在ToolbarWindow里添加新按钮?

抓win32编程帝就是为了这个的。
作者: 冰舞蝶恋    时间: 2011-8-16 16:03
神触呐(仰望……
作者: yangff    时间: 2011-8-21 19:07
你打算做什么……把RMXX弄的跟YDWE一样……?
作者: 仲秋启明    时间: 2011-8-29 21:29
问一下ZH,这个有坑了吗?……




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1