作者laechan (小太保)
看板mud_sanc
標題[wizs] mob_record 及 questing 新語法
時間Tue May 8 17:07:48 2012
這是今天修改事項,合併在一起講,底下的 code 可貼到
running 直接試。
// 先判斷任務有沒有接
// 判斷是用 check, 它會判斷玩家 temp 區的 mob_record/xxx
// 存不存在.
if(questing("mob_record","check","laechan_test",
({this_player()}))>0)
write("我已經接了 laechan_test 任務.\n");
else
write("我還沒接 laechan_test 任務.\n");
// 模擬接任務, 設定用是 set 語法
// 它會做 me->set_temp("mob_record/xxx",([殺怪參數,..]));
// 如 "/u/l/laechan/area/felid/mob/lovers1":"0/10",
// 代表應殺 10 隻, 已殺 0 隻(初始化)
questing("mob_record","set","laechan_test",({this_player(),
"/u/l/laechan/area/felid/mob/lovers1",10,
"/u/l/laechan/area/whitetile/mob/customer1",10}));
// 設好後 check 一下任務有沒有接的判定對不對
if(questing("mob_record","check","laechan_test",
({this_player()}))>0)
write("我已經接了 laechan_test 任務.\n");
else
write("我還沒接 laechan_test 任務.\n");
// 顯示設定的資料
// 顯示用的是 query 語法, 它會顯示 laechan_test 底下
// 的概況, 然後回傳一個二維陣列供 wiz 讀取使用
write("設定資料如下:\n"+
identify(questing("mob_record","query","laechan_test",
({this_player()})))+"\n");
// 再模擬接了第二個任務, 其中 lovers 重覆
// 即第一跟第二的任務都有殺 lovers, 只是應殺隻數不同
questing("mob_record","set","laechan_test2",({this_player(),
"/u/l/laechan/area/felid/mob/lovers1",20,
"/u/l/laechan/area/whitetile/mob/man1",20}));
// 然後模擬殺了 lovers 一隻.
// 用的是 add 語法, quest_num 那格就替換為 mob_file
questing("mob_record","add",
"/u/l/laechan/area/felid/mob/lovers1",
({this_player()}));
// 然後顯示兩筆任務的殺怪資訊
write("殺完後資料如下:\n"+
identify(questing("mob_record","query","laechan_test",
({this_player()})))+"\n"+
identify(questing("mob_record","query","laechan_test2",
({this_player()})))+"\n");
=============================================================
底下是執行結果
========== 程式執行區 ==========
我還沒接 laechan_test 任務.
我已經接了 laechan_test 任務.
設定資料如下:
({ ({ "/u/l/laechan/area/whitetile/mob/customer1", 0, 10 }),
({ "/u/l/laechan/area/felid/mob/lovers1", 0, 10 }) })
殺完後資料如下:
({ ({ "/u/l/laechan/area/whitetile/mob/customer1", 0, 10 }),
({ "/u/l/laechan/area/felid/mob/lovers1", 1, 10 }) })
({ ({ "/u/l/laechan/area/whitetile/mob/man1", 0, 20 }),
({ "/u/l/laechan/area/felid/mob/lovers1", 1, 20 }) })
========== 程式執行區 ==========
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 223.143.239.37
→ hlead :基本上..差刪除吧... 05/08 21:46
→ laechan :刪除只有一行:p (你可參考 check 的程式段,cp而已) 05/09 00:31