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

Project1

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

[通用发布] RM数据库编辑的EXCEL解决方案

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
119 小时
注册时间
2008-3-10
帖子
42
跳转到指定楼层
1
发表于 2011-10-2 14:32:36 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x

搜索了一下论坛,发现好多个数据库编辑的方法,但都无法100%满足我的需求……尤其是其中有个前辈说了一句话,那是深得我心啊:真正麻烦的东西还是UI……要做的人性化且高效很不容易。……所以说,如果把EXCEL当做你的数据库编辑器的UI,那不就人性化且高效了么?灭哈哈哈哈哈哈……

一句话原理:在EXCEL中按照一定格式输入数据,然后用宏把数据处理成RGSS代码,最后在RM中运行这段代码来导入数据。

下面就是那个“按照一定格式输入数据,然后用宏把数据处理成RGSS代码”的EXCEL表格:
Abilitys.rar (29.38 KB, 下载次数: 302)

注意,范例中的excel表需要启用宏才能正常使用。
第一个表的名称必须正确:处理成RGSS代码时,生成的RGSS类的名称和数据库文件的名称,就等于第一个表的名称。
布尔值:EXCEL中,0、""、false都被作为false处理;其它的值作为true处理。


为什么要用EXCEL?
数据库可以看作“表格的集合”。而说到快速方便地编辑表格,还有什么工具比得上EXCEL呢?
如果你的游戏中有2000种以上的道具、300种以上的敌人、1000条各种合成配方以及400个技能,那么使用EXCEL来输入这些数据,将会比用RM内置的编辑器快好几十倍、并且更不容易出错。
更重要的是,这样大规模的项目,很多时候都会用到批量数据处理:比如说,你觉得有一类的武器(比如说,枪)的攻击力都太强了。此时使用EXCEL可以在几分钟内完成数据编辑,而如果用RM的数据库编辑器则可能需要几十分钟翻找那些枪都在什么地方(你有2000个条目要查看!),然后一个一个地修改数据。
编辑数据的方便程度跟游戏的品质有很大的关系。因为人都是有惰性的,如果游戏中明明有些数据有问题,但改起这些数据来很麻烦,你可能就会选择无视它,并且告诉自己“只是个小问题,没关系的。”
另外,RM的数据库编辑器也不支持添加字段或者添加新的数据库;数据的条目也无法超过1000。而使用本解决方案,你可以很轻易地做到这些,只是你需要有“如何在RM中新建数据库”的相关知识。……论坛已有的几个解决方案都具备这个基本功能。

目前这个解决方案的缺陷很多很多:
如果只是编辑少量数据,那么它操作相当麻烦。哪怕只修改一个数据也要把全套过程弄一遍。
只能写入数据,而不能读取……
EXCEL只是一个表格编辑软件,它不像数据库软件那样有防止误操作的功能。如果你输入了错误的数据格式(比如说在number类的字段中输入文字),导入数据时就会出错。如果你输入一个不存在的文件位置或图标ID,使用数据时就会出错。如果你把一个字段名输入错了,整个字段的数据都不会导入。
支持的数据类型有限,目前只支持字符串、数字和布尔值这3种,不支持数组。因此RM自带的数据库大部分都没法编辑……这对我自己来说不是什么问题,如果有人想要的话就回帖吧。
导入大量数据时需要一些时间等待,这时候很无聊。尤其是在调试的时候,很影响心情。

所以说,如果你的工程数据量并不大,我推荐你使用另一个数据库工具:
http://rpg.blue/forum.php?mod=viewthread&tid=50801
这个工具没有以上的缺陷,它的缺点只是编辑大量数据时有些不方便而已。


PS:假如能够编写一个EXCEL插件,使它支持rvdata文件格式,那是最好的。但是这个我就完全不知道怎么弄了……
PPS:我不知道2000种道具的话会不会卡。但据我认识的程序说,70多个字段,2000种道具的物品表也不过占大概4M的内存,所以应该没关系吧……

Lv1.梦旅人

梦石
0
星屑
50
在线时间
52 小时
注册时间
2011-4-6
帖子
25
7
发表于 2012-3-22 09:50:27 | 只看该作者
您介绍的第二个工具 打不开!


‘‘──qx490135894于2012-3-22 09:51补充以下内容

用excel怎么编辑数据库,能说说具体的步骤吗?
’’
回复 支持 反对

使用道具 举报

Lv1.梦旅人

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
6
发表于 2011-10-5 21:59:56 | 只看该作者
galaxys 发表于 2011-10-2 21:26
运行这个提示“require方法没有定义”……所以说这个WIN32OLE.new('Excel.Application')  要怎么用法呢?请 ...

win32ole.rb 源码
至于 win32ole.so Ruby 程序中就有了(其实这个也有)
  1. require 'win32ole.so'

  2. # re-define Thread#initialize
  3. # bug #2618(ruby-core:27634)

  4. class Thread
  5.   alias :org_initialize :initialize
  6.   def initialize(*arg, &block)
  7.     if block
  8.       org_initialize(*arg) {
  9.         WIN32OLE.ole_initialize
  10.         begin
  11.           block.call(*arg)
  12.         ensure
  13.           WIN32OLE.ole_uninitialize
  14.         end
  15.       }
  16.     else
  17.       org_initialize(*arg)
  18.     end
  19.   end
  20. end
复制代码
rmxp1.3 可以 require .so 文件

点评

rmxp1.3 可以 require .so 文件!  发表于 2011-10-7 00:00
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
119 小时
注册时间
2008-3-10
帖子
42
5
 楼主| 发表于 2011-10-2 21:26:35 | 只看该作者
  1.     require 'win32ole'  
  2.     excel = WIN32OLE.new('Excel.Application')  
  3.     book = excel.workbooks.add  
  4.     sheets = book.worksheets(1)  
  5.     cells = sheets.cells("A1:A5")  
  6.     cells.each do |cell|  
  7.       cell.value = 10  
  8.     end  
复制代码
运行这个提示“require方法没有定义”……所以说这个WIN32OLE.new('Excel.Application')  要怎么用法呢?请指教
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

4
发表于 2011-10-2 20:12:44 | 只看该作者
WIN32OLE.new("excel.application")
我会到处乱说吗?

点评

求教在RMXP中如何使用WIN32OLE这个模块?貌似RGSS中没有提供。。  发表于 2013-12-10 21:46
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1332
在线时间
675 小时
注册时间
2009-11-11
帖子
2790
3
发表于 2011-10-2 17:35:47 | 只看该作者
:lol能不能支持 记事本

嘿。嘿。嘿
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

2
发表于 2011-10-2 17:15:44 手机端发表。 | 只看该作者
本帖最后由 IamI 于 2011-10-2 17:17 编辑

终于见到了呢呵呵。留名马克 Rm的数据格式极度整齐,请加油吧。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-10 22:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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