創造新任務的研究

首先以 愛情信任務來說明

任務流程
LV 1 愛情隨信 說話之島村莊 達靈 金幣:450

1 在說話之島村中央與(達靈)對話得到《達靈的信函》 說話之島村莊
達靈   達靈的信函
 
2 將《達靈的信函》交給村莊神殿前水井旁的(拉普吉兒)得到《拉普吉兒的手帕》 說話之島村莊
守門人
拉普吉兒   拉普吉兒的手帕
 
3 將《拉普吉兒的手帕》交給(達靈)得到《達靈的收據》 說話之島村莊
達靈   達靈的收據
 
4 將《達靈的收據》交給位於西南方教堂的(教師巴烏洛)得到《巴烏洛的藥水》 說話之島村莊
教師
巴烏洛   巴烏洛的藥水
 
5 將《巴烏洛的藥水》交回給(達靈)得到《450金幣》 說話之島村莊
達靈   金幣:450

可以在 questcomp.txt 發現任務道具
[0001]      letters_of_love1      {687;688;1079;1080}

{687;688;1079;1080} 記錄著所需任務道具
item_name_begin      id=687      name=[達靈的信函]      description=[達靈寫給拉普吉兒的情書]      item_name_end
item_name_begin      id=688      name=[拉普吉兒的手帕]      description=[拉普吉兒的手帕,拉普吉兒對達\n靈信函內容所做的回覆。]      item_name_end
item_name_begin      id=1079      name=[達靈的收據]      description=[達靈付給巴烏洛魔法藥水後的收\n據。必須將此交給巴烏洛]      item_name_end
item_name_begin      id=1080      name=[巴烏洛的藥水]      description=[巴烏洛專為害羞的達靈所特製的\n藥水,但是效果還是未知數。]      item_name_end

重點來了 控制任務的流程在 quesdata.txt

////////////////////////////////////////////////////////////////
////                                    
////      퀘스트 이름 : [사랑은 편지를 타고(letters_of_love1)]
////      퀘스트 번호 : 001                        
////      작성자 : 한재혁                            
////      작성일 : 2002 .11                          
////                                    
////////////////////////////////////////////////////////////////

quest_begin
quest_id = 1
quest_name = [letters_of_love1]
quest_items = { [darings_letter], [rapunzels_kerchief], [darings_receipt], [bauls_potion] }

記錄著所需要的任務道具
//      퀘스트 제시 및 수락
npc_begin
npc_name = [daring]

     talk_selected_event_begin
           condition = [HaveMemo(talker, @letters_of_love1)==0 &&
                    GetOneTimeQuestFlag(talker, @letters_of_love1)==0]
           choice_string = 0000101
           handler(fhtml0, talker) =
                 [
                       if (GetMemoCount(talker)<16)
                       {
                             if (talker.level > 1)
                             {
                                   FHTML_SetFileName(fhtml0, "daring_q0001_02.htm");
                                   FHTML_SetInt(fhtml0, "quest_id", @letters_of_love1);
                                   ShowFHTML(talker, fhtml0);
                             }
                             else
                                   ShowPage(talker, "daring_q0001_01.htm");
                       }
                       else
                             ShowPage(talker, "fullquest.htm");
                 ]
     talk_selected_event_end

     talk_selected_event_begin
           condition = [HaveMemo(talker, @letters_of_love1)==0 &&
                    GetOneTimeQuestFlag(talker, @letters_of_love1)==1]
           choice_string = 0000101
           handler(fhtml0, talker) =
                 [
                       ShowPage(talker, "finishedquest.htm");
                 ]
     talk_selected_event_end

     quest_accepted_event_begin
           handler(talker, quest_id) =
                 [                        
                       talker.quest_last_reward_time = 0;
                       SetMemo(talker, quest_id);
                       SoundEffect(talker, "ItemSound.quest_accept");
                       if(OwnItemCount(talker, @darings_letter) == 0)
                             GiveItem1(talker, @darings_letter, 1);            
                       ShowPage(talker, "daring_q0001_06.htm");
                 ]
     quest_accepted_event_end
npc_end


评论

该日志第一篇评论

发表评论

评论也有版权!