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

Project1

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

[通用发布] [原创]RM游戏In-Game动态脚本管理器ScriptManager[rev.3]

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
182 小时
注册时间
2012-2-11
帖子
233
跳转到指定楼层
1
发表于 2012-2-11 21:02:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 viktor 于 2012-4-10 10:17 编辑

【小bug: XP版本可能会出现找不到msgbox……解决:SM_Scene.rb 的105行开始改为:
RUBY 代码复制
  1. if f!=nil
  2.              f.write(sc.text)
  3.              f.close
  4.              ::ScriptManager.msgbox sc.name + " saved to " + new_name
  5.          else
  6.              ::ScriptManager.msgbox "save failed."
  7.          end



March 19, rev. 3——
修复了不能识别嵌套module的问题。这样就可以和Yanfly大大的YEA脚本兼容了。
脚本解析错误的时候的p改成了msgbox,现在可以正确显示信息了。
管理器界面现在不列出方法名了,因为单个脚本的方法太多时会很慢(其实还是很慢)


Beta计划:
Beta版本估计会发到地球村。毕竟这个算作一个工具。不过我也希望能够提高它的效率,可以让别人在这个基础之上做一些比如游戏配置、动态开关功能之类的特性。
@晴兰 会尝试使用rIPPer来解析每一个脚本。这样分析的粒度可以大大提高,分析的脚本依赖性可以精确到方法。即使方法之外还有一些变量、语句什么的,如果把所有的方法都替换掉,这个脚本的功能也就基本上被屏蔽了吧。
*尝试使用Ripper解析。【先做一个VA版,然后再想办法兼容】
*精确到方法的分析。
*脚本信息、配置的存储和载入

*************有合适的办法来解析动态特性么?


测试与bug:
通过@rpgvxaces的脚本合集http://rpg.blue/thread-225130-1-1.html测试,这个版本可以解析所有的脚本。不过因为要parse两次,所以很慢(10多秒才能跑起来)
脚本管理界面也很卡,因为每一个脚本都很长很长……
取消脚本功能时,计算依赖性直接卡死……
所以还是得用ruby自己的parser为好。或者至少得来一个bootstrap加速



March 9:和YEA【Yanfly Engine Ace - Extra Param Formulas 】兼容性问题。因为scriptmanager没有正确处理嵌套module的情况,导致解析错误。fixed【@杂兵】
临时解决方法:把YEA脚本里的module YEA 。。。end那一部分代码放到最后面
另外bug:VA里不能正确显示【解析错误,请查看日志】提示。修改中。

Feb.23 Rev. 2:
增加了大量兼容性脚本。现在脚本可以在XP/VX/VA中直接使用。
可以自动适应游戏窗口大小。
每次启动游戏时,会将原来的日志清空。
因为编码问题难以解决,把提示信息改成了英文。
note: ScriptManager::msgbox有部分乱码。求解决方法……

本作品测试版的许可协议暂定为CC BY-NC-SAv2.5

ScriptManager_Alpha_rev3.rar (400.65 KB, 下载次数: 3985)
通用版rev.3 这次打包的项目是RPGVX Ace的项目。因为999KB的限制,没有打包system/RGSS300.dll,请自备,或者把Scripts拷入已有项目中





In-Game脚本管理器 ScriptManager
作者: viktor
Alpha version, Feb 10, 2012


* 功能:
在游戏中显示正在运行的所有脚本信息:名称,符号(模块/类/方法)
实时激活/取消脚本功能。
支持载入外置rb/rxdata脚本
智能揪错:脚本出现“缺少符号”错误时,可以尝试自动解决

例如可以动态切换横、纵版战斗模式,普通/伪3D地图,或者对话框形状~
想使用新的脚本?可以不马上写进游戏工程,而用scriptmanager载入测试一下兼容性。在日志文件中会给出脚本兼容性的粗略分析。而且可以智能纠错

安装和注意事项见压缩包内说明




* 游戏中操作:
在大地图中,按F7呼出脚本管理器。
脚本列表中列出的各个脚本
黄色(CrysisColor)——已经激活。按回车键可以卸除脚本
灰色(DisabledColor)——未激活。按回车键可以激活脚本
白色(NormalColor)——已经取消。按回车键可以激活脚本。

脚本管理界面中 按F5可以导出选中的脚本。会以rb文件的形式保存在与选定脚本(rb/rxdata)相同的目录下。注意会覆盖原有的rb脚本。

效果图:



* 兼容性:
没有使用FSL协议,不过对其没有影响。

点评

