作者mistwvearn (Denyrmo)
看板RPGMaker
标题[问题] 关於杂凑的写法
时间Fri Apr 23 22:23:31 2010
嗯...又来发问了
这次是想写装备的属性附加系统(就diablo的字首系统)
例如「风之力 的 九头蛇弓」:
$Item3是用来储存最终整把装备的总属性值
ItemType[1]是装备本身的资料,即「九头蛇弓」的能力值,暂定基础攻击力15
ItemMagic[1]是装备字首属性的资料,即「风之力」,暂定攻击力+20
那麽这把武器的攻击力将会是15+20=35,大概这个概念
我的写法是这样:
$Item3 = ItemType[1].clone
$Item3["能力"] = {} if ItemType[1]["能力"] == nil
if $Item3["能力"]["攻击"] == nil
$Item3["能力"]["攻击"] = ItemMagic[1]["能力"]["攻击"].clone
else
p ItemType[1] #=15
$Item3["能力"]["攻击"] += ItemMagic[1]["能力"]["攻击"]
p ItemType[1] #=35
end
(建议可以贴到RGSS编辑器上看..不会换色@@)
问题出在倒数2和4行,明明只有计算Item3的值作加减,
结果却会连带影响到ItemType[1]这个装备本身的资料值
导致「九头蛇弓」这个基础的装备能力值越来越大...
想请问一下,问题到底是出在哪里?
感激不尽!
(尝试过移除.clone,不过结果完全相同)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.168.114.54