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!

Job Reset NPC with limit

Newbie Spellweaver
Joined
Jun 24, 2008
Messages
78
Reaction score
51
You will have to figure out the rest by yourself.
Credits goes to me.

You will have to add a new column to characters named JobResets and edit the MapleCharacter.java nad the NPCConversationManager.java.

Just do the same as the voting points.

Code:
/*
Job Reset Npc
--------------
Made by: Henki133 @ RageZone
Regular Players: 1 job reset(s) (editable)
Donators: 2 job reset(s) (editable)
Please don't delete this comment.

NPC Scripting tutorial @ http://forum.ragezone.com/f428/big-npc-scripting-tutorial-605225/
Press thanks button (heart button)
*/
var status;
var donatorjob = 2; //your choice.
var regularjob = 1; //your choice.

function start() {
    status = -1;
    action(1, 0, 0);
}


function action(mode, type, selection) {
    if (mode == -1) {
            cm.dispose();
        }else{
    if (status >= 5 && mode == 0) {
            cm.sendOk("Just come back if you change your mind!");
            cm.dispose();
            return;                    
        }
    
        if (mode == 1) {
            status++;
        }else{
            status--;
        }
    if (status == 0) {
        if (cm.getChar().getLevel() >= 120) {
            cm.sendOk("Hello. I am the Job resetter. Instead of RBs, you will go back to beginner with the same stats, level and keymap. Do you want to go back to beginner?");
        } else {
            cm.sendOk("Sorry. You need to be lvl 120 to make a job reset.");
            cm.dispose();
            return;
        }
    } else if (status == 1) {
        if (cm.getChar().isDonator() == true) {
            if (cm.getChar().getjobresets() < donatorjob) {
                if (cm.haveItem(4000412)) {
                    cm.sendNext("I see that you have got a #bProof of Training#k. When you are ready, let's start the process.");
                } else {
                    cm.sendOk("Please get a #bProof of Training#k so we can start the process.");
                    cm.dispose();
                    return;
                }
            } else {
                cm.sendOk("You have reached the limit of job resets that you can make. Sorry.");
                cm.dispose();
                return;
            }
        } else {
            if (cm.getChar().getjobresets() < regularjob) {
                if (cm.haveItem(4000412)) {
                    cm.sendNext("I see that you have got a #bProof of Training#k. When you are ready, let's start the process.");
                } else {
                    cm.sendOk("Please get a #bProof of Training#k so we can start the process.");
                    cm.dispose();
                    return;
                }
            } else {
                cm.sendOk("You have reached the limit of job resets that you can make. Sorry.");
                cm.dispose();
                return;
            }
        }
    } else if (status == 2) {
        if (!cm.getJob().equals(net.sf.odinms.client.MapleJob.BEGINNER)) {
            cm.gainItem(4000412, -1);
            cm.sendNext("Initializing.. \r\n Downloading Noob Drivers v2.3 from http://www.mediafire.com/ \r\n Installing Noob Drivers v2.3 \r\n 'You want to repair your existing files?' \r\n [x]Yes \r\n No \r\n Repairing... \r\n Done. \r\n [x]Finish");
        } else {
            cm.sendNext("Initializing.. \r\n Downloading Noob Drivers v2.3 from http://www.mediafire.com/ \r\n ERROR! \r\n Trojan x50al4 found! \r\n [x]Delete \r\n Quarantine \r\n Ignore");
            cm.dispose();
            return;
        }
    } else if (status == 3) {
        cm.getPlayer().setJob(000);
        cm.gainjobresets(1);
        cm.sendOk("What the.. You already have the noob driver installed... Very well.. Here is your job reset.");
        cm.dispose();
    }
  }
}
 
Last edited:
Back
Top