※ 引述《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