作者laechan (小太保)
看板mud_sanc
标题Re: [wizs] 问题请教
时间Tue May 27 07:25:04 2008
※ 引述《aiggkimd (口古月)》之铭言:
: 像是凑道具然後换道具那种npc
: 想设定 物品A 10个,物品B 10个才能换物品C
: 或是A物品10个换B物品..
: 请问这种要怎麽写,大部分类似的npc都是各道具一个去换的
: 试了好几种写法都不行..我只会写各一个的..各n个的想不到写法
套用 hlead 提供的函数
mixed obs=all_inventory(ppl);
object ob;
int i,j,k;
foreach(ob in obs)
{
if(ob->query("道具A"))
i++;
if(ob->query("道具B"))
j++;
if(ob->query("道具C"))
k++;
}
if(i>=10 && j>=15 && k>=20)
即满足条件;
另一种简易写法是为道具 a, b, c 设定特殊的 ID, 则只需要一行..
object ob1,ob2,ob3;
if(ob1=present("OBJECT_A 10",ppl) &&
ob2=present("OBJECT_B 15",ppl) &&
ob3=present("OBJECT_C 20",ppl))
即满足条件;
一、确定不会有 wiz 在设定物件时, 会跟你取同样的道具 ID
二、上面的判断就是玩家身上有第 10 件道具A + 第 15 件道
具B + 第 20 件道具C 的判断方式.
不过一般来说我会建议 wiz 写成虚拟物品式, 或者透过某房间
集中储存玩家所拥有的东西.
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.104.246