[wizs] /cmds/std/_quest.c 修改

楼主: laechan (挥泪斩马云)   2017-12-24 10:11:25
主要修改 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 函数类似

Links booklink

Contact Us: admin [ a t ] ucptt.com