[任務] stepX_check 的特殊用法
這是從 RO 的研究所進出任務想到的,stepX_check
的寫法是這樣..
stepX_check=
!ppl->query_temp("already_choose") && check_something(ppl)>0
你選錯了喔!!##
接著我們就可以這樣子幹..
others=
int check_something(ppl)
{
string str;
if(!ppl->query_temp("already_choose"))
{
write("1.選左邊.\n"+
"2.選右邊.\n"+
"請輸入你的選擇: ");
input_to("make_choice",0,ppl,str);
}
return 1; // 一律是 return 1;
}
int make_choice(string str,object ppl)
{
int n=atoi(str);
if(n==1)
{
write("你選了左邊.\n");
ppl->move_player("/d/wiz/room/disc","SNEAK"); // 把玩家傳去別的地方
}
else if(n==2)
{
write("你選了右邊.\n");
ppl->set_temp("already_choose",1); // 右邊才是正確答案
}
else
write("沒有這個選項喔!\n");
return 1;
}##
這樣當玩家尚未做出選擇 or 選擇錯誤的答案時,就會卡在
stepX_check 那裡,玩家又 quest 一次時就會再執行一次選
擇,我上面還寫了一個「如果玩家選錯的話會發生什麼事」
的例子。
我用 l002 做了上述的實驗,證實了這是可行的。
> quest gigi about 選美比賽
潔潔: 在我決定參加之前你先告訴我,我能贏嗎?
1. 潔潔小姐一定可以贏的!
2. 嗯...我覺得很難耶.
請回答 1 或是 2: 2
你: ......2
潔潔: 哼! 我生氣了 ><
你被潔潔一腳踢到天空...
巨型高塔
明顯出口有: up, east, bet, south, down, west, 和 north
這時再回去找她
> quest gigi about 選美比賽
潔潔: 在我決定參加之前你先告訴我,我能贏嗎?
1. 潔潔小姐一定可以贏的!
2. 嗯...我覺得很難耶.
請回答 1 或是 2: 1
潔潔: 哇~我好開心,謝謝你^_^
這時再 quest 她一次
> quest gigi about 選美比賽
潔潔: 謝謝你, 請幫我轉告鎮長, 這次的選美比賽我會參加的 $_$
所以附帶有選項的任務,新的任務系統也是可以支援的。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 101.13.133.59
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
17
23