chenhui540

求助!精靈遊俠頭頂燈泡腳本任務閃退

發表於 2023-5-3 20:48:21
chenhui540 發表於 2023-5-3 20:48:21 | 顯示全部樓層 |閱讀模式
1.png



2.png
3.png


求助!精靈遊俠頭頂燈泡腳本任務閃退,系統的燈泡任務接取與完成沒有問題,但是就是不支援自己與自己對話的腳本sendPlayerToNpc的支持,如果不是與自己對話的情況,sendPlayerToNpc是正常的,但是不支持NPC== 0 的問題,我有抄功能正常的CMS104源碼,sendPlayerToNpc相關的內容,但是對比之下,發現好像並沒有區別。


        <imgdir name="1">
            <int name="infoNumber" value="24093" />
            <string name="endscript" value="q24040e" />
            <imgdir name="infoex">
                <imgdir name="0">// NPC = 0
                    <string name="value" value="1" />
                </imgdir>
            </imgdir>
        </imgdir>
    </imgdir>

相关脚本

/*
        名字:        醒来
        地圖:        精靈遊俠
        描述:        精靈遊俠
*/

var status = -1;

function end(mode, type, selection) {
        switch (mode) {
        case -1:
                qm.dispose();
                return;
        case 0:
                status--;
                break;
        case 1:
                status++;
                break;
                }
        switch (status) {
        case 0:
                if (qm.getQuestStatus(24040) == 0) {
                        qm.forceStartQuest();
                        qm.dispose();
                        return;
                        }
                        qm.sendPlayerToNpc("等等……好像有點奇怪?我的等級是多少?");
                        break;
        case 1:
                qm.sendPlayerToNpc("10……級?!");
                break;
        case 2:
                qm.sendPlayerToNpc("……到底是怎麼回事?我的等級……怎麼這麼低?只有10級?10級?不是100級,是10級?我還在做夢嗎?掐一下自己的話,會醒來嗎?啊!");
                break;
        case 3:
                qm.sendPlayerToNpc("哎呀!不是夢!這是黑魔法師的詛咒的影響嗎?!…… 呃呃呃……可惡的黑魔法師!本來就沒有任何好感,現在真的是不可原諒!");
                break;
        case 4:
                qm.sendPlayerToNpc("啊……啊……冷靜,冷靜下來,精靈遊俠。著急也沒用,冷靜地把現在的情况整理一下。");
                break;
        case 5:
                qm.sendPlayerToNpc("黑魔法師的詛咒沒有消失,從長老們和其他百姓們還困在冰裏來看,這一點可以確認。");
                break;
        case 6:
                qm.sendPlayerToNpc("醒來的人好像只有我,雖然不知道是為什麼……想到醒來之前感覺到的那個氣息,也許是因為黑魔法師的封印變弱了?");
                break;
        case 7:
                qm.sendPlayerToNpc("雖然想到外面去看看枫之谷世界的情况,但是不行。因為……我現在等級只有10級,這到底是怎麼回事!我竟然只有10級!");
                break;
        case 8:
                qm.sendPlayerToNpc("黑魔法師的最後一個詛咒……那個詛咒的影響當然會很大,看來我是太低估了。而且也不知道過了多長時間,被困在冰裏這麼長時間,身體也便僵硬了。");
                break;
        case 9:
                qm.sendPlayerToNpc("受了傷,又受到詛咒,被困在冰裏這麼長時間,等級變低是當然的事情。當然的事情……怎麼會這樣!快讓我恢復成原來的等級!我精靈遊俠竟然只有10級!");
                break;
        case 10:
                qm.sendPlayerToNpc("……呼,呼……冷,冷靜,不是尖叫的時候!先確認一下身體狀態,真的只有10級了嗎? 該不會還有傷沒好吧?手脚還能動嗎?\r\n\r\n#fUI/UIWindow.img/QuestIcon/4/0# \r\n\r\n#fUI/UIWindow.img/QuestIcon/8/0# 400 exp");
                break;
        case 11:
                qm.forceCompleteQuest();
                qm.gainMeso(10000);
                qm.getPlayer().levelUp();//给予一个等级
                qm.dispose();
}
}

