作者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
1F:→ hlead :基本上..差删除吧... 05/08 21:46
2F:→ laechan :删除只有一行:p (你可参考 check 的程式段,cp而已) 05/09 00:31