微信扫一扫 分享朋友圈

已有 2075 人浏览分享

[WZ教學] 分辨ID相同的不同NPC(同地圖)

  [複製鏈接]

集團新軍

Rank: 1

27

威望

163

金錢

0

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

    2020-6-11 21:55
  • 簽到天數: 27 天

    連續簽到: 0 天

    [LV.4]偶爾看看III

    fmnijk 發表於  2020-1-31 10:38:37 | 顯示全部樓層 | 閱讀模式
    我試著修復趕走惡魔的方法任務

    001.jpg

    透過不停摸索src,終於在接取任務的時候,會將mysql的queststatus下customData設為000000

    002.jpg
    003.jpg

    這個任務要到5張地圖找2個NPC(1063012和1063013)

    每找一個要將customData其中一個0設為1,當customData變成111111時,任務完成

    0改成1還好,可以用getCustomData()和setCustomData()達成

    現在卡在1063013這個NPC在冰毒眼獸洞穴I(ID:105090000)有2個!

    要如何判斷它們是兩個不同的NPC呢,才可以設不同的0為1

    我本來是想說用cm.getMapId()下去寫NPC,寫完了才發現同一張地圖有2個同ID的NPC....

    004.jpg


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

    站長

    Rank: 12Rank: 12Rank: 12

    1762

    威望

    2943

    金錢

    106

    A幣
    主題
    1315
    帖子
    2440
    精華
    3
    綜合社群主題發文量
    262
    電玩社群主題發文量
    1
    娛樂社群主題發文量
    4
    技術社群主題發文量
    26
    閱讀權限
    200
    註冊時間
    2013-1-28

    我是傳奇贊助感謝勳章精華作者勳章

  • TA的每日心情

    2023-10-27 16:33
  • 簽到天數: 381 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    TWAICL 發表於 2020-1-31 14:37:53 | 顯示全部樓層
    修復任務通常不用動到SRC的,參考這篇
    http://aicltw.blogspot.com/2019/07/quest.html

    集團新軍

    Rank: 1

    27

    威望

    163

    金錢

    0

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

    2020-6-11 21:55
  • 簽到天數: 27 天

    連續簽到: 0 天

    [LV.4]偶爾看看III

     樓主| fmnijk 發表於 2020-2-1 01:57:06 | 顯示全部樓層
    回復 2# TWAICL

    已看過了,我的xml是wz直接導的,自己找答案後發現SRC沒寫這個部分
    原本的SRC不管甚麼任務都將customData設為null,取而代之的是需要用到customData的任務都是把NPC寫成直接完成任務,中間過程全部省略,當然也不會有任務獎勵。

    以下是NPC直接完成任務的代碼。
    1. var status = -1;

    2. function action(mode, type, selection) {
    3.     if (cm.isQuestActive(3929)) {
    4.         cm.playerMessage("Quest complete.");
    5.         cm.forceCompleteQuest(3929);
    6.     }
    7.     cm.dispose();
    8. }
    複製代碼
    ▼不少任務都直接使用這種方式。
    789.png

    站長

    Rank: 12Rank: 12Rank: 12

    1762

    威望

    2943

    金錢

    106

    A幣
    主題
    1315
    帖子
    2440
    精華
    3
    綜合社群主題發文量
    262
    電玩社群主題發文量
    1
    娛樂社群主題發文量
    4
    技術社群主題發文量
    26
    閱讀權限
    200
    註冊時間
    2013-1-28

    我是傳奇贊助感謝勳章精華作者勳章

  • TA的每日心情

    2023-10-27 16:33
  • 簽到天數: 381 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    TWAICL 發表於 2020-2-1 11:41:40 | 顯示全部樓層
    回復 3# fmnijk


       這我到沒發現,這是個不錯的修復法,同意的話,我想整理整理發佈到網站上,給同樣有需要的朋友摻摩。

    集團新軍

    Rank: 1

    27

    威望

    163

    金錢

    0

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

    2020-6-11 21:55
  • 簽到天數: 27 天

    連續簽到: 0 天

    [LV.4]偶爾看看III

     樓主| fmnijk 發表於 2020-2-1 12:02:55 | 顯示全部樓層
    回復 4# TWAICL

    好的。

    這可解決強化合成等等任務,像史丹的新技術(6029),這種任務後續的任務會先判斷customData才跳出可接任務的燈泡。
    4.jpg

    再補完quest腳本就可以完成修復了。

    初窺門道

    Rank: 2

    219

    威望

    710

    金錢

    338

    A幣
    主題
    32
    帖子
    64
    精華
    1
    綜合社群主題發文量
    0
    電玩社群主題發文量
    0
    娛樂社群主題發文量
    0
    技術社群主題發文量
    32
    閱讀權限
    20
    註冊時間
    2021-11-15
  • TA的每日心情
    奮鬥
    2024-1-28 13:17
  • 簽到天數: 1 天

    連續簽到: 1 天

    [LV.1]初來乍到

    chenhui540 發表於 2022-12-15 12:57:55 | 顯示全部樓層
    由于地图比较大,为了区分NPC的位置  可以用识别人物坐标的方式

                    if (cm.getPlayer().getPosition().y < 78) {

    这样就能完美的区分开两个位置的NPC了
    您需要登錄後才可以回帖 登錄 | 註冊會員

    本版積分規則

    9

    發文

    163

    金錢

    0

    A幣

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

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

    小黑屋|AICL社群娛樂集團

    GMT+8, 2024-4-29 07:57 , 網路刷新 0.121656 秒 .

    歡迎來到 AICL網路社群

    版權AICL社群所有 2011-2021.

    Total:123 Today:213 Online:322