[wizs] /cmds/std/_quest.c 修改
主要修改 quest ooo about xxx 的部份,在大部份的判斷之前
增加以下兩行:
if(function_exists("step0_check",quest_ob))
quest_ob->step0_check(me,mob,key);
這部份可以在 /open/cmds/quest/l/l008 檔案內看到:
others=
int step0_check(object ppl,object npc,string keyword)
{
if(!ppl->query_temp("heal_time/2017聖誕buff"))
{
ppl->temp_several_same_mod(({"stat/fel","stat/str","stat/air","stat/mag",
"stat/int","stat/dex"}),99,"2017聖誕buff",30);
write(HIR"聖誕老人"NOR"幫你施了強力法術。「"HIW"聖誕節快樂唷 ^_^"NOR"」\n");
}
return 1;
}
只要任務腳本檔有 step0_check 這個函數,就會呼叫。
這可以讓 quest 所問的目標額外做一些處理,它不會受到已解次數
已到極限、或是寫在 step1_check 內的限制,例如以 l008 為例,
它有等級需大於 20 級才能解該任務的限制,但是 step0_check 可
跳過該限制。
需要先瞭解的一點是,step0_check 定位類似寫在 quest 目標物上
的 init 函數,不同的地方只是必須透過 quest 指令來觸發而已,
其它其實都跟 init 函數類似----所以撰寫時也必須以這個來做為考
量,它跟 stepX_check 基本上是一起呼叫的,玩家不管執行到任務
的第幾步驟都會呼叫該函數,所以該函數的撰寫必須小心為之,只要
留意這一點,它其實就是很好用的函數。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.106.224
※ 文章網址: https://www.ptt.cc/bbs/mud_sanc/M.1514081489.A.1A0.html
→
12/25 11:57,
7年前
, 1F
12/25 11:57, 1F
→
12/25 11:57,
7年前
, 2F
12/25 11:57, 2F
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
51
65