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

Project1

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

[RMVA发布] RM辅助数据库,重填一年前的坑。。。。

[复制链接]

Lv1.梦旅人

梦石
0
星屑
48
在线时间
784 小时
注册时间
2013-1-4
帖子
1102
跳转到指定楼层
1
发表于 2015-6-12 00:27:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 墨凌羽 于 2015-6-12 22:04 编辑

差不多去年这个时候,高考结束有时间就看了几天脚本,当时是满瓶水不响半瓶水咣当。写了一个极其坑爹的玩意。。。这个算是重填之前的坑了
脚本暂时只在VA上试过,按原理来说应该是三个都通用的。

脚本介绍:
辅助数据库脚本,可以再RM再带数据库外自己添加其他的数据(例如NPC数据、任务数据)。暂时仅支持csv格式的文件。
食用方法:
自带一个范例。里面自建了一个NPC数据库,除此之外还有用csv格式的Actors替换原版的。
使用时,只要编写好csv格式的数据库文件(第一行为文件头,说明每列数据的字段名),程序会自动读取并生成一个$data_<name>的全局变量,数据类型为数组,数组的每个值为一个相关数据生成的类。(也就是说和RM自带数据库最后读取生成的$data_<name>全局变量是一样的结构,也就是说完全支持$data_<name>[id].attribute_name的访问方式。)
脚本

感觉说的有点乱。。。。 范例.zip (1.43 MB, 下载次数: 215)
存在问题
1.关于编码。。。如果是用excel编辑记得保存后用记事本打开选择编码在保存一次。如果用Excel打开发现汉字都是乱码则反向处理。
2.关于报错,如果提示脚本62行(instance_variable_set("@"+name, eval(val)))有错误,请先确定csv文件时否无误。。。。如果真的没问题那就是我脚本的错了。。。
3.关于对于数组、哈希的支持问题,暂时还不支持数组和哈希表。。。(因为这两个分割值时用的也是“,”同理字符串里如果出现“,”请使用全角的)
4.其他bug貌似暂时没有 坐等各种报错
最后@lanyaolove  @wangzh9173   

评分

参与人数 1星屑 +15 收起 理由
欠K罗琳 + 15 塞糖

查看全部评分

RM-GUI延期。。。最近被黑心老板压迫T_T
二次元少女的shitake,长着长脸,身高165,蓝色卷双马尾,FCUP,瞳色黑色,病气和御宅属性,是天才少女。

Lv1.梦旅人

梦石
0
星屑
180
在线时间
829 小时
注册时间
2010-6-26
帖子
671
2
发表于 2015-6-12 08:30:55 | 只看该作者
本帖最后由 企鹅达达 于 2015-6-12 10:11 编辑

和我自己写的原理差不多。我是用|来当分割符,把数据库导出后手动用excel的数据分列功能分列。数组一类的数据单独复制到脚本里用另一段脚本导入。于是整个脚本分成了导出、外置表导入、内置表导入三个部分。
啊,又发现一个不同,你是外带数据库,我是反写数据库设置 = =

点评

对了,关于数组和哈希的输出问题,能不能试试在导出的时候用不同的符号gsub!掉,然后导入的时候再gsub!回来?  发表于 2015-6-12 15:32
我到觉得不会脚本用不来这东西,毕竟属性名字都是英文,表格也没有编辑器里的直观,而且你还只自带1个默认数据库的导入导出  发表于 2015-6-12 15:08
前不久折腾R里面的csv导入会自动根据头文件生成字段 就有了灵感 开始是直接eval一大串字符串 后来又用元编程把字符串提前求值了一下  发表于 2015-6-12 12:59
这个主要是给不会写脚本人用的 另外也能提供一些便利 不然设置数据库什么的也是麻烦。  发表于 2015-6-12 12:58
新手们!不要被看扁了!我们也会用论坛搜索,我们也会自己找脚本,我们也会自己点击关闭按钮旁边的小问号!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
784 小时
注册时间
2013-1-4
帖子
1102
3
 楼主| 发表于 2015-6-12 16:23:08 | 只看该作者
本帖最后由 墨凌羽 于 2015-6-12 16:28 编辑
企鹅达达 发表于 2015-6-12 08:30
和我自己写的原理差不多。我是用|来当分割符,把数据库导出后手动用excel的数据分列功能分列。数组一类的数 ...


关于数组和哈希
我在试着先统一读取 然后判断每个子字符串第一个是不是[或者{ 如果是 新建一个变量把它放进去 然后继续判断下一个 直到找到]或者} 在此之前的所有子字符串都放到那个变量里去 最后拼接成一个
含有一个方法是 在设计数据表格时就尽量不要使用数组 或者对于短数组 可以考虑数组的每一个值占一个字段 最后做一个拼接,(例如Actor里的equips就是一个[0,0,0,0,]这样的数组那么可以分解成equips1,equips2,equips3,equips4最后在Game_Actor里这么写 quips = [equips1,equips2,equips3,equips4])

其实准确来说是给不太会脚本的以及主要还是提供便利 不用为每一个csv去写一个单独的读取

另外 导出原版的用csv去替代意义不大 我那样做只是为了表明其最后生成的$Data变量和RM原版的差不多可以使用同样的方式来访问。而且RM的原版基本都是树状结构的(这个xml应该更适合) csv只适合存储表状结构

RM-GUI延期。。。最近被黑心老板压迫T_T
二次元少女的shitake,长着长脸,身高165,蓝色卷双马尾,FCUP,瞳色黑色,病气和御宅属性,是天才少女。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

4
发表于 2015-6-12 16:24:30 | 只看该作者
就是用外置的表格文档替换掉RM默认的角色?从VX移植的吗?

点评

。。。ENEMY用这个呢?  发表于 2015-6-12 22:25
试了下 貌似是那个我自己写的Game_Npcs有问题。。。。Game_Actors正常  发表于 2015-6-12 22:03
→_→下了工程看了···是给一个NPC增加等级这样的属性?这个挺适合魔塔的···但是存档读档不管是否重启游戏读档都变回去了···  发表于 2015-6-12 18:11
而且这意味着这个哈希的每个值在读取时还要创建对应的类然后生成这个类的实例。。。  发表于 2015-6-12 16:41
实际上 暂时还不能 应为不支持数组和哈希表 而如map的event就是一个 RPG::Event 实例为对应值组成的哈希表  发表于 2015-6-12 16:39
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止访问)

梦石
0
星屑
88
在线时间
631 小时
注册时间
2014-8-4
帖子
3600
5
发表于 2015-6-12 21:08:08 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 12:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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