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!

issue with Hired merchant v62 1st person leave + red circle

Newbie Spellweaver
Joined
Jan 22, 2009
Messages
72
Reaction score
0
Hey i need 2 fixed
1)2 people inside the shop second leaves all get dced ,
not realised the fix from here : http://forum.ragezone.com/f427/fix-merchant-issue-669807
2) 3 people in the merchant and need to add a red circle that say it.

public static MaplePacket getInteraction(MapleCharacter chr, boolean firstTime) {

Code:
     MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
        mplew.writeShort(SendPacketOpcode.PLAYER_INTERACTION.getValue()); // header.

        IPlayerInteractionManager ips = chr.getInteraction();
        int type = ips.getShopType();
        if (type == 1) {
            mplew.write(HexTool.getByteArrayFromHexString("05 05 04"));
        } else if (type == 2) {
            mplew.write(HexTool.getByteArrayFromHexString("05 04 04"));
        } else if (type == 3) {
            mplew.write(HexTool.getByteArrayFromHexString("05 02 02"));
        } else if (type == 4) {
            mplew.write(HexTool.getByteArrayFromHexString("05 01 02"));
        }
       mplew.write(ips.getVisitorSlot(chr)); 
       mplew.write(ips.isOwner(chr) ? 0 : 1);
       mplew.write(0);
        if (type == 2 || type == 3 || type == 4) {
            addCharLook(mplew, ((MaplePlayerShop) ips).getMCOwner(), false);
            mplew.writeMapleAsciiString(ips.getOwnerName());
        } else {
            mplew.writeInt(((HiredMerchant) ips).getItemId());
            mplew.writeMapleAsciiString("Hired Merchant");
        }
        for (int i = 0; i < 3; i++) {
            if (ips.getVisitors()[i] != null) {
                mplew.write(i + 1);
                addCharLook(mplew, ips.getVisitors()[i], false);
                mplew.writeMapleAsciiString(ips.getVisitors()[i].getName());
            }
        }
        mplew.write(0xFF);
        if (type == 1) {
            mplew.writeShort(0);
            mplew.writeMapleAsciiString(ips.getOwnerName());
            if (ips.isOwner(chr)) {
                mplew.writeInt(Integer.MAX_VALUE); 
                mplew.write(firstTime ? 1 : 0);
                mplew.write(HexTool.getByteArrayFromHexString("00 00 00 00 00"));
            }
} 
}
 
Custom Title Activated
Loyal Member
Joined
Jan 18, 2010
Messages
3,108
Reaction score
1,140
someone±@?!#!?

You should really learn packets if you're going to work with them. People aren't going to spoonfeed you. There's a v62 IDB released, find the HiredMerchant packets (EntrustedShop) and PlayerInteraction packets (MiniRoomBaseDlg).

Looking at your packet, for one it's Odin and horrendous using HexTool everywhere and all, but second, if this is the EntrustedShop packet you're missing a ton of bytes. Under if (type == 1) you do a writeShort 0.. Guess you don't even save chats. You write the employer name properly, but when you check for the employer you write a max value for the duration of it being open? You have the creation ternary check correct, and then you hex string your Sold items list and the mesos received? How do you know what people bought/money you made..? After that, where is your shop title, the current count of members IN the shop, and the actual item list?? You encode a enter result but don't write all of the bytes or this is not the correct packet you're using that even puts you into a EntrustedShop.
 
Upvote 0
Newbie Spellweaver
Joined
Jan 22, 2009
Messages
72
Reaction score
0
You should really learn packets if you're going to work with them. People aren't going to spoonfeed you. There's a v62 IDB released, find the HiredMerchant packets (EntrustedShop) and PlayerInteraction packets (MiniRoomBaseDlg).

Looking at your packet, for one it's Odin and horrendous using HexTool everywhere and all, but second, if this is the EntrustedShop packet you're missing a ton of bytes. Under if (type == 1) you do a writeShort 0.. Guess you don't even save chats. You write the employer name properly, but when you check for the employer you write a max value for the duration of it being open? You have the creation ternary check correct, and then you hex string your Sold items list and the mesos received? How do you know what people bought/money you made..? After that, where is your shop title, the current count of members IN the shop, and the actual item list?? You encode a enter result but don't write all of the bytes or this is not the correct packet you're using that even puts you into a EntrustedShop.

i can show you the whole source at teamviweer, if you can give me me a ahnd its works fine only that dc issue what shuld id o?
 
Upvote 0
Custom Title Activated
Loyal Member
Joined
Jan 18, 2010
Messages
3,108
Reaction score
1,140
i can show you the whole source at teamviweer, if you can give me me a ahnd its works fine only that dc issue what shuld id o?

I told you, you should learn basic packet knowledge if you're going to work with packets. If you can host a server with 51+ online, you can put some time and effort into learning how the server end actually works and fix this..
 
Upvote 0
Newbie Spellweaver
Joined
Jan 22, 2009
Messages
72
Reaction score
0
I told you, you should learn basic packet knowledge if you're going to work with packets. If you can host a server with 51+ online, you can put some time and effort into learning how the server end actually works and fix this..

do you have any guide or the idea how to fix it, i tried to learn the IDE thing , i'm bad at that , i'm so good at the Java program but packets are so hard to understand you have any guide for that or any idea what to change jus to fix the the dc when 1st leaves dc
 
Upvote 0
Experienced Elementalist
Joined
Nov 21, 2008
Messages
297
Reaction score
38
Upvote 0
Back
Top