求助!精靈遊俠頭頂燈泡腳本任務閃退,系統的燈泡任務接取與完成沒有問題,但是就是不支援自己與自己對話的腳本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;
}
如果有處理過相關問題的朋友,希望能指點一下,告訴我應該怎麼樣修改,在那裡修改,再次謝謝了!請多指教!
|