作者aiggkimd (口古月)
看板mud_sanc
标题Re: [wizs] 问题请教
时间Tue May 27 17:19:18 2008
我一开始实验单样物品n个,用hlead贴的结果没反应..复制贴上改掉道具也不能..痾
int return_obj(string str)
{
object ob,ppl=this_player();
mixed obs=all_inventory(ppl);
int i,u;
i=0;
foreach(ob in obs)
if(ob->query("mushroom"))
i++;
if (i<2)
{
write("你要收集满两个才能兑换唷!!\n");
return 1;
}
for(u=0;u<3;u++)
{
ob=present("mushroom",ppl);
ob->remove();
}
write("这是你要的东西,拿去吧!!!\n");
return 1;
}
结果都显示"你要收集满两个才能兑换唷"...没成功.
测试2,我拿蘑菇跟骨头来实验,用小保贴的改2样各n个来试
int return_obj(string str)
{
object ob,ppl=this_player();
mixed obs=all_inventory(ppl);
int i,j;
i=0;
j=0;
foreach(ob in obs)
{
if(ob->query("mushroom"))
i++;
if(ob->query("bone"))
j++;
}
if(i>=2 && j>=2)
write("这是你要的东西,拿去吧!!!\n");
else write("你东西要收集满才能兑换唷!!\n");
return 1;
}
结果只会显示"你东西要收集满才能兑换唷"....都失败了..
请问哪边要修正?
还有一次移除两种东西
ob=present("mushroom",ppl) && ob=present("bone",ppl)
ob->remove();
这样写可以??
但是这样好像只会移除一组而已..假如npc各要2组的话
for(k=0;k<3;k++)
{
ob=present("mushroom",ppl) && ob=present("bone",ppl)
ob->remove();
这样不晓得行不行..
小保贴的方法2就可以用,但是成功後的移除不晓得怎写比较好
像蘑菇跟骨头各两个都移除掉..试不出来
目前就这样..移除的部分还在研究
int return_obj(string str)
{
object ob1,ob2,ppl=this_player();
if(ob1=present("mushroom 2",ppl) &&
ob2=present("bone 2",ppl))
{
write("这是你要的东西,拿去吧!!!\n");
}
else write("你东西要收集满才能兑换唷!!\n");
return 1;
}
现在有点混乱..请示一下,谢谢..
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.29.188
※ 编辑: aiggkimd 来自: 220.135.29.188 (05/27 18:10)
1F:推 hlead :ob->query("mushroom") <--你是错这地方。 05/27 19:39
2F:推 hlead :那是物件上的另外参数,不是该物件ID。 05/27 19:40
3F:→ aiggkimd :3q 05/27 23:06