正常脚本任务

接收封包:[B8 00 04 2C 0C 73 DA 1E 00 50 FF 78 00]
接收封包包頭UEST_ACTION
調用位置handling.channel.handler.NPCHandler.QuestAction(NPCHandler.java:209)
調用位置scripting.NPCScriptManager.startQuest(NPCScriptManager.java:133)
調用位置tools.packet.EtcPacket$NPCPacket.getNPCTalk(EtcPacket.java:905)
伺服端發送 NPC_TALK [0209] (133)
09 02 04 73 DA 1E 00 00 00 78 00 CE B9 A3 AC C4 E3 CA C7 23 62 23 68 30 23 23 6B B0 C9 A3 BF BA C7 BA C7 BA C7 A3 AC CE D2 BD D0 23 62 D0 B0 C4 A6 CB B9 23 6B A3 AC C4 E3 D2 B2 BF B4 B5 BD C1 CB A3 AC CE D2 B2 BB CA C7 C8 CB EE 90 A3 AC B6 F8 CA C7 D9 AA C8 E5 B9 D6 A1 A3 8C A6 EC B6 CE D2 A3 AC C4 E3 AC 46 D4 DA D2 BB B6 A8 D3 D0 BA DC B6 E0 D2 C9 86 96 B0 C9 A3 BF BA C7 BA C7 BA C7 A1 A3 00 01

調用位置client.MapleCharacter.dropMessage(MapleCharacter.java:6383)
伺服端發送 SERVERMESSAGE [0058] (42)
58 00 05 25 00 88 CC D0 D0 C4 5F B1 BE C8 CE 84 D5 20 4E 50 43 A3 BA 32 30 32 32 30 30 33 20 51 75 65 73 74 3A 20 33 31 31 36



自己与自己对话

接收封包:[B8 00 04 E9 5D 00 00 00 00 2E 00 F9 FF]
接收封包包頭UEST_ACTION
調用位置handling.channel.handler.NPCHandler.QuestAction(NPCHandler.java:209)
調用位置scripting.NPCScriptManager.startQuest(NPCScriptManager.java:133)
調用位置tools.packet.EtcPacket$NPCPacket.getNPCTalk(EtcPacket.java:905)
伺服端發送 NPC_TALK [0209] (47)
09 02 04 00 00 00 00 00 03 22 00 C0 E4 BE B2 A3 A1 BA C3 B0 C9 A3 AC CE D2 C3 C7 C0 B4 BF B4 BF B4 B7 A2 C9 FA C1 CB CA B2 C3 B4 A1 A3 00 01

接收封包:[83 01]







我有查看過网上找到的TMS145,149,152的源碼,好像也沒有添加新職業接取頭頂燈泡任務的支持!

    private boolean checkNPCOnMap(MapleCharacter player, int npcid) {//添加新職業頭頂燈泡任務接取
        //mir = 1013000
        return ((GameConstants.isEvan(player.getJob())) && (npcid == 1013000)) || ((GameConstants.isDemon(player.getJob())) && (npcid == 0)) || ((GameConstants.isMercedes(player.getJob())) && (npcid == 0)) || (npcid == 2151009) || (npcid == 9010000) || ((npcid >= 2161000) && (npcid <= 2161011)) || (npcid == 9000040) || (npcid == 9000066) || (npcid == 0) || ((player.getMap() != null) && (player.getMap().containsNPC(npcid)));
    }

或者

    private boolean checkNPCOnMap(MapleCharacter player, int npcid) {//添加新職業頭頂燈泡任務接取
            return true;
    }


如果有處理過相關問題的朋友,希望能指點一下,告訴我應該怎麼樣修改,在那裡修改,再次謝謝了!請多指教!






瀏覽 2447 回復 0

您需要登錄後才可以回帖 登錄 | 註冊會員

返回頂部