Autoassigner patch
Fixed autoassigner handler not reading the client's packet properly when using USE_SERVER_AUTOASSIGNER = false. Updated questid for some drops on the DB. Added scripts for some quests on the Aran's Full Swing skill questline.
This commit is contained in:
1 parent
6a63f9d95e
commit
134c34fa58
15 files changed
+254
-68
No files matched your search
+16
-16
@@ -5,66 +5,66 @@
|
|||||||
|
|
||||||
/build/
|
/build/
|
||||||
/dist/
|
/dist/
|
||||||
/nbproject/private/
|
/nbproject/
|
||||||
|
|
||||||
/tools/MapleArrowFetcher/build/
|
/tools/MapleArrowFetcher/build/
|
||||||
/tools/MapleArrowFetcher/dist/
|
/tools/MapleArrowFetcher/dist/
|
||||||
/tools/MapleArrowFetcher/nbproject/private/
|
/tools/MapleArrowFetcher/nbproject/
|
||||||
|
|
||||||
/tools/MapleBossHpBarFetcher/nbproject/private/
|
/tools/MapleBossHpBarFetcher/nbproject/
|
||||||
/tools/MapleBossHpBarFetcher/build/
|
/tools/MapleBossHpBarFetcher/build/
|
||||||
/tools/MapleBossHpBarFetcher/dist/
|
/tools/MapleBossHpBarFetcher/dist/
|
||||||
|
|
||||||
/tools/MapleCashDropFetcher/nbproject/private/
|
/tools/MapleCashDropFetcher/nbproject/
|
||||||
/tools/MapleCashDropFetcher/build/
|
/tools/MapleCashDropFetcher/build/
|
||||||
/tools/MapleCashDropFetcher/dist/
|
/tools/MapleCashDropFetcher/dist/
|
||||||
|
|
||||||
/tools/MapleCouponInstaller/build/
|
/tools/MapleCouponInstaller/build/
|
||||||
/tools/MapleCouponInstaller/dist/
|
/tools/MapleCouponInstaller/dist/
|
||||||
/tools/MapleCouponInstaller/nbproject/private/
|
/tools/MapleCouponInstaller/nbproject/
|
||||||
|
|
||||||
/tools/MapleIdRetriever/build/
|
/tools/MapleIdRetriever/build/
|
||||||
/tools/MapleIdRetriever/dist/
|
/tools/MapleIdRetriever/dist/
|
||||||
/tools/MapleIdRetriever/nbproject/private/
|
/tools/MapleIdRetriever/nbproject/
|
||||||
|
|
||||||
/tools/MapleInvalidItemIdFetcher/build/
|
/tools/MapleInvalidItemIdFetcher/build/
|
||||||
/tools/MapleInvalidItemIdFetcher/dist/
|
/tools/MapleInvalidItemIdFetcher/dist/
|
||||||
/tools/MapleInvalidItemIdFetcher/nbproject/private/
|
/tools/MapleInvalidItemIdFetcher/nbproject/
|
||||||
|
|
||||||
/tools/MapleMapInfoRetriever/build/
|
/tools/MapleMapInfoRetriever/build/
|
||||||
/tools/MapleMapInfoRetriever/dist/
|
/tools/MapleMapInfoRetriever/dist/
|
||||||
/tools/MapleMapInfoRetriever/nbproject/private/
|
/tools/MapleMapInfoRetriever/nbproject/
|
||||||
|
|
||||||
/tools/MapleMesoFetcher/build/
|
/tools/MapleMesoFetcher/build/
|
||||||
/tools/MapleMesoFetcher/dist/
|
/tools/MapleMesoFetcher/dist/
|
||||||
/tools/MapleMesoFetcher/nbproject/private/
|
/tools/MapleMesoFetcher/nbproject/
|
||||||
|
|
||||||
/tools/MapleMobBookIndexer/build/
|
/tools/MapleMobBookIndexer/build/
|
||||||
/tools/MapleMobBookIndexer/dist/
|
/tools/MapleMobBookIndexer/dist/
|
||||||
/tools/MapleMobBookIndexer/nbproject/private/
|
/tools/MapleMobBookIndexer/nbproject/
|
||||||
|
|
||||||
/tools/MapleMobBookUpdate/build/
|
/tools/MapleMobBookUpdate/build/
|
||||||
/tools/MapleMobBookUpdate/dist/
|
/tools/MapleMobBookUpdate/dist/
|
||||||
/tools/MapleMobBookUpdate/nbproject/private/
|
/tools/MapleMobBookUpdate/nbproject/
|
||||||
|
|
||||||
/tools/MapleQuestItemCountFetcher/nbproject/private/
|
/tools/MapleQuestItemCountFetcher/nbproject/
|
||||||
/tools/MapleQuestItemCountFetcher/build/
|
/tools/MapleQuestItemCountFetcher/build/
|
||||||
/tools/MapleQuestItemCountFetcher/dist/
|
/tools/MapleQuestItemCountFetcher/dist/
|
||||||
|
|
||||||
/tools/MapleQuestItemFetcher/build/
|
/tools/MapleQuestItemFetcher/build/
|
||||||
/tools/MapleQuestItemFetcher/dist/
|
/tools/MapleQuestItemFetcher/dist/
|
||||||
/tools/MapleQuestItemFetcher/nbproject/private/
|
/tools/MapleQuestItemFetcher/nbproject/
|
||||||
|
|
||||||
/tools/MapleQuestMesoFetcher/build/
|
/tools/MapleQuestMesoFetcher/build/
|
||||||
/tools/MapleQuestMesoFetcher/dist/
|
/tools/MapleQuestMesoFetcher/dist/
|
||||||
/tools/MapleQuestMesoFetcher/nbproject/private/
|
/tools/MapleQuestMesoFetcher/nbproject/
|
||||||
|
|
||||||
/tools/MapleSkillMakerFetcher/build/
|
/tools/MapleSkillMakerFetcher/build/
|
||||||
/tools/MapleSkillMakerFetcher/dist/
|
/tools/MapleSkillMakerFetcher/dist/
|
||||||
/tools/MapleSkillMakerFetcher/nbproject/private/
|
/tools/MapleSkillMakerFetcher/nbproject/
|
||||||
|
|
||||||
/tools/MapleSkillMakerReagentIndexer/build/
|
/tools/MapleSkillMakerReagentIndexer/build/
|
||||||
/tools/MapleSkillMakerReagentIndexer/dist/
|
/tools/MapleSkillMakerReagentIndexer/dist/
|
||||||
/tools/MapleSkillMakerReagentIndexer/nbproject/private/
|
/tools/MapleSkillMakerReagentIndexer/nbproject/
|
||||||
|
|
||||||
/out
|
/out
|
||||||
@@ -863,7 +863,9 @@ Implementado questline do Dyle.
|
|||||||
Corrigido possível exploit com sistema de quests, onde jogador podia começar e completar quaisquer quests livremente.
|
Corrigido possível exploit com sistema de quests, onde jogador podia começar e completar quaisquer quests livremente.
|
||||||
Nova ferramenta: MapleCashDropFetcher. Aplicação busca por drop data de cash na DB e reporta.
|
Nova ferramenta: MapleCashDropFetcher. Aplicação busca por drop data de cash na DB e reporta.
|
||||||
|
|
||||||
13 Merço 2018,
|
13 - 14 Março 2018,
|
||||||
Adicionado feature de anúncio de mudança de classe.
|
Adicionado feature de anúncio de mudança de classe.
|
||||||
Adicionado drops faltando da questline Puppeteer de Aran.
|
Adicionado drops faltando da questline Puppeteer de Aran.
|
||||||
Movimentação de GM rank para alguns comandos.
|
Movimentação de GM rank para alguns comandos.
|
||||||
|
Corrigido autoassigner inesperadamente desconectando jogadores, quando o autoassigner do cliente está sendo utilizado.
|
||||||
|
Adicionado scripts para a questline de Full Swing de Aran.
|
||||||
@@ -8,6 +8,9 @@
|
|||||||
|
|
||||||
var status;
|
var status;
|
||||||
|
|
||||||
|
var common_heading = "@";
|
||||||
|
var staff_heading = "!";
|
||||||
|
|
||||||
var comm_lv6 = [];
|
var comm_lv6 = [];
|
||||||
var desc_lv6 = [];
|
var desc_lv6 = [];
|
||||||
|
|
||||||
@@ -220,9 +223,9 @@ function writeSolaxiaCommandsLv0() { //Common
|
|||||||
addCommand("leaveevent", "");
|
addCommand("leaveevent", "");
|
||||||
addCommand("ranks", "");
|
addCommand("ranks", "");
|
||||||
addCommand("str", "");
|
addCommand("str", "");
|
||||||
|
addCommand("dex", "");
|
||||||
addCommand("int", "");
|
addCommand("int", "");
|
||||||
addCommand("luk", "");
|
addCommand("luk", "");
|
||||||
addCommand("dex", "");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function writeSolaxiaCommands() {
|
function writeSolaxiaCommands() {
|
||||||
@@ -262,7 +265,7 @@ function action(mode, type, selection) {
|
|||||||
|
|
||||||
cm.sendSimple(sendStr);
|
cm.sendSimple(sendStr);
|
||||||
} else if(status == 1) {
|
} else if(status == 1) {
|
||||||
var lvComm, lvDesc;
|
var lvComm, lvDesc, lvHead = (cm.getPlayer().gmLevel() < 2) ? common_heading : staff_heading;
|
||||||
|
|
||||||
if(selection == 0) {
|
if(selection == 0) {
|
||||||
lvComm = comm_lv0;
|
lvComm = comm_lv0;
|
||||||
@@ -289,7 +292,7 @@ function action(mode, type, selection) {
|
|||||||
|
|
||||||
var sendStr = "The following commands are available for #b" + levels[selection] + "#k:\r\n\r\n";
|
var sendStr = "The following commands are available for #b" + levels[selection] + "#k:\r\n\r\n";
|
||||||
for(var i = 0; i < lvComm.length; i++) {
|
for(var i = 0; i < lvComm.length; i++) {
|
||||||
sendStr += " #L" + i + "# " + lvComm[i] + " - " + lvDesc[i];
|
sendStr += " #L" + i + "# " + lvHead + lvComm[i] + " - " + lvDesc[i];
|
||||||
sendStr += "#l\r\n";
|
sendStr += "#l\r\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
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 end(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("Aran, you're finally back!!! How you've been doing? Where did you go for so long? We have so much to catch up...");
|
||||||
|
qm.forceCompleteQuest();
|
||||||
|
|
||||||
|
qm.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
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("Aran, I've discovered some disturbing news... You said you've come from the eastern forest section, right? We traced and studied the magic being used to support the portal over there. It turns out that's of a #rtemporal#k-type. The garments you're using... They were never seen around before. That must mean, #ryou must have come from the future#k.");
|
||||||
|
} else if (status == 1) {
|
||||||
|
qm.sendNext("Now about the problem: the Seal Stone that seems to have been missing in your timeline... It is a powerful artifact, that prevents the army of the #rBlack Mage#k from laying siege on our world. If that stone goes away, nothing more can prevent him. As this is a matter of great importance, find the #rself of mine#k from the future. I'm actually a #rfairy#k with a great life expectancy, I must be alive even on your timeline. Got it, #rfetch the me from the future#k!");
|
||||||
|
qm.forceStartQuest();
|
||||||
|
|
||||||
|
qm.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
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) {
|
||||||
|
if(!qm.canHold(4032328, 1)) {
|
||||||
|
qm.sendNext("Hm, I will need you to prepare a ETC slot for a letter I need to give you.");
|
||||||
|
qm.dispose();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
qm.sendNext("Here, take this. Send it to #r#p1002104##k, it contains a relevant matter for protecting this world. Please comply to this request.");
|
||||||
|
} else if (status == 1) {
|
||||||
|
qm.forceStartQuest();
|
||||||
|
|
||||||
|
qm.gainItem(4032328, 1);
|
||||||
|
qm.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
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 end(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("Oh, a letter for the #rempress#k? From the #bheroes#k?!");
|
||||||
|
qm.gainExp(1000 * qm.getPlayer().getExpRate());
|
||||||
|
qm.gainItem(4032330, -1);
|
||||||
|
qm.forceCompleteQuest();
|
||||||
|
|
||||||
|
qm.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,11 +8,12 @@ function start(mode, type, selection) {
|
|||||||
qm.sendNext("He used to scowl and whine about his arthritis until just recently, but he''s suddenly become all happy and smiley!!");
|
qm.sendNext("He used to scowl and whine about his arthritis until just recently, but he''s suddenly become all happy and smiley!!");
|
||||||
} else if (status == 2) {
|
} else if (status == 2) {
|
||||||
qm.sendNext("I have a feeling there is a secret behind that wooden box. Could you stealthily look into the wooden box next to #p20000#?");
|
qm.sendNext("I have a feeling there is a secret behind that wooden box. Could you stealthily look into the wooden box next to #p20000#?");
|
||||||
|
} else if (status == 3) {
|
||||||
|
qm.sendNext("You know where #p20000# is, right? Hes to the right. Just keep going until you see where Vikin is, then head down past the hanging shark and octopus, and you''ll see John. The box should be right next to him.");
|
||||||
} else {
|
} else {
|
||||||
qm.sendNext("You know where #p20000# is, right? He''s to the right. Just keep going until you see where Vikin is, then head down past the hanging shark and octopus, and you''ll see John. The box should be right next to him.");
|
qm.forceStartQuest();
|
||||||
qm.forceStartQuest();
|
|
||||||
qm.dispose();
|
qm.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function end(mode, type, selection) {
|
function end(mode, type, selection) {
|
||||||
|
|||||||
@@ -3,14 +3,17 @@ var status = -1;
|
|||||||
function start(mode, type, selection) {
|
function start(mode, type, selection) {
|
||||||
status++;
|
status++;
|
||||||
if (status == 0) {
|
if (status == 0) {
|
||||||
|
if(qm.haveItem(4032423, 1)) {
|
||||||
|
qm.forceStartQuest();
|
||||||
|
qm.dispose();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
qm.sendNext("#bHm, there's a medicinal substance in the box. What could this be? You better take this to John and ask him what it is.#k");
|
qm.sendNext("#bHm, there's a medicinal substance in the box. What could this be? You better take this to John and ask him what it is.#k");
|
||||||
} else {
|
} else {
|
||||||
qm.gainItem(4032423,1);
|
qm.gainItem(4032423,1);
|
||||||
qm.forceCompleteQuest();
|
|
||||||
|
qm.forceStartQuest();
|
||||||
qm.dispose();
|
qm.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function end(mode, type, selection) {
|
|
||||||
qm.dispose();
|
|
||||||
}
|
|
||||||
+6
-6
@@ -11429,11 +11429,11 @@ INSERT IGNORE INTO `temp_data` (`id`, `dropperid`, `itemid`, `minimum_quantity`,
|
|||||||
(11210, 9001002, 4031059, 1, 1, 0, 999999),
|
(11210, 9001002, 4031059, 1, 1, 0, 999999),
|
||||||
(11211, 9001003, 4031059, 1, 1, 0, 999999),
|
(11211, 9001003, 4031059, 1, 1, 0, 999999),
|
||||||
(11212, 9001004, 4031059, 1, 1, 0, 999999),
|
(11212, 9001004, 4031059, 1, 1, 0, 999999),
|
||||||
(11213, 9001005, 4031857, 1, 1, 0, 300000),
|
(11213, 9001005, 4031857, 1, 1, 2192, 300000),
|
||||||
(11214, 9001012, 4032311, 1, 1, 0, 300000),
|
(11214, 9001012, 4032311, 1, 1, 0, 300000),
|
||||||
(11215, 9001012, 4032311, 1, 1, 0, 300000),
|
(11215, 9001012, 4032311, 1, 1, 0, 300000),
|
||||||
(11216, 9001013, 4032312, 1, 1, 0, 999999),
|
(11216, 9001013, 4032312, 1, 1, 0, 999999),
|
||||||
(11217, 9001013, 4032339, 1, 1, 0, 999999),
|
(11217, 9001013, 4032339, 1, 1, 21303, 999999),
|
||||||
(11219, 4230113, 1452016, 1, 1, 0, 700),
|
(11219, 4230113, 1452016, 1, 1, 0, 700),
|
||||||
(11220, 4230103, 1452016, 1, 1, 0, 700),
|
(11220, 4230103, 1452016, 1, 1, 0, 700),
|
||||||
(11221, 2230102, 1452016, 1, 1, 0, 700),
|
(11221, 2230102, 1452016, 1, 1, 0, 700),
|
||||||
@@ -11628,7 +11628,7 @@ INSERT IGNORE INTO `temp_data` (`id`, `dropperid`, `itemid`, `minimum_quantity`,
|
|||||||
(11628, 6220000, 1472055, 1, 1, 0, 1250),
|
(11628, 6220000, 1472055, 1, 1, 0, 1250),
|
||||||
(11627, 5120500, 1472055, 1, 1, 0, 750),
|
(11627, 5120500, 1472055, 1, 1, 0, 750),
|
||||||
(11626, 5120000, 1472055, 1, 1, 0, 750),
|
(11626, 5120000, 1472055, 1, 1, 0, 750),
|
||||||
(11625, 9001006, 4031856, 1, 1, 0, 400000),
|
(11625, 9001006, 4031856, 1, 1, 2191, 400000),
|
||||||
(11624, 8190003, 4031461, 1, 1, 6169, 1000),
|
(11624, 8190003, 4031461, 1, 1, 6169, 1000),
|
||||||
(11623, 9400218, 4001106, 25, 50, 0, 999999),
|
(11623, 9400218, 4001106, 25, 50, 0, 999999),
|
||||||
(11622, 9400217, 4001106, 1, 3, 0, 999999),
|
(11622, 9400217, 4001106, 1, 3, 0, 999999),
|
||||||
@@ -16584,8 +16584,8 @@ INSERT INTO `reactordrops` (`reactordropid`, `reactorid`, `itemid`, `chance`, `q
|
|||||||
(37, 2212002, 2000002, 3, -1),
|
(37, 2212002, 2000002, 3, -1),
|
||||||
(38, 2212001, 4031141, 2, -1),
|
(38, 2212001, 4031141, 2, -1),
|
||||||
(39, 2212002, 4031143, 2, -1),
|
(39, 2212002, 4031143, 2, -1),
|
||||||
(40, 2212003, 4031107, 2, -1),
|
(40, 2212003, 4031107, 2, 3409),
|
||||||
(41, 2212004, 4031116, 2, -1),
|
(41, 2212004, 4031116, 2, 3419),
|
||||||
(42, 2212004, 2000001, 2, -1),
|
(42, 2212004, 2000001, 2, -1),
|
||||||
(43, 2212005, 4031136, 8, 3439),
|
(43, 2212005, 4031136, 8, 3439),
|
||||||
(44, 2222000, 4031231, 2, 3620),
|
(44, 2222000, 4031231, 2, 3620),
|
||||||
@@ -16669,7 +16669,7 @@ INSERT INTO `reactordrops` (`reactordropid`, `reactorid`, `itemid`, `chance`, `q
|
|||||||
(122, 2201001, 4001022, 1, -1),
|
(122, 2201001, 4001022, 1, -1),
|
||||||
(123, 1402000, 4032309, 1, 21013),
|
(123, 1402000, 4032309, 1, 21013),
|
||||||
(124, 1402000, 4032310, 1, 21013),
|
(124, 1402000, 4032310, 1, 21013),
|
||||||
(125, 1022001, 4032319, 7, -1),
|
(125, 1022001, 4032319, 7, 21723),
|
||||||
(126, 1022002, 4001340, 1, 28167),
|
(126, 1022002, 4001340, 1, 28167),
|
||||||
(127, 1202000, 4001366, 1, 28194),
|
(127, 1202000, 4001366, 1, 28194),
|
||||||
(128, 1202003, 4001346, 3, 28225),
|
(128, 1202003, 4001346, 3, 28225),
|
||||||
|
|||||||
+13
-10
@@ -2850,9 +2850,9 @@ USE `heavenms`;
|
|||||||
(3110100, 4000032, 1, 1, 0, 200000),
|
(3110100, 4000032, 1, 1, 0, 200000),
|
||||||
(9300234, 4000032, 1, 1, 0, 200000),
|
(9300234, 4000032, 1, 1, 0, 200000),
|
||||||
(9500108, 4000032, 1, 1, 0, 200000),
|
(9500108, 4000032, 1, 1, 0, 200000),
|
||||||
(3110100, 4031164, 1, 1, 0, 7000),
|
(3110100, 4031164, 1, 1, 2084, 7000),
|
||||||
(9300234, 4031164, 1, 1, 0, 7000),
|
(9300234, 4031164, 1, 1, 2084, 7000),
|
||||||
(9500108, 4031164, 1, 1, 0, 7000),
|
(9500108, 4031164, 1, 1, 2084, 7000),
|
||||||
(3110100, 4031405, 1, 1, 0, 7000),
|
(3110100, 4031405, 1, 1, 0, 7000),
|
||||||
(9300234, 4031405, 1, 1, 0, 7000),
|
(9300234, 4031405, 1, 1, 0, 7000),
|
||||||
(9500108, 4031405, 1, 1, 0, 7000),
|
(9500108, 4031405, 1, 1, 0, 7000),
|
||||||
@@ -9148,8 +9148,8 @@ USE `heavenms`;
|
|||||||
(9420530, 1002212, 1, 1, 0, 700),
|
(9420530, 1002212, 1, 1, 0, 700),
|
||||||
(9420530, 1472013, 1, 1, 0, 700),
|
(9420530, 1472013, 1, 1, 0, 700),
|
||||||
(9420530, 1051006, 1, 1, 0, 700),
|
(9420530, 1051006, 1, 1, 0, 700),
|
||||||
(5130107, 4031218, 1, 1, 0, 7000),
|
(5130107, 4031218, 1, 1, 3071, 7000),
|
||||||
(9400504, 4031218, 1, 1, 0, 7000),
|
(9400504, 4031218, 1, 1, 3071, 7000),
|
||||||
(5130107, 2000002, 1, 1, 0, 40000),
|
(5130107, 2000002, 1, 1, 0, 40000),
|
||||||
(9400504, 2000002, 1, 1, 0, 40000),
|
(9400504, 2000002, 1, 1, 0, 40000),
|
||||||
(5130107, 2000003, 1, 1, 0, 40000),
|
(5130107, 2000003, 1, 1, 0, 40000),
|
||||||
@@ -9202,7 +9202,7 @@ USE `heavenms`;
|
|||||||
(9400504, 1060083, 1, 1, 0, 700),
|
(9400504, 1060083, 1, 1, 0, 700),
|
||||||
(5130107, 1482008, 1, 1, 0, 700),
|
(5130107, 1482008, 1, 1, 0, 700),
|
||||||
(9400504, 1482008, 1, 1, 0, 700),
|
(9400504, 1482008, 1, 1, 0, 700),
|
||||||
(5130108, 4031218, 1, 1, 0, 7000),
|
(5130108, 4031218, 1, 1, 3071, 7000),
|
||||||
(5130108, 2000002, 1, 1, 0, 40000),
|
(5130108, 2000002, 1, 1, 0, 40000),
|
||||||
(5130108, 2000003, 1, 1, 0, 40000),
|
(5130108, 2000003, 1, 1, 0, 40000),
|
||||||
(5130108, 2000004, 1, 1, 0, 40000),
|
(5130108, 2000004, 1, 1, 0, 40000),
|
||||||
@@ -11082,8 +11082,8 @@ USE `heavenms`;
|
|||||||
(9420534, 1061102, 1, 1, 0, 700),
|
(9420534, 1061102, 1, 1, 0, 700),
|
||||||
(6230300, 4000129, 1, 1, 0, 200000),
|
(6230300, 4000129, 1, 1, 0, 200000),
|
||||||
(9300317, 4000129, 1, 1, 0, 200000),
|
(9300317, 4000129, 1, 1, 0, 200000),
|
||||||
(6230300, 4031189, 1, 1, 0, 7000),
|
(6230300, 4031189, 1, 1, 3448, 7000),
|
||||||
(9300317, 4031189, 1, 1, 0, 7000),
|
(9300317, 4031189, 1, 1, 3448, 7000),
|
||||||
(6230300, 2000002, 1, 1, 0, 40000),
|
(6230300, 2000002, 1, 1, 0, 40000),
|
||||||
(9300317, 2000002, 1, 4, 0, 40000),
|
(9300317, 2000002, 1, 4, 0, 40000),
|
||||||
(6230300, 2043701, 1, 1, 0, 750),
|
(6230300, 2043701, 1, 1, 0, 750),
|
||||||
@@ -19239,7 +19239,7 @@ USE `heavenms`;
|
|||||||
(9400578, 1032013, 1, 1, 0, 1200),
|
(9400578, 1032013, 1, 1, 0, 1200),
|
||||||
(9400578, 1372009, 1, 1, 0, 1200),
|
(9400578, 1372009, 1, 1, 0, 1200),
|
||||||
(9400578, 1372009, 1, 1, 0, 1200),
|
(9400578, 1372009, 1, 1, 0, 1200),
|
||||||
(9300011, 4031130, 1, 1, 0, 10000),
|
(9300011, 4031130, 1, 1, 3238, 10000),
|
||||||
(7160000, 2385015, 1, 1, 0, 10000),
|
(7160000, 2385015, 1, 1, 0, 10000),
|
||||||
(3230306, 2022355, 1, 1, 3248, 100000),
|
(3230306, 2022355, 1, 1, 3248, 100000),
|
||||||
(4230113, 2022354, 1, 1, 3248, 100000),
|
(4230113, 2022354, 1, 1, 3248, 100000),
|
||||||
@@ -20185,7 +20185,10 @@ USE `heavenms`;
|
|||||||
(1110130, 4032317, 1, 1, 21717, 40000),
|
(1110130, 4032317, 1, 1, 21717, 40000),
|
||||||
(1110130, 4032318, 1, 1, 21718, 40000),
|
(1110130, 4032318, 1, 1, 21718, 40000),
|
||||||
(1140130, 4032319, 1, 1, 21723, 100000),
|
(1140130, 4032319, 1, 1, 21723, 100000),
|
||||||
(2230131, 4032321, 1, 1, 21727, 20000);
|
(2230131, 4032321, 1, 1, 21727, 20000),
|
||||||
|
(5250002, 4032326, 1, 1, 21752, 100000),
|
||||||
|
(2110301, 4032401, 1, 1, 2261, 100000),
|
||||||
|
(2110300, 4032402, 1, 1, 2263, 100000);
|
||||||
|
|
||||||
# (dropperid, itemid, minqty, maxqty, questid, chance)
|
# (dropperid, itemid, minqty, maxqty, questid, chance)
|
||||||
|
|
||||||
|
|||||||
@@ -594,9 +594,9 @@ public class Commands {
|
|||||||
|
|
||||||
// stat autoassigning command credited to HeliosMS dev team
|
// stat autoassigning command credited to HeliosMS dev team
|
||||||
case "str":
|
case "str":
|
||||||
|
case "dex":
|
||||||
case "int":
|
case "int":
|
||||||
case "luk":
|
case "luk":
|
||||||
case "dex":
|
|
||||||
int amount = (sub.length > 1) ? Integer.parseInt(sub[1]) : player.getRemainingAp();
|
int amount = (sub.length > 1) ? Integer.parseInt(sub[1]) : player.getRemainingAp();
|
||||||
boolean str = sub[0].equalsIgnoreCase("str");
|
boolean str = sub[0].equalsIgnoreCase("str");
|
||||||
boolean Int = sub[0].equalsIgnoreCase("int");
|
boolean Int = sub[0].equalsIgnoreCase("int");
|
||||||
@@ -764,7 +764,7 @@ public class Commands {
|
|||||||
|
|
||||||
case "goto":
|
case "goto":
|
||||||
if (sub.length < 2){
|
if (sub.length < 2){
|
||||||
player.yellowMessage("Syntax: !goto <map name>");
|
player.yellowMessage("Syntax: @goto <map name>");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ public class ServerConstants {
|
|||||||
public static final boolean USE_PARTY_FOR_STARTERS = true; //Players level 10 or below can create/invite other players on the given level range.
|
public static final boolean USE_PARTY_FOR_STARTERS = true; //Players level 10 or below can create/invite other players on the given level range.
|
||||||
public static final boolean USE_AUTOBAN = false; //Commands the server to detect infractors automatically.
|
public static final boolean USE_AUTOBAN = false; //Commands the server to detect infractors automatically.
|
||||||
public static final boolean USE_AUTOSAVE = true; //Enables server autosaving feature (saves characters to DB each 1 hour).
|
public static final boolean USE_AUTOSAVE = true; //Enables server autosaving feature (saves characters to DB each 1 hour).
|
||||||
public static final boolean USE_SERVER_AUTOASSIGNER = true; //Server-builtin autoassigner, uses algorithm based on distributing AP accordingly with required secondary stat on equipments.
|
public static final boolean USE_SERVER_AUTOASSIGNER = true; //HeavenMS-builtin autoassigner, uses algorithm based on distributing AP accordingly with required secondary stat on equipments.
|
||||||
public static final boolean USE_REFRESH_RANK_MOVE = true;
|
public static final boolean USE_REFRESH_RANK_MOVE = true;
|
||||||
public static final boolean USE_ENFORCE_HPMP_SWAP = false; //Forces players to reuse stats (via AP Resetting) located on HP/MP pool only inside the HP/MP stats.
|
public static final boolean USE_ENFORCE_HPMP_SWAP = false; //Forces players to reuse stats (via AP Resetting) located on HP/MP pool only inside the HP/MP stats.
|
||||||
public static final boolean USE_ENFORCE_MOB_LEVEL_RANGE = true; //Players N levels below the killed mob will gain no experience from defeating it.
|
public static final boolean USE_ENFORCE_MOB_LEVEL_RANGE = true; //Players N levels below the killed mob will gain no experience from defeating it.
|
||||||
|
|||||||
@@ -52,19 +52,18 @@ public class AutoAssignHandler extends AbstractMaplePacketHandler {
|
|||||||
@Override
|
@Override
|
||||||
public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
|
public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
|
||||||
MapleCharacter chr = c.getPlayer();
|
MapleCharacter chr = c.getPlayer();
|
||||||
|
if (chr.getRemainingAp() < 1) return;
|
||||||
|
|
||||||
int[] statGain = new int[4];
|
int[] statGain = new int[4];
|
||||||
int[] statEqpd = new int[4];
|
int[] statEqpd = new int[4];
|
||||||
|
|
||||||
statGain[0] = 0; statGain[1] = 0; statGain[2] = 0; statGain[3] = 0;
|
statGain[0] = 0; statGain[1] = 0; statGain[2] = 0; statGain[3] = 0;
|
||||||
|
|
||||||
slea.skip(8);
|
slea.skip(8);
|
||||||
byte opt = slea.readByte(); // useful for pirate autoassigning
|
|
||||||
|
|
||||||
if (chr.getRemainingAp() < 1) return;
|
|
||||||
|
|
||||||
if(ServerConstants.USE_SERVER_AUTOASSIGNER) {
|
if(ServerConstants.USE_SERVER_AUTOASSIGNER) {
|
||||||
// --------- Ronan Lana's AUTOASSIGNER ---------
|
// --------- Ronan Lana's AUTOASSIGNER ---------
|
||||||
// This method excels for assigning APs in such a way to cover all equipments AP requirements.
|
// This method excels for assigning APs in such a way to cover all equipments AP requirements.
|
||||||
|
byte opt = slea.readByte(); // useful for pirate autoassigning
|
||||||
|
|
||||||
int str = 0, dex = 0, luk = 0, int_ = 0;
|
int str = 0, dex = 0, luk = 0, int_ = 0;
|
||||||
List<Short> eqpStrList = new ArrayList<>();
|
List<Short> eqpStrList = new ArrayList<>();
|
||||||
@@ -324,10 +323,7 @@ public class AutoAssignHandler extends AbstractMaplePacketHandler {
|
|||||||
//----------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
c.announce(MaplePacketCreator.serverNotice(1, "Better AP applications detected:\r\nSTR: +" + statGain[0] + "\r\nDEX: +" + statGain[1] + "\r\nINT: +" + statGain[3] + "\r\nLUK: +" + statGain[2]));
|
c.announce(MaplePacketCreator.serverNotice(1, "Better AP applications detected:\r\nSTR: +" + statGain[0] + "\r\nDEX: +" + statGain[1] + "\r\nINT: +" + statGain[3] + "\r\nLUK: +" + statGain[2]));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
int total = 0;
|
|
||||||
int extras = 0;
|
|
||||||
if(slea.available() < 16) {
|
if(slea.available() < 16) {
|
||||||
AutobanFactory.PACKET_EDIT.alert(chr, "Didn't send full packet for Auto Assign.");
|
AutobanFactory.PACKET_EDIT.alert(chr, "Didn't send full packet for Auto Assign.");
|
||||||
c.disconnect(false, false);
|
c.disconnect(false, false);
|
||||||
@@ -345,6 +341,8 @@ public class AutoAssignHandler extends AbstractMaplePacketHandler {
|
|||||||
statEqpd[3] += nEquip.getInt();
|
statEqpd[3] += nEquip.getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int total = 0;
|
||||||
|
int extras = 0;
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
int type = slea.readInt();
|
int type = slea.readInt();
|
||||||
int tempVal = slea.readInt();
|
int tempVal = slea.readInt();
|
||||||
|
|||||||
@@ -22876,12 +22876,6 @@
|
|||||||
<int name="npc" value="2131000"/>
|
<int name="npc" value="2131000"/>
|
||||||
<int name="lvmin" value="63"/>
|
<int name="lvmin" value="63"/>
|
||||||
<string name="startscript" value="q21753s"/>
|
<string name="startscript" value="q21753s"/>
|
||||||
<int name="infoNumber" value="21764"/>
|
|
||||||
<imgdir name="infoex">
|
|
||||||
<imgdir name="0">
|
|
||||||
<string name="value" value="1"/>
|
|
||||||
</imgdir>
|
|
||||||
</imgdir>
|
|
||||||
<imgdir name="quest">
|
<imgdir name="quest">
|
||||||
<imgdir name="0">
|
<imgdir name="0">
|
||||||
<int name="id" value="21751"/>
|
<int name="id" value="21751"/>
|
||||||
@@ -22903,12 +22897,6 @@
|
|||||||
<int name="npc" value="1012100"/>
|
<int name="npc" value="1012100"/>
|
||||||
<int name="lvmin" value="63"/>
|
<int name="lvmin" value="63"/>
|
||||||
<string name="startscript" value="q21754s"/>
|
<string name="startscript" value="q21754s"/>
|
||||||
<int name="infoNumber" value="21765"/>
|
|
||||||
<imgdir name="infoex">
|
|
||||||
<imgdir name="0">
|
|
||||||
<string name="value" value="2"/>
|
|
||||||
</imgdir>
|
|
||||||
</imgdir>
|
|
||||||
<imgdir name="quest">
|
<imgdir name="quest">
|
||||||
<imgdir name="0">
|
<imgdir name="0">
|
||||||
<int name="id" value="21753"/>
|
<int name="id" value="21753"/>
|
||||||
|
|||||||
Reference in new issue
Block a user