Index: java/net/sf/l2j/gameserver/model/actor/instance/L2BoatInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2BoatInstance.java (revisione 1681) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2BoatInstance.java (copia locale) @@ -503,9 +503,7 @@ if(_cycle == 1) { Collection knownPlayers = getKnownList().getKnownPlayers(); - if (knownPlayers == null || knownPlayers.isEmpty()) - {} - else + if (knownPlayers != null && !knownPlayers.isEmpty()) { _inboat = new FastMap(); int i = 0; @@ -513,22 +511,27 @@ { if(player.isInBoat()) { - L2ItemInstance it; - it = player.getInventory().getItemByItemId(_t1._IdWTicket1); - if((it != null)&&(it.getCount() >= 1)) - { - player.getInventory().destroyItem("Boat", it.getObjectId(), 1, player, this); - InventoryUpdate iu = new InventoryUpdate(); - iu.addModifiedItem(it); - player.sendPacket(iu); - _inboat.put(i,player); - i++; + L2ItemInstance it; + it = player.getInventory().getItemByItemId(_t1._IdWTicket1); + if((it != null)&&(it.getCount() >= 1)) + { + player.getInventory().destroyItem("Boat", it.getObjectId(), 1, player, this); + InventoryUpdate iu = new InventoryUpdate(); + iu.addModifiedItem(it); + player.sendPacket(iu); + _inboat.put(i,player); + i++; + } + else if (it == null && _t1._IdWTicket1 == 0) + { + _inboat.put(i, player); + i++; + } + else + { + player.teleToLocation(_t1._ntx1,_t1._nty1,_t1._ntz1); + } } - else - { - player.teleToLocation(_t1._ntx1,_t1._nty1,_t1._ntz1); - } - } } } Boatrun bc = new Boatrun(0,this); @@ -537,9 +540,7 @@ else if(_cycle == 2) { Collection knownPlayers = getKnownList().getKnownPlayers(); - if (knownPlayers == null || knownPlayers.isEmpty()) - {} - else + if (knownPlayers != null && !knownPlayers.isEmpty()) { _inboat = new FastMap(); int i = 0; @@ -547,25 +548,29 @@ { if(player.isInBoat()) { - L2ItemInstance it; - it = player.getInventory().getItemByItemId(_t2._IdWTicket1); - if((it != null)&&(it.getCount() >= 1)) - { - - player.getInventory().destroyItem("Boat", it.getObjectId(), 1, player, this); - InventoryUpdate iu = new InventoryUpdate(); - iu.addModifiedItem(it); - player.sendPacket(iu); - _inboat.put(i,player); - i++; + L2ItemInstance it; + it = player.getInventory().getItemByItemId(_t2._IdWTicket1); + if((it != null)&&(it.getCount() >= 1)) + { + + player.getInventory().destroyItem("Boat", it.getObjectId(), 1, player, this); + InventoryUpdate iu = new InventoryUpdate(); + iu.addModifiedItem(it); + player.sendPacket(iu); + _inboat.put(i,player); + i++; } - else - { - player.teleToLocation(_t2._ntx1,_t2._nty1,_t2._ntz1); + else if (it == null && _t1._IdWTicket1 == 0) + { + _inboat.put(i, player); + i++; + } + else + { + player.teleToLocation(_t2._ntx1,_t2._nty1,_t2._ntz1); + } } - } } - } Boatrun bc = new Boatrun(0,this); ClientScheduler.getInstance().scheduleLow(bc, 0);