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!

GM Hide

Junior Spellweaver
Joined
Mar 25, 2013
Messages
138
Reaction score
4
Hello, In my v62 source, GM's cant see each other. But if you enter a map another GM is in while in Hide, you can see them floating in the air not moving. Also GM's are able to see an Admin, when they shouldn't be able to.

I believe the issue is with MapleMapFactory load life or SpawnPlayerMapObject

Changing sendSpawnData in maplecharacter to this :
if ((this.isHidden() && client.getPlayer().isGM()) || !this.isHidden()) { client.getSession().write(MaplePacketCreator.spawnPlayerMapobject(this)); for (int i = 0; i < 3; i++) { if (pets != null) { client.getSession().write(MaplePacketCreator.showPet(this, pets, false, false)); } else { break; } } }
Doesn't work.
 
Last edited:
Custom Title Activated
Loyal Member
Joined
Jun 30, 2008
Messages
3,451
Reaction score
1,616
Hello, In my v62 source, GM's cant see each other. But if you enter a map another GM is in while in Hide, you can see them floating in the air not moving. Also GM's are able to see an Admin, when they shouldn't be able to.

I believe the issue is with MapleMapFactory load life or SpawnPlayerMapObject

Changing sendSpawnData in maplecharacter to this :
if ((this.isHidden() && client.getPlayer().isGM()) || !this.isHidden()) { client.getSession().write(MaplePacketCreator.spawnPlayerMapobject(this)); for (int i = 0; i < 3; i++) { if (pets != null) { client.getSession().write(MaplePacketCreator.showPet(this, pets, false, false)); } else { break; } } }
Doesn't work.

You see them floating in the air. Which means you do get the 'spawn' packet. The problem is with the movement packet, that one isn't sent to other GM's.
 
Upvote 0
Junior Spellweaver
Joined
Mar 25, 2013
Messages
138
Reaction score
4
You see them floating in the air. Which means you do get the 'spawn' packet. The problem is with the movement packet, that one isn't sent to other GM's.

Can you point me in the right direction and i can figure it out from there? Because I'm not sure which is the movement packet.
 
Upvote 0
Junior Spellweaver
Joined
Mar 25, 2013
Messages
138
Reaction score
4
You see them floating in the air. Which means you do get the 'spawn' packet. The problem is with the movement packet, that one isn't sent to other GM's.
Ah i figured it out, thank you for the help!

If anyone else is struggling with this (which i doubt, i just decided to use the most crappy source in order to learn better)

In net.channel.handler MovePlayerHandler.java
Replace
Code:
MapleCharacter player = c.getPlayer();
if (!player.isHidden()) { 
MaplePacket packet = MaplePacketCreator.movePlayer(player.getId(), res);               c.getPlayer().getMap().broadcastMessage(player, packet, false);           
}

With

Code:
MapleCharacter chr = c.getPlayer(); 
MaplePacket packet = MaplePacketCreator.movePlayer(chr.getId(), res);       
if (!chr.isHidden()) { 
c.getPlayer().getMap().broadcastMessage(chr, packet, false);   } 
else { //GM hide fix - before GM's could not see each other move
 c.getPlayer().getMap().broadcastGMMessage(chr, packet, false);
}
 
Last edited:
Upvote 0
Back
Top