Login bypass + MapleQuestlineFetcher
Solved an exploit where anyone (via packet editing) could be able to login as any registered character after authenticating and selecting a character. New tool: MapleQuestlineFetcher. It reports ids from quests which quest script files were not found on the scripts folder.
This commit is contained in:
@@ -47,7 +47,7 @@ function action(mode, type, selection) {
|
||||
selStr += "\r\n#L" + i + "# " + info[i] + "#l";
|
||||
cm.sendSimple(selStr);
|
||||
}
|
||||
else if (!cm.getQuestStarted(4911)){
|
||||
else if (!cm.isQuestStarted(4911)){
|
||||
cm.sendNext("Good job! You've solved all of my questions about NLC. Enjoy of your trip!");
|
||||
cm.dispose();
|
||||
return;
|
||||
|
||||
47
scripts/quest/21749.js
Normal file
47
scripts/quest/21749.js
Normal file
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("So we have lost #btwo seal stones#k so far, from the neighboring areas of #rOrbis#k and #rMu Lung#k... Things are starting to get out of control, it seems.");
|
||||
} else if (status == 1) {
|
||||
qm.sendNext("Aran, your next objective will be to use the #btime gate to Ellin#k again. This time you will be retrieving the long lost #rSeal Stone of Ellin Forest#k. According to informations our network have gathered, #b#p2131002##k of that time have a clue about that gem, #rfind her#k. Please be successful on this task, our world is relying on you more than ever!");
|
||||
} else {
|
||||
qm.gainExp(500 * qm.getPlayer().getExpRate());
|
||||
qm.forceCompleteQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -36,8 +36,8 @@ function end(mode, type, selection) {
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("Aran, you're finally back!!! How you've been doing? Where did you go for so long? We have so much to catch up...");
|
||||
} else {
|
||||
qm.forceCompleteQuest();
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ function end(mode, type, selection) {
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("Oh, a letter for the #rempress#k? From the #bheroes#k?!");
|
||||
} else {
|
||||
qm.gainExp(1000 * qm.getPlayer().getExpRate());
|
||||
qm.gainItem(4032330, -1);
|
||||
qm.forceCompleteQuest();
|
||||
|
||||
Reference in New Issue
Block a user