Project1
标题:
RM辅助数据库,重填一年前的坑。。。。
[打印本页]
作者:
墨凌羽
时间:
2015-6-12 00:27
标题:
RM辅助数据库,重填一年前的坑。。。。
本帖最后由 墨凌羽 于 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, 下载次数: 217)
2015-6-12 00:19 上传
点击文件名下载附件
存在问题
1.关于编码。。。如果是用excel编辑记得保存后用记事本打开选择编码在保存一次。如果用Excel打开发现汉字都是乱码则反向处理。
2.关于报错,如果提示脚本62行(instance_variable_set("@"+name, eval(val
)))有错误,请先确定csv文件时否无误。。。。如果真的没问题那就是我脚本的错了。。。
3.关于对于数组、哈希的支持问题,暂时还不支持数组和哈希表。。。(因为这两个分割值时用的也是“,”同理字符串里如果出现“,”请使用全角的)
4.其他bug貌似暂时没有 坐等各种报错
最后
@lanyaolove
@wangzh9173
作者:
企鹅达达
时间:
2015-6-12 08:30
本帖最后由 企鹅达达 于 2015-6-12 10:11 编辑
和我自己写的原理差不多。我是用|来当分割符,把数据库导出后手动用excel的数据分列功能分列。数组一类的数据单独复制到脚本里用另一段脚本导入。于是整个脚本分成了导出、外置表导入、内置表导入三个部分。
啊,又发现一个不同,你是外带数据库,我是反写数据库设置 = =
作者:
墨凌羽
时间:
2015-6-12 16:23
本帖最后由 墨凌羽 于 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只适合存储表状结构
作者:
chd114
时间:
2015-6-12 16:24
就是用外置的表格文档替换掉RM默认的角色?从VX移植的吗?
作者:
冷峻逸
时间:
2015-6-12 21:08
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1