查看: 3469|回复: 5

[已经解决] 请问如何对持有两种以上的物品进行判断?

[复制链接]
梦石
0
星屑
50
在线时间
6 小时
注册时间
2012-6-7
回帖
4
发表于 2012-6-7 19:27:38 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 leonyang 于 2012-6-9 09:35 编辑

标题的描述可能不是很准确。
我的目的是要达成这样的效果:如果持有物品A和B,则可以触发事件C;A和B只要有一样没有持有,则不能触发事件C。
我试过使用条件分歧,先判断持有A,再判断持有B,可以达成我想要的结果。
但是,如果需要判断的物品种类一旦超过三种,这样子做起来就会很麻烦。
有没有不是这样按顺序判断,而是同时判断的方法。
(本人脚本小白,如果是脚本的话,麻烦写得稍微详细些,谢谢!)

哆啦菌

梦石
0
星屑
46
在线时间
795 小时
注册时间
2010-7-24
回帖
3507
发表于 2012-6-7 20:31:44 | 显示全部楼层
本帖最后由 fxwd 于 2012-6-7 20:32 编辑

新建一个事件,条件分歧:如果持有X号物品的情况下,在这个条件分歧的下面继续条件分歧:如果持有X号物品的情况下,然后下面加上2个物品都有后的处理。
这还叫麻烦?做一个游戏怎能粗糙了事?
随便看看
回复

使用道具 举报

梦石
0
星屑
50
在线时间
6 小时
注册时间
2012-6-7
回帖
4
 楼主| 发表于 2012-6-7 21:14:53 | 显示全部楼层
fxwd 发表于 2012-6-7 20:31
新建一个事件,条件分歧:如果持有X号物品的情况下,在这个条件分歧的下面继续条件分歧:如果持有X号物品的 ...

如果五个呢?岂不是要套五层条件分歧?
如果有便捷手段的话,可能大大加快制作游戏的时间

点评

您的教训我接受,也明白任何事都得脚踏实地的来。但是放弃可能存在的更效率的做法只会无谓地增加工作时间,虽然后来证明了不存在更效率的方法  发表于 2012-6-9 09:32
那我真的可以负责任的告诉你,不是骂你,你根本做不成游戏。连一个5个判断句都觉得浪费时间的人是不可能做成一个完成的游戏的  发表于 2012-6-8 12:00
回复

使用道具 举报

梦石
0
星屑
2306
在线时间
1010 小时
注册时间
2012-4-30
回帖
1455

开拓者

发表于 2012-6-7 21:28:54 | 显示全部楼层
本帖最后由 铅笔描绘的思念 于 2012-6-7 21:50 编辑

条件分歧:脚本
  1. $game_party.has_item?($data_items[1]) and $game_party.has_item?($data_items[2]) and $game_party.has_item?($data_items[3]) and $game_party.has_item?($data_items[4])#$data_items[X]就是数据库里物品的ID
复制代码
如果是武器或者防具的话。。$game_party.has_item?($data_items[X])变成$game_party.has_item?($data_weapons[X], true)
或者 $game_party.has_item?($data_armors[@params[X]], true)#X同理  但逗号后true 或者 false 是包括(true)或不包括(false)已装备的


最多可以套四个吧。。  如果要多 再套几层条件分歧就O。。效率比普通的好一些
回复

使用道具 举报

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
回帖
550
发表于 2012-6-7 23:17:38 | 显示全部楼层
leonyang 发表于 2012-6-7 21:14
如果五个呢?岂不是要套五层条件分歧?
如果有便捷手段的话,可能大大加快制作游戏的时间 ...

做游戏没有速成之道

就算用了脚本 最基础的也要写5种道具是否持有
(或5个道具编号,是道具编号的话你还要去算道具的编号是多少, 将来检查游戏 一看到编号就打开数据库看看是什么东西,不是更麻烦?)
不可能点一个键就自动判断是否有5种道具
回复

使用道具 举报

梦石
0
星屑
26
在线时间
2155 小时
注册时间
2010-12-19
回帖
5625

贵宾

发表于 2012-6-12 20:46:32 | 显示全部楼层
楼主……这不是用变量就可以实现的问题吗?(如果你属于地图实现获得物品的话,我的办法可以,但如果你的物品是战斗打怪获得的话 我的变量貌似就不灵了)

举个例子:你开一扇门,需要两把钥匙都在手。
这时候,比如,你在某个洞穴的宝箱里设置打开获得钥匙A,这时候你在后面就加一个【变量001 加法 常量+1】。 然后比如另外一个树林里某处获得钥匙B,然后【变量001 加法 常量+1】。

最后,你在那扇门那里,加个条件分歧——【变量001 的数值 等于 常量:2  】的时候,大门开启
(于是这就是,要求同时获得两样东西开启一个事件的设置)

点评

考虑过变量,如你所举的例子A+B=2,同时A+A也=2,但我只想要A+B的情况。这种情况下,变量就不是很好用了  发表于 2012-6-15 18:50
变量操作就在事件库里  发表于 2012-6-12 20:49
RM,始终放不下,它给我带来的充实生活

【Labyrinth】失落秘密基地!!
请来此看看我的论坛,注册一个会员,来夸或骂我两句~!点图片进入,感谢你的参与!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部