小馬專屬論壇與技術交流

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 94|回復: 3

請問關於cm.openNpc呼叫NPC問題

[複製鏈接]
發表於 2018-4-15 04:48:41 | 顯示全部樓層 |閱讀模式
各位大大好
小弟近日想寫一個萬能NPC(此萬能NPC是透過拍賣鍵呼叫的)
想透過cm.openNpc的腳本呼叫其他NPC
NPC雖然呼叫出來了
但是呼叫出來的NPC
選擇了選項後就跳掉了
沒有出現後續
也沒出現任何錯誤
但是如果直接與該NPC對話
腳本運行都會是正常的
var status = -1;

function start() {
    action(1, 0, 0);
}

function action(mode, type, selection) {
    if (mode == 0) {
        cm.dispose();
        return;
    } else {
        status++;
    }

    if (status == 0) {
        cm.sendSimple("親愛的#b#e#h ##k#n您好,選擇您需要的服務:\r\n#L0#地圖傳送\r\n#L1#變更造型 \r\n#L2#就職轉職 \r\n#L3#變更性別 \r\n#L4#呼叫腳本");
    } else if (status == 1) {
        switch (selection) {
                case 0 :
                cm.dispose();
                cm.openNpc(9000020);
                break;
               
                case 1 :
                cm.dispose();
                cm.openNpc(9105006);
                break;
               
                case 2 :
               cm.dispose();
                cm.openNpc(9000020);
                break;
               
                case 3 :
                cm.dispose();
                cm.openNpc(9000020);
                break;
                }
        cm.dispose();
    }
}

萬能NPC語法↑

↑Src內確認有openNpc語法


↑成功呼叫出了NPC


↑點擊選項後卻結束了對話



↑直接與該NPC對話,功能都是正常的



回復

使用道具 舉報

發表於 2018-4-15 09:47:56 | 顯示全部樓層
本帖最後由 藍兔 於 2018-4-15 09:49 編輯

沒記錯的話...
cm.dispose() 會結束當前的腳本

因為每個case後面都有加
所以會先結束目前的腳本再開啟指定的NPC ( cm.openNpc() )

可是switch結束後又加了cm.dispose()
這次就變成結束剛剛開的 Npc 的腳本了

你的code
[Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode
else if (status == 1) 
{
    switch (selection) 
    {
    case 0 :
        cm.dispose(); //結束當前的腳本
        cm.openNpc(9000020); //開啟Npc
        break;
    
    case 1 :
        cm.dispose();
        cm.openNpc(9105006);
        break;
    
    case 2 :
        cm.dispose();
        cm.openNpc(9000020);
        break;
    
    case 3 :
        cm.dispose();
        cm.openNpc(9000020);
        break;
    }
    cm.dispose(); //問題就在這裡,結束switch後還是會跑到這裡,然後就把剛剛打開的Npc的腳本關掉了
}

點評

4藍兔大大 owo  發表於 2018-4-15 11:59

評分

參與人數 2小馬硬幣 +2 收起 理由
參貳壹 + 1 很贊!
極品綠茶 + 1 很贊!

查看全部評分

回復 支持 2 反對 0

使用道具 舉報

 樓主| 發表於 2018-4-15 16:51:12 | 顯示全部樓層
藍兔 發表於 2018-4-15 09:47
沒記錯的話...
cm.dispose() 會結束當前的腳本

謝謝藍兔大
真是當局者迷阿
我居然完全忽略下面那一個dispose
我甚至自行進src內自行增加dispose
還嘗試了將解卡指令內的清除腳本那段指定我的萬用NPC
想不到這麼簡單
萬分感謝
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|手機版|小馬專屬論壇與技術交流  

GMT+8, 2018-4-23 15:45 , Processed in 0.032390 second(s), 11 queries , APC On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表