[wizs] questing("set", 呼叫法
這個語法是最近寫的。
/open/cmds/quest/quest_data/quest_data.c
case "set":
// set 一定要有 names, questnum 跟 var
if(names && names!="" && quest_num && quest_num!="" &&
sizeof(vars)>0 && stringp(vars[0]))
{
qq=query_quest_data(names,quest_num);
// 採嚴格設定法,沒有列入的參數均不准設
if((string)vars[0]=="times" && intp(vars[1]))
set_quest_data(names,quest_num,qq[1],vars[1],qq[3]);
else if((string)vars[0]=="steps" && intp(vars[1]))
set_quest_data(names,quest_num,vars[1],qq[2],qq[3]);
else
return -1;
return 1;
}
return -1;
break;
這意思就是說,假設任務 mark 是 j001,執行者是 justin
一、跳步驟
比方要把玩家變成「已經完成了步驟 5」
questing("set","justin","j001",({"steps",5}));
二、跳完成次數
比方要把玩家已完成該任務(全部流程) 3 次改成 0 次
questing("set","justin","j001",({"times",0}));
而 questing 是全域呼叫函數(simul_efun),所以你可以在
任何地方呼叫它,來更改 justin 的 j001 任務執行資料,
再用 quest query justin j002 來觀看更動結果。
例子:
> quest query laechan l002
quest: ({ "l002", 1, 0, "2011/10/18-2" })
([ "3" : 0, "2" : 0, "4" : 0 ])
> running
編輯結束並存檔(.). 中途放棄編輯(~q).訊息暫時中斷。
__________________________________________________________________
questing("set","laechan","l002",({"steps",3}));
========== 程式執行區 ==========
========== 程式執行區 ==========
> quest query laechan l002
quest: ({ "l002", 3, 0, "2011/10/18-2" })
([ "3" : 0, "2" : 0, "4" : 0 ])
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.157.53
→
12/18 16:56, , 1F
12/18 16:56, 1F
→
12/18 16:56, , 2F
12/18 16:56, 2F
→
12/18 16:56, , 3F
12/18 16:56, 3F
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
29
45