[任務] stepX_check 的特殊用法

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間14年前 (2011/10/17 16:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
這是從 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
文章代碼(AID): #1Ec-kcu5 (mud_sanc)
文章代碼(AID): #1Ec-kcu5 (mud_sanc)