Project1
标题:
如何扩充数据库(新定义某一项内容)
[打印本页]
作者:
nightaround
时间:
2016-6-14 23:40
标题:
如何扩充数据库(新定义某一项内容)
就是,例如
$data_enemies[].matk =
这个matk要如何直接在数据库内定义,让上面的读取成功
不要这样的方法
=============
def matk
matk = @name.split(/,/)[1]
return name != nil ? name.to_i.abs : 0
end
=============
作者:
wxlhj860
时间:
2016-6-15 11:30
本帖最后由 wxlhj860 于 2016-6-15 14:48 编辑
不懂楼主的意思,不进行新的方法定义matk,在使用$data_enemies时没有matk此方法,将无法呼出$data_enemies[X].matk。
楼主的意思是不采用脚本和数据库连接的方式去描述matk的值吗?
PS:楼主请检查一下你的语句~return的内容不包含该方法内的任何变量。{:2_270:}
作者:
nightaround
时间:
2016-6-16 10:04
wxlhj860 发表于 2016-6-15 11:30
不懂楼主的意思,不进行新的方法定义matk,在使用$data_enemies时没有matk此方法,将无法呼出$data_enemies ...
恩恩,就是直接在数据库中写,方便管理,或者……有办法读excel文档也可以……
for.ps.
啊,这个是类似连击脚本中的设定
例如
哥布林,0
这样在数据库的敌人页写了后敌人的名字就是哥布林,matk就是0……
作者:
wxlhj860
时间:
2016-6-17 19:42
本帖最后由 wxlhj860 于 2016-6-17 19:43 编辑
你不要split的写法。。是不是因为名字多出了",XX"内容?这个也可以用split删掉。。还是有点不懂吧!写法不同但是结果一样~不知道你具体需要的是什么~{:2_270:}
我只写了新方法,没设变量,所以只能直接在数据库中赋值充当常量,不能对值运算。
class RPG::Enemy
Matk = /,matk(\d+)/
unless method_defined? :name_matk
alias name_matk :name
def name
return name_matk.gsub(Matk, "")
end
end
def matk
Matk =~ @name
return $1.to_i
end
end
复制代码
名字后加",matkXXX",XXX是需要赋的值~
作者:
shitake
时间:
2016-6-17 22:21
最简单的方法就是活用备注。二读取备注的方法论坛上不要太多
如果想用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
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1