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

Project1

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

[已经解决] 如何扩充数据库(新定义某一项内容)

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
15 小时
注册时间
2015-10-1
帖子
18
跳转到指定楼层
1
发表于 2016-6-14 23:40:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
就是,例如
$data_enemies[].matk =
这个matk要如何直接在数据库内定义,让上面的读取成功
不要这样的方法
=============
def matk
    matk = @name.split(/,/)[1]
    return name != nil ? name.to_i.abs : 0
end
=============

点评

这个属于修改RMXP程序本身,而不是对RMXP的应用。原先RMXP的应用中并没有matk的定义。也就是说,你让人家做A这件事,你总得先告诉人家A是什么事啊?  发表于 2016-6-15 18:53

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

Lv3.寻梦者

梦石
0
星屑
4598
在线时间
1206 小时
注册时间
2016-4-7
帖子
982

开拓者

5
发表于 2016-6-17 22:21:37 | 只看该作者
最简单的方法就是活用备注。二读取备注的方法论坛上不要太多
如果想用excel,可以输出为csv(记得转码为UTF-8),csv的读取脚本也有不少
比如这个帖的主楼和5楼:
https://rpg.blue/forum.php?mod=viewthread&tid=383159
还有水区的这个:
https://rpg.blue/thread-394111-1-1.html
JSON的也有:
https://rpg.blue/thread-394137-1-1.html
https://rpg.blue/home.php?mod=sp ... o=blog&id=14721
或者INI:
https://rpg.blue/forum.php?mod=viewthread&tid=376866
在或者xml:
REXML
如果你希望既能扩充数据库还能有编辑器编辑,一个办法是用excel,或者自己早已个数据库编辑器,有上古大神造过类似玩意:
https://rpg.blue/thread-369127-1-1.html
还有不少相关讨论:
https://rpg.blue/forum.php?mod=viewthread&tid=352796
附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
101 小时
注册时间
2011-1-29
帖子
23
4
发表于 2016-6-17 19:42:27 | 只看该作者
本帖最后由 wxlhj860 于 2016-6-17 19:43 编辑

你不要split的写法。。是不是因为名字多出了",XX"内容?这个也可以用split删掉。。还是有点不懂吧!写法不同但是结果一样~不知道你具体需要的是什么~{:2_270:}
我只写了新方法,没设变量,所以只能直接在数据库中赋值充当常量,不能对值运算。
  1.   class RPG::Enemy
  2.     Matk = /,matk(\d+)/
  3.     unless method_defined? :name_matk
  4.       alias name_matk :name
  5.       def name
  6.         return name_matk.gsub(Matk, "")
  7.       end
  8.     end
  9.     def matk
  10.       Matk =~ @name
  11.       return $1.to_i
  12.     end
  13.   end
复制代码
名字后加",matkXXX",XXX是需要赋的值~

评分

参与人数 1星屑 +150 收起 理由
RyanBern + 150 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
15 小时
注册时间
2015-10-1
帖子
18
3
 楼主| 发表于 2016-6-16 10:04:02 | 只看该作者
wxlhj860 发表于 2016-6-15 11:30
不懂楼主的意思,不进行新的方法定义matk,在使用$data_enemies时没有matk此方法,将无法呼出$data_enemies ...

恩恩,就是直接在数据库中写,方便管理,或者……有办法读excel文档也可以……
for.ps.
啊,这个是类似连击脚本中的设定
例如
哥布林,0
这样在数据库的敌人页写了后敌人的名字就是哥布林,matk就是0……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
101 小时
注册时间
2011-1-29
帖子
23
2
发表于 2016-6-15 11:30:49 | 只看该作者
本帖最后由 wxlhj860 于 2016-6-15 14:48 编辑

不懂楼主的意思,不进行新的方法定义matk,在使用$data_enemies时没有matk此方法,将无法呼出$data_enemies[X].matk。
楼主的意思是不采用脚本和数据库连接的方式去描述matk的值吗?
PS:楼主请检查一下你的语句~return的内容不包含该方法内的任何变量。{:2_270:}
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 17:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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