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!

Development v117.2 Source

Custom Title Activated
Loyal Member
Joined
Jan 18, 2010
Messages
3,109
Reaction score
1,139
Me too... I had to step up my game as soon as developpers started putting the server IP within constants.serverconstants. Otherwise it wouldn't work on hamachi xD.

Yep! v75 or so man, I remember it! I tried it on hamachi and it wouldn't work so I had to learn.. muahaha oh the old days.

BLazeking558 Yeah, if I had a v117 server I would've fixed a lot of smaller things like exp coupons and those special item locks or remote hired merchants and stuff. Either way, the big parts are implemented! Also, custom items and stuff wasn't source-related completely. I only implemented 3rd person Totem Effects since the client didn't have that until they were released. Most customs were really just NPC's, the systems were designed for custom maps and stuff but work without them ofcourse.
 
Last edited:
Junior Spellweaver
Joined
May 1, 2010
Messages
109
Reaction score
9
Yep! v75 or so man, I remember it! I tried it on hamachi and it wouldn't work so I had to learn.. muahaha oh the old days.

BLazeking558 Yeah, if I had a v117 server I would've fixed a lot of smaller things like exp coupons and those special item locks or remote hired merchants and stuff. Either way, the big parts are implemented! Also, custom items and stuff wasn't source-related completely. I only implemented 3rd person Totem Effects since the client didn't have that until they were released. Most customs were really just NPC's, the systems were designed for custom maps and stuff but work without them ofcourse.

Everything so far is working for perfect for me. as we speak, I am looking for the NPC's that were player npcs and that are now NULL and trying to fill them in. But I still yet to make or even find a NPC so I can use my currency I wanted (Snow Flakes). But all in all everything is going good! Oh and for some reason the heart, skull, tiger etc. megaphones crash the game, but the super megaphones and item megaphones work fine. Not too sure what that could be!
 
Custom Title Activated
Loyal Member
Joined
Jan 18, 2010
Messages
3,109
Reaction score
1,139
Everything so far is working for perfect for me. as we speak, I am looking for the NPC's that were player npcs and that are now NULL and trying to fill them in. But I still yet to make or even find a NPC so I can use my currency I wanted (Snow Flakes). But all in all everything is going good! Oh and for some reason the heart, skull, tiger etc. megaphones crash the game, but the super megaphones and item megaphones work fine. Not too sure what that could be!

pretty sure smegas are broadcasted through a servernotice packet while avis are through an avatar mega packet. if it's 38, it's a packet error. if it's -2147xxx, it's a wz error.
 
Junior Spellweaver
Joined
May 1, 2010
Messages
109
Reaction score
9
I wasn't sure if I should actually release this in the release thread or since it just deals with this repack. But I'll post it both ways screw it! Since I couldn't really find a way to Rebirth in this source (I did not really look). I went ahead and made commands for re-birthing as well as fix the Mihile rebirth for Mr.Moneybags since he rebirths you to a beginner instead.


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:
cm.getPlayer().doEXPRB(); // Mihile

Change to

PHP:
cm.getPlayer().doMIRB(); // Mihile

EXPRB= Explorer
MIRB= Mihile

Simple enough :D
 
Junior Spellweaver
Joined
Jan 17, 2013
Messages
144
Reaction score
35
Do you by any chance have a bug list? would be easier to fix it up.
You said you weren't going to realease wz edits, but you left em inside www/version folders
 
Custom Title Activated
Loyal Member
Joined
Jan 18, 2010
Messages
3,109
Reaction score
1,139
Do you by any chance have a bug list? would be easier to fix it up.
You said you weren't going to realease wz edits, but you left em inside www/version folders

those were test edits for the launcher. maybe an item or two is in it, not the actual file lol.

buglist? I don't really have any bugs (that I found myself anyways), however I had a small TODO list:

Code:
Development's To-Do List [8/6/14]
- Android loading upon 3rd party character map load
- Azwan (Attack Mode, Occupy Mode)
- Core Aura
- Magic Wheel
- Red Leaf High
- Inner ability updates

- Pre-enable player muting on specific event maps so they don't glitch and stay perma muted after getting kicked
- Insert reports to database for report logging
- Mu Lung Ranking check/reset/reward. Make times reset at midnight.
- Fully working REAL weddings
- Finish Boat Traveling System
- Finish Amoria PQ
- Finish Orbis PQ
- Fix "Chocolate Heart Box" stacking
 
