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!

Xephyr 114 proper cash shop fix

Newbie Spellweaver
Joined
Nov 14, 2011
Messages
80
Reaction score
24
The other thread is a joke, there is nothing wrong with the opcode.

Here's how to really fix it:
In CashShopOperation.java find this

Code:
 } else if (action == 47) { 
            c.getSession().write(MTSCSPacket.redeemResponse());

and change the 47 to 48.

Now go to MTSCSPacket.redeemResponse() and change it to
Code:
public static byte[] redeemResponse() { 
        MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); 

        mplew.writeShort(SendPacketOpcode.CS_OPERATION.getValue()); 
        mplew.write(0xC1); 
        mplew.writeInt(0); 
        mplew.write(1); 

        return mplew.getPacket(); 
    }

credits to edwinkbs for the redeemReponse.

Now in MTSCSPacket.java change the Operation Code variable at the top to 99.

Done!
 
Last edited:
Newbie Spellweaver
Joined
Jul 22, 2012
Messages
59
Reaction score
0
it is really working ? someone can test this??
 
Newbie Spellweaver
Joined
Nov 14, 2011
Messages
80
Reaction score
24
Test it your Ducking self? What is up with people on this forum.
 
Newbie Spellweaver
Joined
Nov 14, 2011
Messages
80
Reaction score
24
How can you know if you havent even tested it? Why do you need other people to test it for you? I do not understand people like you.

Go ahead test it, you'll see that it works.
 
Elite Diviner
Joined
Apr 26, 2009
Messages
468
Reaction score
64
PHP:
} else if (action == 47) {
			c.getSession().write(MTSCSPacket.redeemResponse());

TO

PHP:
} else if (action == 48) {
			c.getSession().write(MTSCSPacket.redeemResponse());

PHP:
public static byte[] redeemResponse() {
        MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();

        mplew.writeShort(SendPacketOpcode.CS_OPERATION.getValue());
        mplew.write(0xC1);
        mplew.writeInt(0);
        mplew.write(1);

        return mplew.getPacket();
    }
 
Junior Spellweaver
Joined
Aug 6, 2012
Messages
106
Reaction score
0
PHP:
} else if (action == 47) {
			c.getSession().write(MTSCSPacket.redeemResponse());

TO

PHP:
} else if (action == 48) {
			c.getSession().write(MTSCSPacket.redeemResponse());

PHP:
public static byte[] redeemResponse() {
        MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();

        mplew.writeShort(SendPacketOpcode.CS_OPERATION.getValue());
        mplew.write(0xC1);
        mplew.writeInt(0);
        mplew.write(1);

        return mplew.getPacket();
    }

Friend where I put this

Code:
public static byte[] redeemResponse() {
        MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();

        mplew.writeShort(SendPacketOpcode.CS_OPERATION.getValue());
        mplew.write(0xC1);
        mplew.writeInt(0);
        mplew.write(1);

        return mplew.getPacket();
    }
 
Newbie Spellweaver
Joined
Feb 13, 2011
Messages
27
Reaction score
1
The other thread is a joke, there is nothing wrong with the opcode.

Here's how to really fix it:
In CashShopOperation.java find this

Code:
 } else if (action == 47) { 
            c.getSession().write(MTSCSPacket.redeemResponse());

and change the 47 to 48.

Now go to MTSCSPacket.redeemResponse() and change it to
Code:
public static byte[] redeemResponse() { 
        MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); 

        mplew.writeShort(SendPacketOpcode.CS_OPERATION.getValue()); 
        mplew.write(0xC1); 
        mplew.writeInt(0); 
        mplew.write(1); 

        return mplew.getPacket(); 
    }

credits to edwinkbs for the redeemReponse.

Now in MTSCSPacket.java change the Operation Code variable at the top to 99.

Done!

nuclear898 - Xephyr 114 proper cash shop fix - RaGEZONE Forums


Know how to fix this error?

EDIT: Fixed.
 
Last edited:
Junior Spellweaver
Joined
Aug 6, 2012
Messages
106
Reaction score
0
Code:
private static byte Operation_Code = 98; // We could just change this everytime a version updates

Change to 98 For 99 ?
 
Newbie Spellweaver
Joined
Aug 15, 2012
Messages
54
Reaction score
0
I still crash when I enter the Cash shop. I did exactly what this said ._.
 
Newbie Spellweaver
Joined
Dec 12, 2010
Messages
25
Reaction score
0
Can enter and buy, it also takes your NX but! You don't receive the item you "bought" ~

~ EDIT: Fixed, had my sendopcodes fucked hehe
 
Last edited:
Newbie Spellweaver
Joined
Aug 21, 2012
Messages
44
Reaction score
2
Just wanna ask, where is MTSCSPacket.redeemResponse() method located?
 
Elite Diviner
Joined
Apr 26, 2009
Messages
468
Reaction score
64
Since you changed your Operation_Code to 99, you can just use this.
Next time when you update versions, you can just change the operation_code.
PHP:
public static byte[] redeemResponse() { 
        MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); 

        mplew.writeShort(SendPacketOpcode.CS_OPERATION.getValue()); 
        mplew.write(mplew.write(Operation_Code + 94); 
        mplew.writeInt(0); 
        mplew.write(1); 

        return mplew.getPacket(); 
    }
 
Back
Top