Ludibrium PQ + MapleIdRetriever
Implemented LPQ. New application tool that realizes fetches by names and returns respective ids, over all items depicted in the GM handbook.
This commit is contained in:
@@ -20,7 +20,7 @@
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/*
|
||||
@ Author : Raz
|
||||
@ Author : Raz, Ronan
|
||||
@
|
||||
@ NPC = Green Balloon
|
||||
@ Map = Hidden-Street <Stage 5>
|
||||
@@ -28,89 +28,65 @@
|
||||
@ Function = LPQ - 5th Stage
|
||||
@
|
||||
*/
|
||||
|
||||
importPackage(Packages.tools);
|
||||
|
||||
|
||||
var status = 0;
|
||||
var party;
|
||||
var preamble;
|
||||
var gaveItems;
|
||||
var curMap, stage;
|
||||
|
||||
function start() {
|
||||
curMap = cm.getMapId();
|
||||
stage = Math.floor((curMap - 922010100) / 100) + 1;
|
||||
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
|
||||
|
||||
if (mode == -1) {
|
||||
cm.dispose();//ExitChat
|
||||
}else if (mode == 0){
|
||||
cm.dispose();//No
|
||||
}else{ //Regular Talk
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
var eim = cm.getPlayer().getEventInstance();
|
||||
var nthtext = "5th";
|
||||
|
||||
|
||||
if (status == 0) {
|
||||
party = eim.getPlayers();
|
||||
preamble = eim.getProperty("leader" + nthtext + "preamble");
|
||||
gaveItems = eim.getProperty("leader" + nthtext + "gaveItems");
|
||||
if (preamble == null) {
|
||||
cm.sendNext("Hi. Welcome to the " + nthtext + " stage. This is the 2nd stage, but everyone has to cooperate. There are 6 portals here. One is guarded by undefeatable monsters, and one is very high. I'd like you and your party to go in each one and break the boxes inside. Bring back the drops -- there should be 24.");//not 24!
|
||||
eim.setProperty("leader" + nthtext + "preamble","done");
|
||||
cm.dispose();
|
||||
}else{
|
||||
if(!isLeader()){
|
||||
if(gaveItems == null){
|
||||
cm.sendOk("Please tell your #bParty-Leader#k to come talk to me.");
|
||||
cm.dispose();
|
||||
}else{
|
||||
cm.sendOk("Hurry, goto the next stage, the portal is open!");
|
||||
cm.dispose();
|
||||
}
|
||||
}else{
|
||||
if(gaveItems == null){
|
||||
if(cm.getPlayer().getMap().getCharacters().size() != eim.getPlayers().size()) {
|
||||
cm.sendOk("Please wait for all of your party members to get here.");
|
||||
cm.dispose();
|
||||
} else if(cm.itemQuantity(4001022) >= 24){
|
||||
cm.sendOk("Good job! you have collected all 24 #b#t4001022#'s#k");
|
||||
}else{
|
||||
cm.sendOk("Sorry you don't have all 24 #b#t4001022#'s#k");
|
||||
cm.dispose();
|
||||
}
|
||||
}else{
|
||||
cm.sendOk("Hurry, goto the next stage, the portal is open!");
|
||||
cm.dispose();
|
||||
}
|
||||
}}
|
||||
}else if (status == 1){
|
||||
cm.removeAll(4001022);
|
||||
|
||||
var map = eim.getMapInstance(cm.getPlayer().getMapId());
|
||||
map.broadcastMessage(MaplePacketCreator.showEffect("quest/party/clear"));
|
||||
map.broadcastMessage(MaplePacketCreator.playSound("Party1/Clear"));
|
||||
map.broadcastMessage(MaplePacketCreator.environmentChange("gate", 2));
|
||||
|
||||
cm.givePartyExp("LudiPQ5th");
|
||||
eim.setProperty("5stageclear","true");
|
||||
eim.setProperty("leader" + nthtext + "gaveItems","done");
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
function clearStage(stage, eim, curMap) {
|
||||
eim.setProperty(stage + "stageclear", "true");
|
||||
eim.showClearEffect(true);
|
||||
|
||||
eim.linkToNextStage(stage, "lpq", curMap); //opens the portal to the next map
|
||||
}
|
||||
|
||||
|
||||
function isLeader(){
|
||||
if(cm.getParty() == null){
|
||||
return false;
|
||||
}else{
|
||||
return cm.isLeader();
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else if (mode == 0){
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
var eim = cm.getPlayer().getEventInstance();
|
||||
|
||||
if(eim.getProperty(stage.toString() + "stageclear") != null) {
|
||||
cm.sendNext("Hurry, goto the next stage, the portal is open!");
|
||||
}
|
||||
else {
|
||||
if (eim.isLeader(cm.getPlayer())) {
|
||||
var state = eim.getIntProperty("statusStg" + stage);
|
||||
|
||||
if(state == -1) { // preamble
|
||||
cm.sendOk("Hi. Welcome to the #bstage " + stage + "#k. This is the 2nd stage, but everyone has to cooperate. There are 6 portals here. One is guarded by undefeatable monsters, and one is very high. I'd like you and your party to go in each one and break the boxes inside. Bring back the drops -- there should be 24.");
|
||||
eim.setProperty("statusStg" + stage, 0);
|
||||
}
|
||||
else { // check stage completion
|
||||
if (cm.haveItem(4001022, 24)) {
|
||||
cm.sendOk("Good job! you have collected all 24 #b#t4001022#'s.#k");
|
||||
cm.gainItem(4001022, -24);
|
||||
|
||||
eim.setProperty("statusStg" + stage, 1);
|
||||
clearStage(stage, eim, curMap);
|
||||
} else {
|
||||
cm.sendNext("Sorry you don't have all 24 #b#t4001022#'s.#k");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
cm.sendNext("Please tell your #bParty-Leader#k to come talk to me.");
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user