Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[HELP] MoopleDEV 3rd job

Newbie Spellweaver
Joined
Oct 18, 2017
Messages
56
Reaction score
1
MoopleDEV nothing do npc Rene and Athena in henesys.

I Level 70, hunter

yGOLsfz - [HELP] MoopleDEV 3rd job - RaGEZONE Forums

gZWAHjS - [HELP] MoopleDEV 3rd job - RaGEZONE Forums


NPC ID: 1012100.js

PHP:
/*
 This file is part of the OdinMS Maple Story Server
    Copyright (C) 2008 Patrick Huy <patrick.huy@frz.cc>
         Matthias Butz <matze@odinms.de>
         Jan Christian Meyer <vimes@odinms.de>    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/>.
*/
/* Athena Pierce
 Archer Job Advancement
*/var status = 0;
var jobName;
var jobId;function start() {
    status = -1;
    action(1, 0, 0);
}function action(mode, type, selection) {
    if (mode == -1) {
        cm.dispose();
    } else {
        if (mode == 0 && status == 2) {
            cm.sendNext("You need to think about it a little more? Sure, take your time. This is not something you should take lightly. Let me know when you have made your decision.");
            cm.dispose();
            return;
        }
        if (mode == 1)
            status++;
        else
            status--;
   
  if (cm.getJobId()==0) {
   if (status == 0) {
    cm.sendNext("So, you want to become a Bowman? Well...you need to meet some requirements to do so. You must be at least #bLevel 10#k. Let's see... Hmmm...");                
   } else if (status == 1) {
    if (cm.getPlayer().getLevel() > 9) 
     cm.sendYesNo("");
    else
     cm.sendNextPrev("You need to train more. It's not easy being a Bowman...");//dispose after
   } else if (status == 2) {
   } else if (status == 3) {
   }
  } else if (cm.getJobId()==200) { 
   if (cm.getPlayer().getLevel() >= 30) {
   if (cm.haveItem(4031012)) {
    if (status == 0) 
     cm.sendNext("You got back here safely. Well done. I knew you'd pass the tests very easily...alright, I'll make you much stronger now. Before that, though...you need to choose one of the three paths that will given to you. It will be a tough decision for you to make, but...if you have any questions, feel free to ask.");
    else if (status == 1) 
     cm.sendSimple("Alright, when you have made your decision, clock on [I'll choose my occupation!] at the very bottom.\r\n#b#L0#Please explain the characteristics of the Wizard of Fire and Poison.#l\r\n#L1#Please explain the characteristics of the Wizard of Ie and Lightning.#l\r\n#L2#Please explain the characteristics of the Cleric.#l\r\n#L3#I'll choose my occupation!#l");
    else if (status == 2) {
     if (selection == 0) 
      cm.sendNext("");
        else if (selection == 1) 
      cm.sendNext("");
     else if (selection == 2) 
      cm.sendNext("");
     else if (selection == 3) 
      cm.sendSimple("Now, have you made up your mind? Please select your occupation for your 2nd job advancement.\r\r#b#L0#The Wizard of Fire and Poison#l\r\n#L1#The Wizard of Ice and Lightning#l\r\r#L2#Cleric#l");    
    } else if (status == 3) {
     if (selection == 0) {
      jobName = "The Wizard of Fire and Poison";
      jobId = 210;
     } else if (selection == 1) {
      jobName = "The Wizard of Ice and Lightning";
      jobId = 220;     
     } else if (selection == 2) {
      jobName = "Cleric";
      jobId = 230;
     } 
     cm.sendYesNo("So you want to make the 2nd job advancement as the #b" + jobName + "#k? You can't go back and change your job once you have made the decision...are you really sure about it?");
    } else if (status == 4) {
     if (jobId == 210) 
      cm.sendNext("");
     else if (jobId == 230) 
      cm.sendNext("Alright! You're a #bCleric#k from here on out. Clerics blow life into every living organism here with their undying faith in God. Never stop working on your faith...then one day, I'll help you become much more powerful...");
     cm.gainItem(4031012, -1);
     cm.changeJobById(jobId);
    } else if (status == 5) {
     cm.sendNextPrev("I have just given you a book that gives you the list of skills you can acquire as the " + jobName + "... In that book, you'll find a bunch of skills the " + jobName + " can learn. Your use and etc inventories have also been expanded with additional row of slots now available. Your max MP has also increased...go check and see for it yourself.");    
    } else if (status == 6) {
     cm.sendNextPrev("I have also given you a little bit of #bSP#k. Open the #bSkill Menu#k located at the bottom left corner. You'll be able to boost up the newly acquired 2nd level skills. A word of warning, though: You can't boost them up all at once. Some of the skills are only available after you have learned other skills. Make sure to remember that.");
    } else if (status == 7) {
     if (jobId == 130) 
      cm.sendNextPrev(jobName + "s needs to be strong. But remember that you can't abuse that power and use it on a weakling. Please use your enormous power the right way, because...for you to use that the right way, that is much harder than just getting stronger. Find me after you have advanced much further. I'll be waiting for you.");
    }    
   } else if (!cm.haveItem(4031008)) {  
    if (status == 0) {
     cm.sendYesNo("Well, we")
    } else if (status == 1) {
     cm.sendNext("Good thinking. You look strong, don't get me wrong, but there's still a need to test your strength and see if your are for real. The test isn't too difficult, so you'll do just fine... Here, take this letter first. Make sure you don't lose it.");
    } else if (status == 2) {
     if (cm.canHold(4031009)) {
      cm.gainItem(4031009);
      cm.sendNextPrev("Please get this letter to #bMagician Job Instructor #kwho may be around #bThe Forest North of Ellinia #kthat's near Ellinia. He's the one being the instructor now in place of me, as I am busy here. Get him the letter and he'll give you the test in place of me. For more details, hear it straight from him. Best of luck to you.");
     } else {
      cm.dispose();
     }
    } else if (status == 3) { 
     cm.dispose();
    }  
   }
   }
  } else {
   cm.sendNext("Would you like to have the power of nature in your hands? It may be a hard road, but you'll surely be rewarded in the end...");
   cm.dispose();
  }
 }
}
NPC ID: 2020010.js
PHP:
/*
 This file is part of the OdinMS Maple Story Server
    Copyright (C) 2008 Patrick Huy <patrick.huy@frz.cc>
         Matthias Butz <matze@odinms.de>
         Jan Christian Meyer <vimes@odinms.de>    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/>.
*/
/* Rene
 Bowman 3rd job advancement
 El Nath: Chief's Residence (211000001) Custom Quest 100100, 100102
*/var status = 0;
var job;function start() {
    status = -1;
    action(1, 0, 0);
}function action(mode, type, selection) {
    if (mode == -1) {
        cm.dispose();
    } else {
        if (mode == 0 && status == 1) {
            cm.sendOk("Make up your mind and visit me again.");
            cm.dispose();
            return;
        }
        if (mode == 1)
            status++;
        else
            status--;
        if (status == 0) {
            if (!(cm.getJobId()==100 || cm.getJobId()==320)) {
                cm.sendOk("May #rOdin#k be with you!");
                cm.dispose();
                return;
            }
            cm.completeQuest(100100);
            cm.completeQuest(100102);
            if (cm.isQuestCompleted(100102)) {
                cm.sendNext("#rBy Odin's ring!#k Indeed, you have proven to be worthy of the strength I will now bestow upon you.");
            } else if (cm.isQuestStarted(100102)) {
                cm.sendOk("Go and find me the #rNecklace of Wisdom#k which is hidden on the Holy Ground at the Snowfield.");
                cm.dispose();
            } else if (cm.isQuestStarted(100100)) {
                cm.sendNext("#rBy Odin's raven!#k I was right, your strength is truly excellent.");
            } else if (cm.isQuestStarted(100100)) {
                cm.sendOk("Well, well. Now go and see #bAthena Pierce#k. She will show you the way.");
                cm.dispose();
            } else if ((cm.getJobId()==310 || cm.getJobId()==320) && cm.getLevel() >= 70 &&  cm.getPlayer().getRemainingSp() <= (cm.getLevel() - 70) * 3) {
                cm.sendNext("#rBy Odin's beard!#k You are a strong one.");
            } else {
                cm.sendOk("Your time has yet to come...");
                cm.dispose();
            }
        } else if (status == 1) {
            if (cm.isQuestCompleted(100102)) {
                if (cm.getJobId()==310) {
                    cm.changeJobById(311);
                    //                    cm.getPlayer().gainAp(5);
                    cm.sendOk("You are now a #bRanger#k. May #rOdin#k be with you!");
                    cm.dispose();
                } else if (cm.getJobId()==320) {
                    cm.changeJobById(321);
                    //                    cm.getPlayer().gainAp(5);
                    cm.sendOk("You are now a #bSniper#k. May #rOdin#k be with you!");
                    cm.dispose();
                }
            } else if (cm.isQuestCompleted(100100)) {
                cm.sendAcceptDecline("Is your mind ready to undertake the final test?");
            } else {
                cm.sendAcceptDecline("But I can make you even stronger. Although you will have to prove not only your strength but your knowledge. Are you ready for the challenge?");
            }
        } else if (status == 2) {
            if (cm.isQuestCompleted(100100)) {
                cm.startQuest(100102);
                cm.sendOk("Go and find me the #rNecklace of Wisdom#k which is hidden on the Holy Ground at the Snowfield.");
                cm.dispose();
            } else {
                cm.startQuest(100100);
                cm.sendOk("Well, well. Now go and see #bAthena Pierce#k. She will show you the way.");
                cm.dispose();
            }
        }
    }
}
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
Sep 16, 2017
Messages
156
Reaction score
36
Hmm. Take a look at Rene (2020010):
PHP:
if (status == 0) {
            if (!(cm.getJobId()==100 || cm.getJobId()==320)) {
                cm.sendOk("May #rOdin#k be with you!");
                cm.dispose();
                return;
            }
Basically, if your jobID is not 100 or 320 (aka, not "Warrior" or "Crossbowman"), all that NPC will tell you is "May Odin be with you!".
You can guess what's wrong in here: we want that to happen only if your jobID is not a "Hunter" or a "Crossbowman", because these two are the only jobs (2nd job Archers) that can use this NPC to job-advance.
As it is right now, a Hunter can never advance. Make sure to change that number.

Also, while we're at it, note that this script will basically give you the quests, and automatically complete them, so even if the NPC tells you to go meet Athena Pierce or find necklaces, all you have to do is keep talking to her until you're given the third job.
 
Upvote 0
Newbie Spellweaver
Joined
Oct 18, 2017
Messages
56
Reaction score
1
Hmm. Take a look at Rene (2020010):
PHP:
if (status == 0) {
            if (!(cm.getJobId()==100 || cm.getJobId()==320)) {
                cm.sendOk("May #rOdin#k be with you!");
                cm.dispose();
                return;
            }
Basically, if your jobID is not 100 or 320 (aka, not "Warrior" or "Crossbowman"), all that NPC will tell you is "May Odin be with you!".
You can guess what's wrong in here: we want that to happen only if your jobID is not a "Hunter" or a "Crossbowman", because these two are the only jobs (2nd job Archers) that can use this NPC to job-advance.
As it is right now, a Hunter can never advance. Make sure to change that number.

Also, while we're at it, note that this script will basically give you the quests, and automatically complete them, so even if the NPC tells you to go meet Athena Pierce or find necklaces, all you have to do is keep talking to her until you're given the third job.
:D, thank lol how I missed
but now new error
DbVmpsC - [HELP] MoopleDEV 3rd job - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Upvote 0
Back
Top