This is for increasing Character / Storage Slots via Cash Shop (old) and for showing the current amount of slots when hovering with the mouse (new I guess).
World based character slots
http://forum.gamezstorm.info/showthread.php?t=169
Open MapleStorage.java and add
World based character slots
http://forum.gamezstorm.info/showthread.php?t=169
Open MapleStorage.java and add
- Code:
public byte getSlots() {
return slots;
}
public void gainSlots(byte gain) {
slots += gain;
}
- Code:
if (action == 7) { // Storage Slots
slea.skip(1);
int useNX = slea.readByte();
if (c.getPlayer().getCSPoints(useNX) < 4000) {
c.getSession().write(MaplePacketCreator.enableCSUse0());
c.getSession().write(MaplePacketCreator.enableCSUse1(c));
c.getSession().write(MaplePacketCreator.enableCSUse2());
c.getSession().write(MaplePacketCreator.enableActions());
return;
}
if (c.getPlayer().getStorage().getSlots() <= 44) {
c.getPlayer().modifyCSPoints(useNX, -4000);
c.getPlayer().getStorage().gainSlots((byte) 4);
}
c.getSession().write(MaplePacketCreator.showNXMapleTokens(c.getPlayer()));
c.getSession().write(MaplePacketCreator.enableCSUse0());
c.getSession().write(MaplePacketCreator.enableCSUse1(c));
c.getSession().write(MaplePacketCreator.enableCSUse2());
c.getSession().write(MaplePacketCreator.enableActions());
} else if (action == 8) { // Character Slots
slea.skip(1);
int useNX = slea.readInt();
int snCS = slea.readInt();
CashItemInfo item = CashItemFactory.getItem(snCS);
if (c.getPlayer().getCSPoints(useNX) < item.getPrice()) {
c.getSession().write(MaplePacketCreator.enableCSUse0());
c.getSession().write(MaplePacketCreator.enableCSUse1(c));
c.getSession().write(MaplePacketCreator.enableCSUse2());
c.getSession().write(MaplePacketCreator.enableActions());
return;
}
if (c.getCSlots() < 6) {
c.gainCSlot();
c.getPlayer().modifyCSPoints(useNX, -item.getPrice());
}
c.getSession().write(MaplePacketCreator.showNXMapleTokens(c.getPlayer()));
c.getSession().write(MaplePacketCreator.enableCSUse0());
c.getSession().write(MaplePacketCreator.enableCSUse1(c));
c.getSession().write(MaplePacketCreator.enableCSUse2());
c.getSession().write(MaplePacketCreator.enableActions());
}
- Code:
public static MaplePacket enableCSUse1(MapleClient c) {
MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
mplew.writeShort(SendPacketOpcode.CS_OPERATION.getValue());
mplew.writeShort(0x2F);
mplew.write(0);
mplew.writeShort(c.getPlayer().getStorage().getSlots());
mplew.writeShort(c.getCSlots());
return mplew.getPacket();
}
- Code:
enableCSUse1(c)