Development v117.2 Rebirth
Since I couldn't really find a way to rebirth in @chunkarama 's Development Source (I did not really look that hard). I went ahead and made commands for re-birthing (43 of them) as well as fix the Mihile rebirth for Mr.Moneybags since he rebirths you to an Explorer instead. I also went ahead and added the commands to the @Commands list as well. I guess this can be for pretty much any repack....? Correct me if I am wrong!
(I totally understand this is easy for most, maybe all, of you guys, but I know someone will be appreciative of this when they can't find a way to rebirth with this repack)
Rebirth for all classes
Code:
case "r":
case "rb":
case "rebirth":
case "reborn":
if (player.getLevel() >= 200) {
player.doEXPRB();
} else {
player.dropMessage("You must be at least level 200.");
}
return true; // End of Beginner Rebirth
case "rdb":
case "rebirthdb":
case "reborndb":
if (player.getLevel() >= 200) {
player.doDBRB();
} else {
player.dropMessage("You must be at least level 200.");
}
return true; // End of DualBlade Rebirth
case "rc":
case "rebirthc":
case "rebornc":
if (player.getLevel() >= 200) {
player.doCANNONRB();
} else {
player.dropMessage("You must be at least level 200.");
}
return true; // End of Cannorer Rebirth
case "rj":
case "rebirthj":
case "rebornj":
if (player.getLevel() >= 200) {
player.doJett();
} else {
player.dropMessage("You must be at least level 200.");
}
return true; // End of Jett Rebirth
case "ry":
case "rebirthy":
case "reborny":
if (player.getLevel() >= 200) {
player.doCRB();
} else {
player.dropMessage("You must be at least level 200.");
}
return true; // End of Cygnus Rebirth
case "ra":
case "rebirtha":
case "reborna":
if (player.getLevel() >= 200) {
player.doARB();
} else {
player.dropMessage("You must be at least level 200.");
}
return true; // End of Aran Rebirth
case "re":
case "rebirthe":
case "reborne":
if (player.getLevel() >= 200) {
player.doERB();
} else {
player.dropMessage("You must be at least level 200.");
}
return true; // End of Eran Rebirth
case "rm":
case "rebirthm":
case "rebornm":
if (player.getLevel() >= 200) {
player.doMERCRB();
} else {
player.dropMessage("You must be at least level 200.");
}
return true; // End of Mercedes Rebirth
case "rp":
case "rebirthp":
case "rebornp":
if (player.getLevel() >= 200) {
player.doPhantom();
} else {
player.dropMessage("You must be at least level 200.");
}
return true; // End of Phantom Rebirth
case "rds":
case "rebirthds":
case "rebornds":
if (player.getLevel() >= 200) {
player.doDSRB();
} else {
player.dropMessage("You must be at least level 200.");
}
return true; // End of Demon Slayer Rebirth
case "rbam":
case "rebirthbam":
case "rebornbam":
if (player.getLevel() >= 200) {
player.doBAMRB();
} else {
player.dropMessage("You must be at least level 200.");
}
return true; // End of Battle Mage Rebirth
case "rwh":
case "rebirthwh":
case "rebornwh":
if (player.getLevel() >= 200) {
player.doWHRB();
} else {
player.dropMessage("You must be at least level 200.");
}
return true; // End of Wild Hunter Rebirth
case "rmech":
case "rebirthmech":
case "rebornmech":
if (player.getLevel() >= 200) {
player.doMRB();
} else {
player.dropMessage("You must be at least level 200.");
}
return true; // End of Mechanic Rebirth
case "rmi":
case "rebirthmihile":
case "rebornmihile":
if (player.getLevel() >= 200) {
player.doMIRB();
} else {
player.dropMessage("You must be at least level 200.");
}
return true; // End of Mihile Rebirth
If you wanna change the commands used to rebirth then change everything in
Code:
case "(change this)"
Mr.Moneybag Mihile Rebirth Fix
Goto Development\scripts\npc
I believe his NPC ID is 9300010
Then look for....
PHP Code:
cm.getPlayer().doEXPRB(); // Mihile
Change to
PHP Code:
cm.getPlayer().doMIRB(); // Mihile
EXPRB= Explorer
MIRB= Mihile
Simple enough :D
The @command list which is, of course, in your PlayerCommands.java
Code:
player.dropNPC("[" + ServerConstants.SERVER_NAME + "'s #eOfficial#n Command List] :\r\n\r\n#b@relog#k - #rGlitched, frozen, or bugged? Try this.#k\r\n#b@keyfix#k - #rKeys reset? Try this.#k\r\n#b@afk#k - #rGoing afk? Feel free to use this.#k\r\n#b@expfix#k - #rEXP passed your screen? Try this.#k\r\n#b@spy <ign>#k - #rLists basic stats of a player.#k\r\n#b@checkme#k - #rShows your character's stats and information.#k\r\n#b@credits#k - #rCredits to " + ServerConstants.SERVER_NAME + "'s Staff Team.#k\r\n#b@clear#k - #rClears all of the drops within the map.#k\r\n#b@kin/#b@nimakin#k - #r" + ServerConstants.SERVER_NAME + "'s Stylers.#k\r\n#b@unstuck <ign>#k - #rFixes a character that's stuck on a d/cing map.#k\r\n#b@save#k - #rSaves your character.#k\r\n#b@fm#k - #rDirectly warp to FM.#k\r\n#b@dispose#k - #rCan't click a NPC? Try this.#k\r\n#b@ranking#k - #r" + ServerConstants.SERVER_NAME + "'s Rankings.#k\r\n#b@gm <msg>#k - #rContact Staff Member's for help.#k\r\n#b@dev#k - #rAll-In-One NPC. Has basic stuff and shops.#k\r\n#b@online#k - #rLists all online players.#k\r\n#b@go <map>#k - #rDirectly warp to a map!#k\r\n#b@pvpranks#k - #rDisplay PvP leaderboards!#k\r\n#b@ring <id/info> <ign>#k - #rGet a ring with another player!#k\r\n#b@shop#k - #rOur all-in-one potion shop!#k\r\n#b@dps#k - #rTest out your Damage Per Second!#k\r\n#b@android#k - #rAccess the Android Styler NPC!#k\r\n#b@storage#k - #rDirect access to storage anywhere!#k\r\n#b@news#k - #r" + ServerConstants.SERVER_NAME + "'s Official Newsboard!#k\r\n#b@pvp#k - #rWarps you to our very own Battle Square!#k\r\n#b@advance#k - #rJob advances you if you're an explorer.#k\r\n#b@rb#k - #rRebirths You To A Beginner!#k\r\n#b@rc#k - #rRebirths You To A Cannoner!#k\r\n#b@rj#k - #rRebirths You To A Jett!#k\r\n#b@ry#k - #rRebirths You To A Cygnus!#k\r\n#b@ra#k - #rRebirths You To A Aran!#k\r\n#b@re#k - #rRebirths You To A Eran!#k\r\n#b@rm#k - #rRebirths You To A Mercedes!#k\r\n#b@rp#k - #rRebirths You To A Phantom!#k\r\n#b@rds#k - #rRebirths You To A Demon Slayer!#k\r\n#b@rbam#k - #rRebirths You To A Battle Mage!#k\r\n#b@rwh#k - #rRebirths You To A Wild Hunter!#k\r\n#b@rmech#k - #rRebirths You To A Mechanic!#k\r\n#b@rmi#k - #rRebirths You To A Mihile!#k");
Also if there is a way to make anything here shorter please feel free to tell me and/or fix it. Constructive Criticism helps as well. Thank you guys!
Re: Development v117.2 Rebirth
uhm, nice release i geuss :p, but aren't there like a million repacks out there where you can rip it from?
Re: Development v117.2 Rebirth
Quote:
Originally Posted by
super861
uhm, nice release i geuss :p, but aren't there like a million repacks out there where you can rip it from?
I'll take home-made over ripoff anytime of the day..
Might not be the greatest thing ever released, but it's good to see people trying out things and willing to share them. +1
Re: Development v117.2 Rebirth
Quote:
Originally Posted by
pow3rran9er
I'll take home-made over ripoff anytime of the day..
Might not be the greatest thing ever released, but it's good to see people trying out things and willing to share them. +1
yes i agree :) it's always good to see people put effort into things.
Re: Development v117.2 Rebirth
You should redo the command and simplify it and instead of 1 method per rebirth, just 1 to do it all is wiser
Re: Development v117.2 Rebirth
Quote:
Originally Posted by
sunnyboy
You should redo the command and simplify it and instead of 1 method per rebirth, just 1 to do it all is wiser
How would I do if I may ask?
Re: Development v117.2 Rebirth
How? Reduce the code by recoding it cleaner. Make one method to do the rebirth functions instead of one for each job. With the rebirth method simpler you can extremely shorten the command since it's too large and incompetent.
Re: Development v117.2 Rebirth
Nice one. I like how you used multiple shortcuts since we're using switch. However, you should do it a different way like sunnyboy said. Having sooo many methods is something you don't want to do, trust me. I know v117 is a long way from v83, but rather than a long ternary (like below) you could switch for an integer type of the jobid and that jobid would update the job stat.
Here's how I did it in my v83:
Code:
public void doReborn(byte type) {
setReborns(getReborns() + 1);
setLevel(1);
setExp(0);
setJob(type == 0 ? MapleJob.BEGINNER : type == 1 ? MapleJob.NOBLESSE : MapleJob.LEGEND);
updateSingleStat(MapleStat.LEVEL, 1);
updateSingleStat(MapleStat.JOB, type == 0 ? 0 : type == 1 ? 1000 : 2000);
updateSingleStat(MapleStat.EXP, 0);
}
Re: Development v117.2 Rebirth
Alright. So I would need to add in the maplejob for dualblade and what not? like this?
Code:
public void doReborn(byte type) {
setReborns(getReborns() + 1);
setLevel(1);
setExp(0);
setJob(type == 0 ? MapleJob.BEGINNER : type == 1 ? MapleJob.NOBLESSE : MapleJob.LEGEND : type ==2 ? MapleJob.DUALBLADE);
updateSingleStat(MapleStat.LEVEL, 1);
updateSingleStat(MapleStat.JOB, type == 0 ? 0 : type == 1 ? 1000 : 2000);
updateSingleStat(MapleStat.EXP, 0);
}
Cause I like the use of commands like and how we use Case to add in more. That was just simpler to do anyways.
Re: Development v117.2 Rebirth
Quote:
Originally Posted by
BLazeking558
Alright. So I would need to add in the maplejob for dualblade and what not? like this?
Code:
public void doReborn(byte type) {
setReborns(getReborns() + 1);
setLevel(1);
setExp(0);
setJob(type == 0 ? MapleJob.BEGINNER : type == 1 ? MapleJob.NOBLESSE : MapleJob.LEGEND : type ==2 ? MapleJob.DUALBLADE);
updateSingleStat(MapleStat.LEVEL, 1);
updateSingleStat(MapleStat.JOB, type == 0 ? 0 : type == 1 ? 1000 : 2000);
updateSingleStat(MapleStat.EXP, 0);
}
Cause I like the use of commands like and how we use Case to add in more. That was just simpler to do anyways.
Haha noo xD
In v83, OdinMS uses a MapleJob class to refer to an enum constant of all the jobids. (Which is useless in my opinion) In v117 (Lithium), they removed MapleJob and made the jobs just a short and refer to them through getJob() and/or getJobId() (which means you'd just declare as the short of the job.)
To simplify, just put the jobid for them instead. Beginner = 0, Noblesse = 1000, Legend = 2000.