精華區beta mud_sanc 關於我們 聯絡資訊
※ 引述《doall (狂人)》之銘言: : 發現有個叫answer的玩家指令,不知如何應用? : 敢請大大說明之~ 有隻怪物叫酷拉皮卡(cool) ask 酷拉皮卡 about 小傑 => 他會先 smile 然後說他是個好孩子 ask 酷拉皮卡 about 念能力 => 他會 shake 然後說他不能告訴你 ask 酷拉皮卡 about 旅團 or 蜘蛛 => 他會變成火紅眼然後 kill 你 ask 酷拉皮卡 about 其它有的沒的 => 他會說你問的 XX 他不知道喔. void create() { . . set("ask_func","ask_xxx"); // 會呼叫的函數 set("ask_keywords",({"小傑","念能力","旅團","蜘蛛"})); // 關鍵字 set("ask_allow_other_keywords",1); // 允不允許 ask 其它的關鍵字 } int ask_xxx(object ppl,string key) { switch(key) { case "小傑": command("smile"); command("say 小傑是個好孩子."); break; case "念能力": command("shake "+ppl->query("name")); command("say 對不起, 我不能告訴你我的念能力是什麼.\n"); break; case "旅團": case "蜘蛛": tell_room(environment(this_object()), query("chi_name")+"的眼睛突然變成了血一般的紅色, "+ "他開始攻擊你了!!\n"); this_object()->kill_ob(ppl); ppl->kill_ob(this_object()); break; case "奇犽": // 玩家問了關鍵字以外的 key(需有設 ask_allow_other_keywords) command("smile"); command("say 奇犽也是個好孩子."); break; default: // 所問的東西不在上面的範圍時 command("say 對不起, 我不知道 <"+key+"> 這方面的事情喔."); break; } return 1; } 新的 ask 與舊的 ask 的差別就在於, 只要寫一個函數就可以應付 各種的 keywords. Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.114.160.227