Сообщений: 666
Тем: 15
Зарегистрирован: Aug 2014
Репутация:
1,790
12-10-2014, 03:44 PM
(Сообщение последний раз редактировалось: 12-10-2014, 03:57 PM Influence.)
Mifesto Написал:А пакетик покажите? может у вас не так сформирован? ибо у меня н аэтом патче было все в порядке.
ExUserInfoEquipSlot
Код: package lineage2.gameserver.network.serverpackets.dynamic;
import lineage2.gameserver.model.Player;
import lineage2.gameserver.model.items.Inventory;
import lineage2.gameserver.network.serverpackets.L2GameServerPacket;
/**
* Created by User on 28.08.14.
*/
public class ExUserInfoEquipSlot extends L2GameServerPacket
{
private int _objectId;
private int[][] _inv;
public ExUserInfoEquipSlot(Player player)
{
_objectId = player.getObjectId();
_inv = new int[Inventory.PAPERDOLL_MAX][5];
for(int PAPERDOLL_ID : Inventory.PAPERDOLL_ORDER)
{
_inv[PAPERDOLL_ID][0] = player.getInventory().getPaperdollObjectId(PAPERDOLL_ID);
_inv[PAPERDOLL_ID][1] = player.getInventory().getPaperdollItemId(PAPERDOLL_ID);
_inv[PAPERDOLL_ID][2] = player.getInventory().getPaperdollAugmentationId(PAPERDOLL_ID); // ??
_inv[PAPERDOLL_ID][3] = player.getInventory().getPaperdollAugmentationId(PAPERDOLL_ID); //enchant???
_inv[PAPERDOLL_ID][4] = player.getInventory().getVisualItemId(PAPERDOLL_ID);
}
}
@Override
protected final void writeImpl()
{
writeEx(0x15D);
writeD(_objectId);
writeH(33);
writeB(new byte[]{(byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF});
for(int[] inv : _inv)
{
writeH(18); // size
writeD(inv[0]); // item ObjID
writeD(inv[1]); // item ID
writeH(inv[2]); // variation ID 1 (augment)
writeH(inv[3]); // variation ID 2 (augment)
writeD(inv[4]); // visual ID
}
}
}
Добавлено через 5 минут
Этот патч конечно не колупал, но в предыдущем, если через пакетник отправлял ExUserInfoEquipSlot с забитыми нулями вместо верха(все остальные итемы были), то визуально пропадало и все остальное.
Проверял так же снятие других вещей, проблемы такой нету, все снимается по отдельности. И на месте снятой вещи в пакете идут нули. Размер пакетов что с верхом что без, один и тот же, так же как и структура, только вот результат разный.
Добавлено через 10 минут
silvermain Написал:В обсчем и целом, проверил все опкоды сервер пакетов, всё сходиться, но, нету стрелки квестовой, и квест лист постоянно пустой, и на карте нет отображения квестовых NPC (квест SupplyCheck - начало от Маркелы) (хотя сервер показывает что квест я взял...)
RequestQuestList 0x62
PHP код: <?php
public final class RequestQuestList extends L2GameClientPacket
{
private static final String _C__62_REQUESTQUESTLIST = "[C] 62 RequestQuestList";
@Override
protected void readImpl()
{
// trigger
}
@Override
protected void runImpl()
{
QuestList ql = new QuestList();
sendPacket(ql);
}
@Override
public String getType()
{
return _C__62_REQUESTQUESTLIST;
}
}
QuestList
PHP код: <?php
public class QuestList extends L2GameServerPacket
{
private Quest[] _quests;
private L2PcInstance _activeChar;
public QuestList()
{
}
@Override
public void runImpl()
{
if ((getClient() != null) && (getClient().getActiveChar() != null))
{
_activeChar = getClient().getActiveChar();
_quests = _activeChar.getAllActiveQuests();
}
}
@Override
protected final void writeImpl()
{
writeC(0x86);
if (_quests != null)
{
writeH(_quests.length);
for (Quest q : _quests)
{
writeD(q.getId());
QuestState qs = _activeChar.getQuestState(q.getName());
if (qs == null)
{
writeD(0);
continue;
}
int states = qs.getInt("__compltdStateFlags");
if (states != 0)
{
writeD(states);
}
else
{
writeD(qs.getInt("cond"));
}
}
}
else
{
// write empty size
writeH(0x00);
}
writeB(new byte[128]);
}
}
Берешь, компилишь эртею ту что я сбрасывал, заходишь, смотришь что тебе нужно(если работает), смотришь какой пакет идет на сборке где работает, и на твоем сервере смотришь идет ли он вообще, если у тебя не приходит пакет, значит где то не добавлена его отправка(смотришь в рабочих исходниках и сравниваешь с своими).
Сообщений: 102
Тем: 0
Зарегистрирован: Dec 2012
Репутация:
139
12-10-2014, 04:10 PM
(Сообщение последний раз редактировалось: 12-10-2014, 04:12 PM silvermain.)
спойлер
Influence Написал:
ExUserInfoEquipSlot
Код: package lineage2.gameserver.network.serverpackets.dynamic;
import lineage2.gameserver.model.Player;
import lineage2.gameserver.model.items.Inventory;
import lineage2.gameserver.network.serverpackets.L2GameServerPacket;
/**
* Created by User on 28.08.14.
*/
public class ExUserInfoEquipSlot extends L2GameServerPacket
{
private int _objectId;
private int[][] _inv;
public ExUserInfoEquipSlot(Player player)
{
_objectId = player.getObjectId();
_inv = new int[Inventory.PAPERDOLL_MAX][5];
for(int PAPERDOLL_ID : Inventory.PAPERDOLL_ORDER)
{
_inv[PAPERDOLL_ID][0] = player.getInventory().getPaperdollObjectId(PAPERDOLL_ID);
_inv[PAPERDOLL_ID][1] = player.getInventory().getPaperdollItemId(PAPERDOLL_ID);
_inv[PAPERDOLL_ID][2] = player.getInventory().getPaperdollAugmentationId(PAPERDOLL_ID); // ??
_inv[PAPERDOLL_ID][3] = player.getInventory().getPaperdollAugmentationId(PAPERDOLL_ID); //enchant???
_inv[PAPERDOLL_ID][4] = player.getInventory().getVisualItemId(PAPERDOLL_ID);
}
}
@Override
protected final void writeImpl()
{
writeEx(0x15D);
writeD(_objectId);
writeH(33);
writeB(new byte[]{(byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF});
for(int[] inv : _inv)
{
writeH(18); // size
writeD(inv[0]); // item ObjID
writeD(inv[1]); // item ID
writeH(inv[2]); // variation ID 1 (augment)
writeH(inv[3]); // variation ID 2 (augment)
writeD(inv[4]); // visual ID
}
}
}
Добавлено через 5 минут
Этот патч конечно не колупал, но в предыдущем, если через пакетник отправлял ExUserInfoEquipSlot с забитыми нулями вместо верха(все остальные итемы были), то визуально пропадало и все остальное.
Проверял так же снятие других вещей, проблемы такой нету, все снимается по отдельности. И на месте снятой вещи в пакете идут нули. Размер пакетов что с верхом что без, один и тот же, так же как и структура, только вот результат разный.
Добавлено через 10 минут
Берешь, компилишь эртею ту что я сбрасывал, заходишь, смотришь что тебе нужно(если работает), смотришь какой пакет идет на сборке где работает, и на твоем сервере смотришь идет ли он вообще, если у тебя не приходит пакет, значит где то не добавлена его отправка(смотришь в рабочих исходниках и сравниваешь с своими).
вот пакет, с ним всегда всё работало
ExUserInfoEquipSlot
PHP код: <?php
package com.l2jserver.gameserver.network.serverpackets;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.itemcontainer.Inventory;
/**
* Created by silver on 05.12.2014.
*/
public class ExUserInfoEquipSlot extends L2GameServerPacket
{
private final L2PcInstance _activeChar;
private final int _airShipHelm;
public ExUserInfoEquipSlot(L2PcInstance activeChar)
{
_activeChar = activeChar;
if (_activeChar.isInAirShip() && _activeChar.getAirShip().isCaptain(_activeChar))
{
_airShipHelm = _activeChar.getAirShip().getHelmItemId();
}
else
{
_airShipHelm = 0;
}
}
protected final void writeImpl()
{
writeC(0xFE);
writeH(0x156);
writeD(_activeChar.getObjectId());
writeH(33);
writeD(-1);
writeC(255);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_UNDER));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_UNDER));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_UNDER));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_REAR));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_REAR));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_REAR));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEAR));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_LEAR));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_LEAR));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_NECK));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_NECK));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_NECK));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RFINGER));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_RFINGER));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_RFINGER));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LFINGER));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_LFINGER));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_LFINGER));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HEAD));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_HEAD));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_HEAD));
writeD(0);
if (_airShipHelm == 0)
{
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_RHAND));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LHAND));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_LHAND));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_LHAND));
writeD(0);
}
else
{
writeH(18);
writeD(_airShipHelm);
writeD(0);
writeD(0);
writeD(0);
writeH(18);
writeD(0);
writeD(0);
writeD(0);
writeD(0);
}
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_GLOVES));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_GLOVES));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_GLOVES));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_CHEST));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_CHEST));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_CHEST));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEGS));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_LEGS));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_LEGS));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_FEET));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_FEET));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_FEET));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_CLOAK));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_CLOAK));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_CLOAK));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_RHAND));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HAIR));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_HAIR));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_HAIR));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HAIR2));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_HAIR2));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_HAIR2));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RBRACELET));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_RBRACELET));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_RBRACELET));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LBRACELET));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_LBRACELET));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_LBRACELET));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_DECO1));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_DECO1));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO1));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_DECO2));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_DECO2));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO2));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_DECO3));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_DECO3));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO3));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_DECO4));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_DECO4));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO4));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_DECO5));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_DECO5));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO5));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_DECO6));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_DECO6));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO6));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_BELT));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_BELT));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_BELT));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_BROACH));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_BROACH));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_BROACH));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_STONE1));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_STONE1));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_STONE1));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_STONE2));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_STONE2));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_STONE2));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_STONE3));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_STONE3));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_STONE3));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_STONE4));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_STONE4));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_STONE4));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_STONE5));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_STONE5));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_STONE5));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_STONE6));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_STONE6));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_STONE6));
writeD(0);
}
}
начиная с Epeisodion я ничего в нём не менял кроме опкода
Сообщений: 666
Тем: 15
Зарегистрирован: Aug 2014
Репутация:
1,790
silvermain Написал:
вот пакет, с ним всегда всё работало
ExUserInfoEquipSlot
PHP код: <?php
package com.l2jserver.gameserver.network.serverpackets;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.itemcontainer.Inventory;
/**
* Created by silver on 05.12.2014.
*/
public class ExUserInfoEquipSlot extends L2GameServerPacket
{
private final L2PcInstance _activeChar;
private final int _airShipHelm;
public ExUserInfoEquipSlot(L2PcInstance activeChar)
{
_activeChar = activeChar;
if (_activeChar.isInAirShip() && _activeChar.getAirShip().isCaptain(_activeChar))
{
_airShipHelm = _activeChar.getAirShip().getHelmItemId();
}
else
{
_airShipHelm = 0;
}
}
protected final void writeImpl()
{
writeC(0xFE);
writeH(0x156);
writeD(_activeChar.getObjectId());
writeH(33);
writeD(-1);
writeC(255);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_UNDER));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_UNDER));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_UNDER));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_REAR));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_REAR));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_REAR));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEAR));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_LEAR));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_LEAR));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_NECK));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_NECK));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_NECK));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RFINGER));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_RFINGER));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_RFINGER));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LFINGER));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_LFINGER));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_LFINGER));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HEAD));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_HEAD));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_HEAD));
writeD(0);
if (_airShipHelm == 0)
{
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_RHAND));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LHAND));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_LHAND));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_LHAND));
writeD(0);
}
else
{
writeH(18);
writeD(_airShipHelm);
writeD(0);
writeD(0);
writeD(0);
writeH(18);
writeD(0);
writeD(0);
writeD(0);
writeD(0);
}
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_GLOVES));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_GLOVES));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_GLOVES));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_CHEST));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_CHEST));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_CHEST));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEGS));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_LEGS));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_LEGS));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_FEET));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_FEET));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_FEET));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_CLOAK));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_CLOAK));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_CLOAK));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_RHAND));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HAIR));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_HAIR));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_HAIR));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HAIR2));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_HAIR2));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_HAIR2));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RBRACELET));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_RBRACELET));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_RBRACELET));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LBRACELET));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_LBRACELET));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_LBRACELET));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_DECO1));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_DECO1));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO1));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_DECO2));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_DECO2));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO2));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_DECO3));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_DECO3));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO3));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_DECO4));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_DECO4));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO4));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_DECO5));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_DECO5));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO5));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_DECO6));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_DECO6));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO6));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_BELT));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_BELT));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_BELT));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_BROACH));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_BROACH));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_BROACH));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_STONE1));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_STONE1));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_STONE1));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_STONE2));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_STONE2));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_STONE2));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_STONE3));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_STONE3));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_STONE3));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_STONE4));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_STONE4));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_STONE4));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_STONE5));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_STONE5));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_STONE5));
writeD(0);
writeH(18);
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_STONE6));
writeD(_activeChar.getInventory().getPaperdollItemDisplayId(Inventory.PAPERDOLL_STONE6));
writeD(_activeChar.getInventory().getPaperdollAugmentationId(Inventory.PAPERDOLL_STONE6));
writeD(0);
}
}
начиная с Epeisodion я ничего в нём не менял кроме опкодаПо сути одно и тоже, ObjectId и DisplayId идут в D, аугумент в шмотках не отсылается, так что один фиг как слать нули.
Сообщений: 466
Тем: 10
Зарегистрирован: Dec 2012
Репутация:
398
Influence Написал:По сути одно и тоже, ObjectId и DisplayId идут в D, аугумент в шмотках не отсылается, так что один фиг как слать нули.
Аугмент не отсылается, потому что ты отсылаешь 2 одинаковых двухбайтовых значения. Отсылай аугмент пока одной D.
Сообщений: 666
Тем: 15
Зарегистрирован: Aug 2014
Репутация:
1,790
12-10-2014, 05:59 PM
(Сообщение последний раз редактировалось: 12-10-2014, 06:00 PM Influence.)
Warencense Написал:Аугмент не отсылается, потому что ты отсылаешь 2 одинаковых двухбайтовых значения. Отсылай аугмент пока одной D.
а разница? отослать два двухбайтовых, и один четырехбайтный, или же два четырехбайтный если там нули?
Добавлено через 1 минуту
у меня проблема не в аугументе, а в том, что если снять верх, визуально пропадает весь шмот с чара
Сообщений: 441
Тем: 15
Зарегистрирован: Oct 2012
Репутация:
3,319
Influence Написал:а разница? отослать два двухбайтовых, и один четырехбайтный, или же два четырехбайтный если там нули?
Добавлено через 1 минуту
у меня проблема не в аугументе, а в том, что если снять верх, визуально пропадает весь шмот с чара Но Вы же не пробовали его патч
Может у кого-нибудь еще и опкоды 558 протокола запылились? :redlol:
Сообщений: 666
Тем: 15
Зарегистрирован: Aug 2014
Репутация:
1,790
elastic Написал:Но Вы же не пробовали его патч
Может у кого-нибудь еще и опкоды 558 протокола запылились? :redlol:
Я попробовал патч Mifesto, тоже что и с твоим патчем, не работает пакет ExUserInfoEquipSlot
Сообщений: 102
Тем: 0
Зарегистрирован: Dec 2012
Репутация:
139
elastic Написал:Но Вы же не пробовали его патч
Может у кого-нибудь еще и опкоды 558 протокола запылились? :redlol:
к сожелению запылились только 575 протокола
Сообщений: 666
Тем: 15
Зарегистрирован: Aug 2014
Репутация:
1,790
elastic Написал:Но Вы же не пробовали его патч
Может у кого-нибудь еще и опкоды 558 протокола запылились? :redlol:
l2format
info
под прелюд пакеты не найдешь ? тогда на помошь может прийти l2format
форматы хранятся в энджин или если есть нетворк (ц0-ц1) дллках
в случае если энджин является пакнутым, пакеты можно получить с процесса (достаточно просто запустить клиент до лобби без гг). любая защита и менеджеры игр должны быть выключены. в любом случае всегда есть шанс что забанят.
работает с ц0 до эпейсодиона
- что бы аварийно остановить программу жмите эскейп (нельзя при генерации с процесса!)
- если залагало перетягивание мышкой жмите эскейп
- имена пакетов опкоды и форматы могут быть с ошибками
- если опкод выходит за свои естественные пределы, это означает что в пакете участвуют в начале пакета неизменяемые данные, что тоже можно считать опкодом, проверяя по формату
- пробел в формате означает что было какое то разделение при сборке. блок формата может быть зациклен. так же мог быть схвачен формат следующего по коду пакета (или его модицикации, под одним опкодом может быть несколько пакетов с разным действием)
- в пакетах могут быть пакеты не относящиеся к гс (лс и тд)
by 01000000
если есть 558 систем, то можно быстро вытянуть все что нужно
Сообщений: 527
Тем: 17
Зарегистрирован: Oct 2010
Репутация:
1,919
elastic Написал:Но Вы же не пробовали его патч
Может у кого-нибудь еще и опкоды 558 протокола запылились? :redlol:
опкоды достать не проблема, вот структуру будет проблематичнее...
|