原来如此,真是多谢了。
再麻烦你一下,如果我要将一种属性的物品全部冻结,可以修改这个代码实现吗?作者: 立华·奏 时间: 2010-12-19 17:24
for i in $data_items
if i != nil
if i.element_set.include?(属性编号)
freeze_item(i.id)
end
end
end
这样试试,未测试 作者: zhyd1010 时间: 2010-12-19 17:53
修改后
#--------------
#Freeze Item
#--------------
#
#Data
class Game_System
attr :freeze_items
alias godseyes_initialize initialize unless self.instance_methods.include?("God's Eyes")
def initialize
@freeze_items = []
godseyes_initialize
end
end
#module RPG
module RPG
class Item
for i in $data_items
if i != nil
if i.element_set.include?(017)
def price
return $game_system.freeze_items.include?(@id) ? 0 : @price
end
def occasion
return $game_system.freeze_items.include?(@id) ? 3 : @occasion
end
end
end
end
end
end
#Interpreter
class Interpreter
def freeze_item(id)
$game_system.freeze_items.push(id)
end
end
可出现了
undefined method 'each' for nil:NilClass的问题作者: Wind2010 时间: 2010-12-19 17:57
for i in $data_items
if i != nil
if i.element_set.include?(属性编号)
freeze_item(i.id)
end
end
end
复制代码
这段应该不是插入到那个脚本里面吧?作者: zhyd1010 时间: 2010-12-19 18:01
呃,没有办法,对ruby语言如何建构还是不明,只能看懂,定义啦类啦什么的搞不清
不过错误好像不在这个问题上
刚刚我把
for i in $data_items
改成了
for i in 1...$data_items
错误变成了bad value for range
更不明了…… 作者: 立华·奏 时间: 2010-12-20 22:53
请在事件调用的时候使用此代码……
for i in $data_items
if i != nil
if i.element_set.include?(属性编号)
freeze_item(i.id)
end
end
end作者: zhyd1010 时间: 2010-12-20 23:44 回复 立华·奏 的帖子