Experimental AutoJCE & Reactor's incorrect parameter

[EXPERIMENTAL] Added the AutoJCE feature to the server source. This is expected to solve the encryption size issue without resorting to overwrite the JCE files on the system.
LMPQ now sends players to random starting rooms, GMS-like.
Added a server flag for the free market item sold announcement.
Tweaked the reactor-hitting system, expecting to solve the incorrect parameter issue on the "multiple players hitting" scenario.
This commit is contained in:
ronancpl
2018-04-19 22:03:12 -03:00
parent 134c34fa58
commit a1fcf21ac9
19 changed files with 241 additions and 72 deletions

View File

@@ -102,7 +102,9 @@ function afterSetup(eim) {}
function respawnStages(eim) {}
function playerEntry(eim, player) {
var map = eim.getMapInstance(entryMap);
var rand = Math.floor(Math.random() * 15);
var map = eim.getMapInstance(entryMap + rand);
player.changeMap(map, map.getPortal(0));
}

81
scripts/quest/21735.js Normal file
View File

@@ -0,0 +1,81 @@
/*
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, ever since the Puppeteer's ambush on me, I've been thinking it is dangerous to have the #b#t4032323##k around here by myself. So, I need you to deliver the gem to #r#p1201000##k, in Rien, she will know what to do with it.");
} else if (status == 1) {
if(!qm.canHold(4032323, 1)) {
qm.sendNext("Please free a slot on your ETC inventory before receiving the item.");
qm.dispose();
return;
}
if(!qm.haveItem(4032323, 1)) qm.gainItem(4032323, 1);
qm.forceStartQuest();
qm.dispose();
}
}
}
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) {
if(qm.haveItem(4032323, 1)) {
qm.sendNext("#r#p1002104##k sent the #b#t4032323##k here for safety? Thank goodness, indeed here the gem will be safer than anywhere on Victoria Island. Thank you, #b#h0##k.");
} else {
qm.dispose();
}
} else if (status == 1) {
qm.gainItem(4032323, -1);
qm.gainExp(6037 * qm.getPlayer().getExpRate());
qm.forceCompleteQuest();
qm.dispose();
}
}
}

View File

@@ -9,7 +9,7 @@ function start(mode, type, selection) {
} 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#?");
} 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.");
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.");
} else {
qm.forceStartQuest();
qm.dispose();

View File

@@ -58,7 +58,7 @@ function end(mode, type, selection) {
} else {
qm.sendNext("You seem pretty normal, don't you? I can't detect any possible effect from my experiment on you. Go take the pill I asked you to take and show me the effects, will you?");
}
} else {
qm.dispose();
}
}