Junior Spellweaver
Joined
Jan 17, 2013
Messages
144
Reaction score
35
those were test edits for the launcher. maybe an item or two is in it, not the actual file lol.
oh, my bad.(didn't really check them, i just supposed those were it)

1 more question, link skills and character cards, ever got around those or should I add them on to-do list?
 
UNTIL THEN!
Loyal Member
Joined
Mar 5, 2011
Messages
1,086
Reaction score
213
Is there a way to have it so that only one world needs to be loaded, not forcing us to use two?

Edit: For some reason, when I try entering the server now, it just crashes me instantly, no error 38. It says NOTHING in the console, and nothing happens. The screen goes to black, and then closes.

Edit2: Now it's saying that the last op that's sent before I crash is UPDATE_ENV. But, I never had this problem before, so what is happening?
 
Last edited:
Custom Title Activated
Loyal Member
Joined
Jan 18, 2010
Messages
3,109
Reaction score
1,139
Is there a way to have it so that only one world needs to be loaded, not forcing us to use two?

Edit: For some reason, when I try entering the server now, it just crashes me instantly, no error 38. It says NOTHING in the console, and nothing happens. The screen goes to black, and then closes.

Edit2: Now it's saying that the last op that's sent before I crash is UPDATE_ENV. But, I never had this problem before, so what is happening?

You can change the way it iterates the Worlds (where it throws the error). When I coded these it was poorly done as I didn't know how useful enums and others could be rather than abusing pairs so...

No clue, I never had that problem. I remember someone having a similar problem but I think they just re-downloaded and compiled to fix it.. Only thing that I could suspect is an item your character is wearing.
 
UNTIL THEN!
Loyal Member
Joined
Mar 5, 2011
Messages
1,086
Reaction score
213
You can change the way it iterates the Worlds (where it throws the error). When I coded these it was poorly done as I didn't know how useful enums and others could be rather than abusing pairs so...

No clue, I never had that problem. I remember someone having a similar problem but I think they just re-downloaded and compiled to fix it.. Only thing that I could suspect is an item your character is wearing.

I tried completely clean wz files. This is so odd. It's just refusing it work. Eh, I guess I just have to re-install windows or something.
 
UNTIL THEN!
Loyal Member
Joined
Mar 5, 2011
Messages
1,086
Reaction score
213
How do you get rid of the spam of smegas? I see 2-5 of them, with item smegas, and normal megaphones. How do I make it so that it's only one line?
 
Custom Title Activated
Loyal Member
Joined
Jan 18, 2010
Messages
3,109
Reaction score
1,139
How do you get rid of the spam of smegas? I see 2-5 of them, with item smegas, and normal megaphones. How do I make it so that it's only one line?

What do you mean? You mean it duplicates itself a few times or something? If so, this may be a problem with the Multi-World's because it was just the beginning of it being implemented.

If that is the case, look for InventoryHandler for the UseCashItem or whatever and look for the broadcastMessage for the megaphones. In my newest source I had this error too because of the way I was broadcasting, so try taking a look at that. The broadcastMessage for megaphones I think was made for world's so it should be in either LoginServer or World if I recall.
 
UNTIL THEN!
Loyal Member
Joined
Mar 5, 2011
Messages
1,086
Reaction score
213
What do you mean? You mean it duplicates itself a few times or something? If so, this may be a problem with the Multi-World's because it was just the beginning of it being implemented.

If that is the case, look for InventoryHandler for the UseCashItem or whatever and look for the broadcastMessage for the megaphones. In my newest source I had this error too because of the way I was broadcasting, so try taking a look at that. The broadcastMessage for megaphones I think was made for world's so it should be in either LoginServer or World if I recall.

I thiink it has to witrh the amount of channels, because It spams it 5 times, and I have 5 channels, any reason why it might be doing so?

Edit: nvm that's not it. I can't figure this out..
 
Last edited:
Custom Title Activated
Loyal Member
Joined
Jan 18, 2010
Messages
3,109
Reaction score
1,139
I'm trying hard to figure it out. It's painful to see it.

I decided to check it out myself and it seems I'm correct, it's the broadcastMessage sending it to each channelserver per character.

Go to net/world/World.java and find:

Code:
public static void broadcastSmega(int world, byte[] message) {
            for (MapleCharacter chr : players.getAllCharacters()) {
                if ((world == -1) || (chr.getWorld() == world)) {
                    chr.getClient().getChannelServer().broadcastSmega(message);
                }
            }
        }

Change it to:
Code:
public static void broadcastSmega(int world, byte[] message) {
            for (MapleCharacter chr : players.getAllCharacters()) {
                if ((world == -1) || (chr.getWorld() == world)) {
                    chr.announce(message);
                }
            }
        }

and that should fix it :)
 
Back
Top