Quickslot Bindings
Added quickslot bindings, courtesy of @shavitush.
This commit is contained in:
@@ -273,6 +273,7 @@ public final class PacketProcessor {
|
||||
registerHandler(RecvOpcode.MOVE_DRAGON, new MoveDragonHandler());
|
||||
registerHandler(RecvOpcode.OPEN_ITEMUI, new RaiseUIStateHandler());
|
||||
registerHandler(RecvOpcode.USE_ITEMUI, new RaiseIncExpHandler());
|
||||
registerHandler(RecvOpcode.CHANGE_QUICKSLOT, new QuickslotKeyMappedModifiedHandler());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -173,6 +173,7 @@ public enum RecvOpcode {
|
||||
DAMAGE_SUMMON(0xB1),
|
||||
BEHOLDER(0xB2),
|
||||
MOVE_DRAGON(0xB5),
|
||||
CHANGE_QUICKSLOT(0xB7),//CP_QuickslotKeyMappedModified
|
||||
MOVE_LIFE(0xBC),
|
||||
AUTO_AGGRO(0xBD),
|
||||
FIELD_DAMAGE_MOB(0xBF),
|
||||
@@ -202,6 +203,7 @@ public enum RecvOpcode {
|
||||
MTS_OPERATION(0xFD),
|
||||
USE_MAPLELIFE(0x100),
|
||||
USE_HAMMER(0x104);
|
||||
|
||||
private int code = -2;
|
||||
|
||||
private RecvOpcode(int code) {
|
||||
|
||||
@@ -188,6 +188,7 @@ public enum SendOpcode {
|
||||
ARIANT_ARENA_SHOW_RESULT(0x9B),
|
||||
PYRAMID_GAUGE(0x9D),
|
||||
PYRAMID_SCORE(0x9E),
|
||||
QUICKSLOT_INIT(0x9F),//LP_QuickslotMappedInit
|
||||
SPAWN_PLAYER(0xA0),
|
||||
REMOVE_PLAYER_FROM_MAP(0xA1),
|
||||
CHATTEXT(0xA2), //0
|
||||
|
||||
@@ -23,7 +23,7 @@ package net.server.channel.handlers;
|
||||
|
||||
import constants.game.GameConstants;
|
||||
import client.MapleClient;
|
||||
import client.MapleKeyBinding;
|
||||
import client.keybind.MapleKeyBinding;
|
||||
import client.Skill;
|
||||
import client.SkillFactory;
|
||||
import client.autoban.AutobanFactory;
|
||||
|
||||
@@ -53,7 +53,7 @@ import client.MapleClient;
|
||||
import client.MapleDisease;
|
||||
import client.MapleFamily;
|
||||
import client.MapleFamilyEntry;
|
||||
import client.MapleKeyBinding;
|
||||
import client.keybind.MapleKeyBinding;
|
||||
import client.MapleMount;
|
||||
import client.SkillFactory;
|
||||
import client.inventory.Equip;
|
||||
@@ -239,6 +239,7 @@ public final class PlayerLoggedinHandler extends AbstractMaplePacketHandler {
|
||||
}
|
||||
}
|
||||
player.sendKeymap();
|
||||
player.sendQuickmap();
|
||||
player.sendMacros();
|
||||
|
||||
// pot bindings being passed through other characters on the account detected thanks to Croosade dev team
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package net.server.channel.handlers;
|
||||
|
||||
import client.MapleClient;
|
||||
import client.keybind.MapleQuickslotBinding;
|
||||
import net.AbstractMaplePacketHandler;
|
||||
import tools.data.input.SeekableLittleEndianAccessor;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Shavit
|
||||
*/
|
||||
public class QuickslotKeyMappedModifiedHandler extends AbstractMaplePacketHandler
|
||||
{
|
||||
@Override
|
||||
public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c)
|
||||
{
|
||||
// Invalid size for the packet.
|
||||
if(slea.available() != MapleQuickslotBinding.QUICKSLOT_SIZE * Integer.BYTES ||
|
||||
// not logged in-game
|
||||
c.getPlayer() == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
byte[] aQuickslotKeyMapped = new byte[MapleQuickslotBinding.QUICKSLOT_SIZE];
|
||||
|
||||
for(int i = 0; i < MapleQuickslotBinding.QUICKSLOT_SIZE; i++)
|
||||
{
|
||||
aQuickslotKeyMapped[i] = (byte) slea.readInt();
|
||||
}
|
||||
|
||||
c.getPlayer().m_pQuickslotKeyMapped = new MapleQuickslotBinding(aQuickslotKeyMapped);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user