微信扫一扫 分享朋友圈

已有 2400 人浏览分享

[WZ教學] 服主必學!任務改為腳本控制

[複製鏈接]

區域版主

Rank: 10Rank: 10Rank: 10

245

威望

1142

金錢

582

A幣
主題
130
帖子
245
精華
0
綜合社群主題發文量
9
電玩社群主題發文量
10
娛樂社群主題發文量
0
技術社群主題發文量
89
閱讀權限
100
註冊時間
2016-5-17
  • TA的每日心情

    2022-4-29 14:36
  • 簽到天數: 5 天

    連續簽到: 1 天

    [LV.2]偶爾看看I

    t9540513 發表於  2022-5-18 17:45:42 | 顯示全部樓層 | 閱讀模式
    註解 2022-05-18 150230.png

    【介紹】
    任務一直困擾著每一個服的服主,明明節點都相同,就是會莫名出錯,
    主程式百百種,更換一種修一種(單壓?)會直接把人給累死,
    加上修復方式只能靠wz修復的話,過程繁瑣,許多服主多半放推了。
    而只要改成腳本修復,除了即時性與修復速度可以大大縮減,最主要的是,
    自由度大大增高,只要端口有的腳本功能,通通能寫入。

    本篇將以"證明身為訓練師的能力"為範例,說明如何修改成腳本控制與修復任務。

    【教學】
    首先,我們透過導出的"QuestInfo.img"找到這個任務的任務代碼,得知該任務代碼是 4646。
    不知道如何查詢的請看 "如何正確找到各種楓之谷物件代碼",
    Quest 的基本知識請看  "新手必讀"Quest"任務修復、新增全攻略"

    註解 2022-05-18 150230.png


    透過編輯軟體,打開 Quest .wz ,這邊使用 HaRepackerResurrected

    註解 2022-05-18 153427.png

    點選 Check.img 這是判斷任務狀態的節點;找到代碼 4646 並點開。
    其中,0 代表觸發這個任務的條件;1 代表任務完成的條件

    註解 2022-05-18 153935.png

    我們點開 0 查看觸發條件是什麼。點開後可以知道,要觸發這個任務,要找指定 npc 與擁有 pet(寵物)。
    以下分享常見的條件節點。
    npc = 必要節點,指定該任務是由哪個 npc 負責發佈。
    lvmin = 所需最小等級,達到指定等級才可以接取。
    lvmax = 所需最大等級,超過指定等級才無法接取。
    quest = 所需任務,可以設定接取目前任務需要完成或正在進行何種任務(不懂操作請留言)。
    item = 需要的道具,身上擁有什麼道具時才能觸發任務。
    interval = 間格時間,如果寫 0 完成後可馬上再接取,重複任務用的,裡面的時間計算方式應該是分鐘。
    job = 需要何種職業,填寫指定職業代碼,就可設定擁有該職業才可觸發任務。

    註解 2022-05-18 154044.png


    我們要在觸發條件 0 中,加入腳本控制 startscript 這個節點。
    請先點選 0 這個節點,讓軟體知道你要新增的位置後,按圖中操作,
    點選文本類型。

    觸發條件會建議寫在WZ中,不建議腳本控制,除非你的任務沒有任何接取條件。

    註解 2022-05-18 155307.png

    名稱打上 startscript ;值的部分打上 q4646s (紅色字的數字,可以自訂義,但通常會配合該任務原先設定的代碼
    方便後期查找與修改),設定好後請按確認。

    註解 2022-05-18 155502.png

    完成條件 1 我們要新增 endscript 節點,操作方式與新增 startscript  相同。

    註解 2022-05-18 160946.png


    名稱打上 endscript ;值的部分打上 q4646s

    註解 2022-05-18 161930.png

    判斷任務完成條件,雖然也可全腳本控制,但會犧牲掉"任務指引"這項功能,
    而如果要計算打怪次數,也沒辦法還原,所以要腳本+WZ兩種結合使用,
    腳本部份可保證任務能順利結束,WZ則是協助判斷。

    像是 4646 這個任務,點開 item 節點能看到,要完成需要代碼 4031921 這個物品 1 份。

    註解 2022-05-18 162726.png


    完成新增後,我們將修改好的檔案打包存檔,並導入與導出到端口中。

    註解 2022-05-18 162957.png


    我們打開端口,按照路徑  scripts → quest 進入任務腳本存放位置。

    註解 2022-05-18 163207.png

    我們直接複製一份現成的任務腳本,這裡複製 1021 這個腳本。

    註解 2022-05-18 163252.png


    我們將複製好的 1021 修改為 4646 ,並開啟遊戲看看修改效果。
    如下圖,可以看到該任務已經改成腳本控制。

    註解 2022-05-18 170716.png

    接著我們就要編寫說明內容,這邊我們直接參考原版的任務說明 Say.img 編寫內容。
    這邊需要一點腳本基礎,我直接將完成品貼給各位,請自行參考。

    1. load('nashorn:mozilla_compat.js');
    2. importPackage(Packages.client);

    3. var status = -1;

    4. function start(mode, type, selection) {
    5.         if (mode == -1) {
    6.                 qm.dispose();
    7.         } else {
    8.                 if (mode == 1)
    9.                         status++;
    10.                 else
    11.                         status--;
    12.                 if (status == 0) {
    13.                         qm.sendNext("你想要成為像我一樣優秀的訓練師嗎?像我這種等級的訓練師,是可以輕而易舉地帶領多隻寵物喔!如何?你也想要帶領多隻寵物,對吧?");
    14.                 } else if (status == 1) {
    15.                         qm.sendAcceptDecline("考慮的怎麼樣?想不想接取這個任務?");
    16.                 } else if (status == 2) {
    17.                         qm.sendPrev("快去拿到 #t4031921# 然後交給我吧");
    18.                 } else if (status == 3) {
    19.                         qm.forceStartQuest();
    20.                         qm.dispose();
    21.                 }
    22.         }
    23. }

    24. function end(mode, type, selection) {
    25.         if (mode == -1) {
    26.                 qm.dispose();
    27.         } else {
    28.                 if (mode == 1)
    29.                         status++;
    30.                 else
    31.                         status--;
    32.                 if (status == 0) {
    33.                         qm.sendNext("喔喔~你還滿有兩下子嘛!那就由我來傳授這項祕技吧!但我也不能免費教你,小小的謝禮是必要的。這東西在一般商人那裡是買不到的,是訓練寵物必要的特殊商品。");
    34.                 } else if (status == 1) {
    35.                         qm.sendNextPrev("請接著通過 訓練師的秘方 這個任務吧,我會把稀有的寵物技能交給你");
    36.                 } else if (status == 2) {
    37.                         qm.forceCompleteQuest();
    38.                         qm.dispose();
    39.                 }
    40.         }
    41. }
    複製代碼


    腳本語法大致上都跟一般腳本相同,差別在於開頭是qm。
    這邊介紹比較特別的方法

    qm.forceStartQuest(); = 任務開始。
    qm.forceCompleteQuest(); = 任務結束
    qm.sendAcceptDecline(); = 給予接受或不接受對話框。


    完成後任務就基本沒問題,可以順利接續下一部份的任務。

    註解 2022-05-18 174439.png


    這樣大家學會了嗎?有什麼問題請在留言告知。





    共收到 0 A幣
    打賞榜
    暫無
    暫無
    暫無
    暫無
    ----
    暫無
    ----
    暫無
    ----
    暫無
    ----

    集團新軍

    Rank: 1

    111

    威望

    267

    金錢

    0

    A幣
    主題
    0
    帖子
    35
    精華
    0
    綜合社群主題發文量
    0
    電玩社群主題發文量
    0
    娛樂社群主題發文量
    0
    技術社群主題發文量
    0
    閱讀權限
    10
    註冊時間
    2021-8-6
  • TA的每日心情

    2021-8-18 09:47
  • 簽到天數: 2 天

    連續簽到: 1 天

    [LV.1]初來乍到

    幼幼 發表於 2022-5-18 18:00:51 | 顯示全部樓層
    本帖最後由 幼幼 於 2022-5-18 18:02 編輯

    內容蠻詳細的 .用來參考修復史丹新技術看看..任務可以接不過不會出發另外3個NPC燈泡 .不知怎讓他觸發

    點評

    那就是在另外三個任務的 觸發條件 0 中,新增節點 quest 。  發表於 2022-5-18 18:55

    集團新軍

    Rank: 1

    111

    威望

    267

    金錢

    0

    A幣
    主題
    0
    帖子
    35
    精華
    0
    綜合社群主題發文量
    0
    電玩社群主題發文量
    0
    娛樂社群主題發文量
    0
    技術社群主題發文量
    0
    閱讀權限
    10
    註冊時間
    2021-8-6
  • TA的每日心情

    2021-8-18 09:47
  • 簽到天數: 2 天

    連續簽到: 1 天

    [LV.1]初來乍到

    幼幼 發表於 2022-5-18 19:01:52 | 顯示全部樓層
    本帖最後由 幼幼 於 2022-5-18 19:02 編輯
    擷取.PNG 幼幼 發表於 2022-5-18 18:00
    內容蠻詳細的 .用來參考修復史丹新技術看看..任務可以接不過不會出發另外3個NPC燈泡 .不知怎讓他觸發
    ...

    裡面是有新增了quest id 6029  

    區域版主

    Rank: 10Rank: 10Rank: 10

    245

    威望

    1142

    金錢

    582

    A幣
    主題
    130
    帖子
    245
    精華
    0
    綜合社群主題發文量
    9
    電玩社群主題發文量
    10
    娛樂社群主題發文量
    0
    技術社群主題發文量
    89
    閱讀權限
    100
    註冊時間
    2016-5-17
  • TA的每日心情

    2022-4-29 14:36
  • 簽到天數: 5 天

    連續簽到: 1 天

    [LV.2]偶爾看看I

     樓主| t9540513 發表於 2022-5-18 19:07:41 | 顯示全部樓層
    幼幼 發表於 2022-5-18 19:01
    裡面是有新增了quest id 6029

    那你就要檢查,他要的條件是任務完成,還是任務進行中。
    還有其他條件也要檢查,一個條件沒滿足任務也不會觸發。

    集團新軍

    Rank: 1

    107

    威望

    257

    金錢

    0

    A幣
    主題
    0
    帖子
    43
    精華
    0
    綜合社群主題發文量
    0
    電玩社群主題發文量
    0
    娛樂社群主題發文量
    0
    技術社群主題發文量
    0
    閱讀權限
    10
    註冊時間
    2023-6-30

    該用戶從未簽到

    a27581132 發表於 2023-9-23 19:44:15 | 顯示全部樓層
    麻烦一下,我改了脚本控制之后 还是无法接取任务
    您需要登錄後才可以回帖 登錄 | 註冊會員

    本版積分規則

    245

    發文

    1142

    金錢

    582

    A幣

    ----------榮譽勳章----------

    熱門推薦
    圖文推薦
    • 聯繫我們

    小黑屋|AICL社群娛樂集團

    GMT+8, 2024-3-28 17:11 , 網路刷新 0.127887 秒 .

    歡迎來到 AICL網路社群

    版權AICL社群所有 2011-2021.

    Total:123 Today:213 Online:322