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] heavenms - disabling PIC and allowing character deletion w/o PIC

Junior Spellweaver
Joined
Dec 13, 2004
Messages
119
Reaction score
4
Hi,

I have played with the codes and I notice that DeleteCharHandler.java is only invoked after a PIC is entered.

Does anyone know which .java file set of codes is invoked when a player click on Character Delete button from client?

I'm pretty sure there should be a set of codes that works like this

-- in pseudo --
If( pic is disabled ) -> prompt client to show "PIC is required......."

--

thus i would like to edit this code to skip the prompting, but im not sure if im right.
 
RaGEZONE VIP
[VIP] Member
Joined
Aug 3, 2008
Messages
172
Reaction score
26
Code:
        if (c.checkPic(pic))
        {
            if (c.deleteCharacter(cid, c.getAccID()))
            {
                FilePrinter.print(FilePrinter.DELETED_CHAR + c.getAccountName() + ".txt", c.getAccountName() + " deleted CID: " + cid);
                c.announce(MaplePacketCreator.deleteCharResponse(cid, 0));
            }
            else
            {
                c.announce(MaplePacketCreator.deleteCharResponse(cid, 0x09));
            }
        }

Inside this class, you will notice there is a condition for if (c.checkPic(pic)). You can simply set this to true instead of doing the actual check. The better way is to take the second if statement and replace the first if statement (check pic) to force the delete to occur on packet sent
 
Upvote 0
Junior Spellweaver
Joined
Dec 13, 2004
Messages
119
Reaction score
4
Code:
        if (c.checkPic(pic))
        {
            if (c.deleteCharacter(cid, c.getAccID()))
            {
                FilePrinter.print(FilePrinter.DELETED_CHAR + c.getAccountName() + ".txt", c.getAccountName() + " deleted CID: " + cid);
                c.announce(MaplePacketCreator.deleteCharResponse(cid, 0));
            }
            else
            {
                c.announce(MaplePacketCreator.deleteCharResponse(cid, 0x09));
            }
        }

Inside this class, you will notice there is a condition for if (c.checkPic(pic)). You can simply set this to true instead of doing the actual check. The better way is to take the second if statement and replace the first if statement (check pic) to force the delete to occur on packet sent

Thank you! I have re-enable PIC for security measures but thank you so much for your response, I will try this out. I'm still in the midst of understanding packet sent from client and how the client actually works. I'll research to see if there's any guide/source on how to compile the client to better understand on how the entire server flows
 
Upvote 0
Back
Top