大触手  发表于 2012-3-21 16:48
class_eval, instance_eval 这种……写兼容脚本的时候会经常用到。还有……(雪姐姐最喜欢用了!  发表于 2012-2-12 15:12

评分

参与人数 20星屑 +6070 +2 收起 理由
云海尘清 + 20 精品文章
kuerlulu + 12 神技
759782518 + 12 不错
7408 + 2 精品文章
satgo1546 + 12 很好很强大!
oott123 + 12 好强大!
LOVE丶莫颜 + 2 精品文章
马莉露丽 + 46 大触
PCNinja + 2 精品!!(雖然很____地只加1分==).
小传子 + 666 精品文章

查看全部评分

Lv3.寻梦者

梦石
0
星屑
1190
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

2
发表于 2012-2-11 21:25:19 | 只看该作者
很帅哦,对脚本制作者有很大的帮助!

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
59
在线时间
536 小时
注册时间
2010-6-20
帖子
1489
3
发表于 2012-2-11 21:41:31 | 只看该作者
很好很强大啊啊啊~!可以做个多个战斗方式切换的游戏~~!
[url=http://rpg.blue/thread-329159-1-1.html]http://attach.66rpg.com/bbs/attachment/forum/201308/24/132414sa8au7zgh7ab21gx.png[/url]   [b]
无尽之旅--永无止尽的旅程。[/b]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
105
在线时间
5250 小时
注册时间
2011-10-7
帖子
1885

开拓者贵宾

4
发表于 2012-2-12 07:37:33 | 只看该作者
神级触手啊~这个对游戏的帮助很大哦~可以实现一些更复杂的功能了~另外新评分机制导致我的评分额度在区外是负数就不评分了QAQ……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
140 小时
注册时间
2012-2-6
帖子
384
5
发表于 2012-2-12 11:01:15 | 只看该作者
顶起来!
ScriptManager真是很有用
另外:我不买酱油瓶,@版主请注意。

点评

@版主已经失效了~~哈~  发表于 2012-2-12 11:06

评分

参与人数 1星屑 -10 收起 理由
Kimu -10 很不幸,这个是水

查看全部评分

签名是什么?可以吃么?
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

Fuzzy Ginkgo
Taciturn Knight

梦石
0
星屑
60819
在线时间
1934 小时
注册时间
2010-6-26
帖子
1605

烫烫烫开拓者

6
发表于 2012-2-12 14:20:45 | 只看该作者
这个东西相当好。
不过这样分析的话……不能做到精确分析的吧。
ruby元编程能力那么强大。没有考虑到 class << self 这样的 metaclass 吧。

点评

因为我不会匹配ruby的类似xxx...end的块,所以激活脚本时是直接eval整个文件。分析依赖性只考虑了函数,没法分析继承关系。我只会按行扫描,所以受限  发表于 2012-3-2 14:06
不过这些动态元素一般不会影响分析脚本的依赖性,所以对脚本摘要、激活卸除功能影响不大。不过对异常处理功能会有很大的影响。  发表于 2012-2-12 15:07
当然……只能分析在脚本里直接定义的符号,和通过import,或者注释里使用了我的# require来载入的脚本。 不能分析method_missing,class里面include module等等  发表于 2012-2-12 15:05
我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
150
在线时间
116 小时
注册时间
2011-1-23
帖子
121
7
发表于 2012-2-12 16:26:12 | 只看该作者
这样就可以实现各种战斗模式的切换了!顶!

评分

参与人数 1星屑 -10 收起 理由
Kimu -10

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
140 小时
注册时间
2012-2-6
帖子
384
8
发表于 2012-3-7 15:19:48 | 只看该作者
其实我很早很早很早就关注这个系统
竟然兼容了VA,太好了

点评

不管VA上有错误不能用。 XPARAM是什麽常量?  发表于 2012-3-7 15:32
签名是什么?可以吃么?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
237 小时
注册时间
2011-7-28
帖子
81
9
发表于 2012-3-31 00:04:23 | 只看该作者
居然有这么厉害的脚本
看看网络,数不清的信息扑面而来,你知道了什么是冗余;看看每一天的生活,日复一日,许多的无奈,你理解了什么是缺陷;生命里充满了不可预知,明天将发生什么,谁也不知道,这就是动态。 ...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
70
在线时间
29 小时
注册时间
2006-9-17
帖子
237
10
发表于 2012-4-4 14:02:54 | 只看该作者
神级作品,赞一个。
《睡神怀旧游戏馆》QQ群:513795313
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-4 02:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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