- Хроники
- Interlude
- Исходники
- Присутствуют
- Сборка
- Собственная
Всем привет, начал реализацию панели быстрого доступа, проблема вот в чем, при добавлении на панель действия, все хорошо работает, при добавлении предмета, все хорошо, потом делаю рестарт все отображается хорошо, потом еще раз делаю рестарт и предметы пропадают с панели, а действия все четко отображаются, в списке на сервере предметы есть, клиенту они отправляются без проблем, если на слот, на котором должен быть предмет, добавить новый предмет, предмет не добавляется, как будь-то слот занят.
Использую пакет вот так:
Использую пакет вот так:
Java:
@Override
public void write() {
final ShortCut shortCut = clientSocket.getAccount().getCharacter().getShortCut();
final List<ShortCutTemplate> iconsActive = new ArrayList<>();
for (ShortCutTemplate shortCutTemplate : shortCut.getIcons()) {
if (shortCutTemplate.isActive()) iconsActive.add(shortCutTemplate);
}
writeByte(0x45);
writeInt(iconsActive.size());
for (ShortCutTemplate shortCutTemplate : iconsActive) {
writeInt(shortCutTemplate.getType().getNumber());
writeInt(shortCutTemplate.getSlot() + shortCutTemplate.getPage() * 12);
switch (shortCutTemplate.getType()) {
case ITEM -> {
writeInt(shortCutTemplate.getIdObject());
writeInt(shortCutTemplate.getCharacterType());
writeInt(-1);
writeInt(0x00);
writeInt(0x00);
writeInt(0x00);
}
case SKILL -> {
writeInt(shortCutTemplate.getIdObject());
writeInt(shortCutTemplate.getLevel());
writeInt(0x00);
writeInt(shortCutTemplate.getCharacterType());
}
default -> {
writeInt(shortCutTemplate.getIdObject());
writeInt(shortCutTemplate.getCharacterType());
}
}
}
}