public static void addFlagToPlayer(L2PcInstance _player)
{
//remove items from the player hands (right, left, both)
// This is NOT a BUG, I don't want them to see the icon they have 8D
L2ItemInstance wpn = _player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);
if (wpn == null)
{
wpn = _player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);
if (wpn != null)
_player.getInventory().unEquipItemInBodySlotAndRecord(Inventory.PAPERDOLL_RHAND);
}
else
{
_player.getInventory().unEquipItemInBodySlotAndRecord(Inventory.PAPERDOLL_RHAND);
wpn = _player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LHAND);
if (wpn != null)
_player.getInventory().unEquipItemInBodySlotAndRecord(Inventory.PAPERDOLL_LHAND);
}
//add the flag in his hands
_player.getInventory().equipItem(ItemTable.getInstance().createItem("", CTF._FLAG_IN_HAND_ITEM_ID, 1, _player, null));
_player.broadcastPacket(new SocialAction(_player.getObjectId(), 16)); //amazing glow
_player._haveFlagCTF = true;
_player.broadcastUserInfo();
_player.sendPacket(new CreatureSay(_player.getObjectId(), 15, ":", "You got it! Run back! ::")); // 8D
}
public static void removeFlagFromPlayer(L2PcInstance player)
{
final L2ItemInstance wpn = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);
player._haveFlagCTF = false;
if (wpn != null)
{
final L2ItemInstance[] unequiped = player.getInventory().unEquipItemInBodySlotAndRecord(wpn.getItem().getBodyPart());
player.getInventory().destroyItemByItemId("", CTF._FLAG_IN_HAND_ITEM_ID, 1, player, null);
InventoryUpdate iu = new InventoryUpdate();
for (L2ItemInstance element : unequiped)
iu.addModifiedItem(element);
player.sendPacket(iu);
player.sendPacket(new ItemList(player, true)); // get your weapon back now ...
player.abortAttack();
player.broadcastUserInfo();
}
else
{
player.getInventory().destroyItemByItemId("", CTF._FLAG_IN_HAND_ITEM_ID, 1, player, null);
player.sendPacket(new ItemList(player, true)); // get your weapon back now ...
player.abortAttack();
player.broadcastUserInfo();
}
}
I believe these files have errors. When players start switching subclasses, the server freezes and closes on its own. I was told it's a problem with the skills. Perhaps this error still exists. no?
Question
l2redkiller
i got some errors in ctf event engine :
thannkss for help
if need the code :
public static void addFlagToPlayer(L2PcInstance _player) { //remove items from the player hands (right, left, both) // This is NOT a BUG, I don't want them to see the icon they have 8D L2ItemInstance wpn = _player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND); if (wpn == null) { wpn = _player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND); if (wpn != null) _player.getInventory().unEquipItemInBodySlotAndRecord(Inventory.PAPERDOLL_RHAND); } else { _player.getInventory().unEquipItemInBodySlotAndRecord(Inventory.PAPERDOLL_RHAND); wpn = _player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LHAND); if (wpn != null) _player.getInventory().unEquipItemInBodySlotAndRecord(Inventory.PAPERDOLL_LHAND); } //add the flag in his hands _player.getInventory().equipItem(ItemTable.getInstance().createItem("", CTF._FLAG_IN_HAND_ITEM_ID, 1, _player, null)); _player.broadcastPacket(new SocialAction(_player.getObjectId(), 16)); //amazing glow _player._haveFlagCTF = true; _player.broadcastUserInfo(); _player.sendPacket(new CreatureSay(_player.getObjectId(), 15, ":", "You got it! Run back! ::")); // 8D } public static void removeFlagFromPlayer(L2PcInstance player) { final L2ItemInstance wpn = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND); player._haveFlagCTF = false; if (wpn != null) { final L2ItemInstance[] unequiped = player.getInventory().unEquipItemInBodySlotAndRecord(wpn.getItem().getBodyPart()); player.getInventory().destroyItemByItemId("", CTF._FLAG_IN_HAND_ITEM_ID, 1, player, null); InventoryUpdate iu = new InventoryUpdate(); for (L2ItemInstance element : unequiped) iu.addModifiedItem(element); player.sendPacket(iu); player.sendPacket(new ItemList(player, true)); // get your weapon back now ... player.abortAttack(); player.broadcastUserInfo(); } else { player.getInventory().destroyItemByItemId("", CTF._FLAG_IN_HAND_ITEM_ID, 1, player, null); player.sendPacket(new ItemList(player, true)); // get your weapon back now ... player.abortAttack(); player.broadcastUserInfo(); } }14 answers to this question
Recommended Posts