Project1
标题:
关于物品、仓库系统豪华版的问题
[打印本页]
作者:
ppi
时间:
2009-4-19 09:44
标题:
关于物品、仓库系统豪华版的问题
一个很老的脚步了,今天拿出了研究了一下!
发现一个问题想请教一下
函数:have_item?(item),判断是否拥有某物,这一项中的(item)里输入的是啥??
谢谢!!!
这是脚本的网页
http://rpg.blue/web/htm/news489.htm [LINE]1,#dddddd[/LINE]
此贴于 2009-4-19 9:54:22 被版主凌辰提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
版务信息:版主帮忙结贴~
作者:
紫苏
时间:
2009-4-19 16:04
其实要解决这类问题,只要会搜索脚本,追踪函数间的调用层次就行了~
→ 打开该脚本的页面,Ctrl+F 搜索 def have_item? ,这是定义该函数的地方
→ 发现这个函数返回的是 [@item 数组是否包含要搜索的物品] 的结果,于是搜索 @item
→ 反复点击[查找下一个],发现 push 到 @item 中的只有以下三种类型:
$data_items
$data_weapons
$data_armors
也就是说 have_items? 这个函数是根据数据库物品、武器、防具这三种不同类型的实例对象来判断是否拥有某物品的~
所以在调用 have_item? 的时候应该是以下形式:
(Game_Actor 类型对象).have_item?($data_items[编号])
(Game_Actor 类型对象).have_item?($data_weapons[编号])
(Game_Actor 类型对象).have_item?($data_armors[编号])
注意要区分没有继承关系的两个类中相同名字的变量,他们之间是不能划等号的,像 Game_Party 中也有一个 @items ,但这个 @items 却是一个以物品 ID 为键,物品数量为值的哈希表,和 Game_Actor 中的物品数组完全不同
[LINE]1,#dddddd[/LINE]
版主对此帖的认可:『认真的孩子是有奖励的。』,积分『+100』。
[LINE]1,#dddddd[/LINE]
系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者:
ppi
时间:
2009-4-19 17:52
原来是这样受教了…… [LINE]1,#dddddd[/LINE]
版主对此帖的评论:『问题解决请结贴。』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1