Project1

标题: 关于增加物品或武器数据库属性的问题 [打印本页]

作者: yanlei8    时间: 2012-2-21 01:38
标题: 关于增加物品或武器数据库属性的问题
一、武器数据库里的武器的属性都有了,比如说:atk,然后在游戏里随意获得一把武器A,然后存档
二、现在我退出游戏后又在RPG::Weapon里为武器新定义了一个 gongji  的属性
三、然后我保存脚本后,重新进入存档,当然,这个时候数据库肯定报错说 "gongji" nil:NILClass

我现在要问的是,如何用if条件判断该武器 没有定义 gongji 这项属性
当然,我已经用过 if weapon.gongji == nil 的语法,当然是报错了

希望各位高手帮忙回答一下,如何写出如上的判定语句?
解决定重谢!dsu_plus_rewardpost_czw
作者: orzfly    时间: 2012-2-21 08:36
weapon.respond_to?(:gongji)
作者: yanlei8    时间: 2012-2-21 13:21
本帖最后由 yanlei8 于 2012-2-21 13:32 编辑

不对啊兄弟,我之前得了N把武器,现在我只是为一把武器加了qwuli,我用p了一下,所有的武器都是true,能不能只判定该武器的属性是否存在?
作者: orzfly    时间: 2012-2-21 14:31
yanlei8 发表于 2012-2-21 13:21
不对啊兄弟,我之前得了N把武器,现在我只是为一把武器加了qwuli,我用p了一下,所有的武器都是true,能不 ...

为rpg::weapon对象修改……您是怎样修改的…??
存档是和这个无关的……

(回复的时候点我帖子里的回复嘛
作者: 熊熊烈火雄壮    时间: 2012-2-21 15:45
RPG 模块的所有 initialize 初始化方法都是无效的. 脚本里事先读取了 *.rvdata 文件. 脚本里使用的 $data_XXX 变量都是事先声明好的. 脚本里是不会调用 initialize 方法的。所以你加入的那个属性没用
你可以另外定义一个方法 比如说  
def  gongji   #读取这个属性
if @gongji==nil
  @gongji=XX
end
return @gongji
end
def gongji=(gongji)
@gongji=gongji    #修改这个属性
end




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1