瀏覽代碼

BETA: Support for PeaceZone in Boats.

MELERIX 12 年之前
父節點
當前提交
8cd141e4e6

+ 6 - 5
L2J_Server_BETA/java/com/l2jserver/gameserver/network/clientpackets/RequestGetOffVehicle.java

@@ -14,6 +14,7 @@
  */
 package com.l2jserver.gameserver.network.clientpackets;
 
+import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
 import com.l2jserver.gameserver.network.serverpackets.GetOffVehicle;
@@ -42,11 +43,10 @@ public final class RequestGetOffVehicle extends L2GameClientPacket
 	{
 		final L2PcInstance activeChar = getClient().getActiveChar();
 		if (activeChar == null)
+		{
 			return;
-		if (!activeChar.isInBoat()
-				|| activeChar.getBoat().getObjectId() != _boatId
-				|| activeChar.getBoat().isMoving()
-				|| !activeChar.isInsideRadius(_x, _y, _z, 1000, true, false))
+		}
+		if (!activeChar.isInBoat() || (activeChar.getBoat().getObjectId() != _boatId) || activeChar.getBoat().isMoving() || !activeChar.isInsideRadius(_x, _y, _z, 1000, true, false))
 		{
 			sendPacket(ActionFailed.STATIC_PACKET);
 			return;
@@ -57,7 +57,8 @@ public final class RequestGetOffVehicle extends L2GameClientPacket
 		activeChar.setInVehiclePosition(null);
 		sendPacket(ActionFailed.STATIC_PACKET);
 		activeChar.broadcastPacket(new GetOffVehicle(activeChar.getObjectId(), _boatId, _x, _y, _z));
-		activeChar.setXYZ(_x, _y, _z + 50);
+		activeChar.setXYZ(_x, _y, _z);
+		activeChar.setInsideZone(L2Character.ZONE_PEACE, false);
 		activeChar.revalidateZone(true);
 	}
 	

+ 5 - 5
L2J_Server_BETA/java/com/l2jserver/gameserver/network/clientpackets/RequestGetOnVehicle.java

@@ -15,6 +15,7 @@
 package com.l2jserver.gameserver.network.clientpackets;
 
 import com.l2jserver.gameserver.instancemanager.BoatManager;
+import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.instance.L2BoatInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
@@ -23,7 +24,6 @@ import com.l2jserver.gameserver.util.Point3D;
 
 /**
  * This class ...
- *
  * @version $Revision: 1.1.4.3 $ $Date: 2005/03/27 15:29:30 $
  */
 public final class RequestGetOnVehicle extends L2GameClientPacket
@@ -49,7 +49,9 @@ public final class RequestGetOnVehicle extends L2GameClientPacket
 	{
 		final L2PcInstance activeChar = getClient().getActiveChar();
 		if (activeChar == null)
+		{
 			return;
+		}
 		
 		L2BoatInstance boat;
 		if (activeChar.isInBoat())
@@ -64,21 +66,19 @@ public final class RequestGetOnVehicle extends L2GameClientPacket
 		else
 		{
 			boat = BoatManager.getInstance().getBoat(_boatId);
-			if (boat == null
-					|| boat.isMoving()
-					|| !activeChar.isInsideRadius(boat, 1000, true, false))
+			if ((boat == null) || boat.isMoving() || !activeChar.isInsideRadius(boat, 1000, true, false))
 			{
 				sendPacket(ActionFailed.STATIC_PACKET);
 				return;
 			}
 		}
 		
-		
 		activeChar.setInVehiclePosition(_pos);
 		activeChar.setVehicle(boat);
 		activeChar.broadcastPacket(new GetOnVehicle(activeChar.getObjectId(), boat.getObjectId(), _pos));
 		
 		activeChar.setXYZ(boat.getX(), boat.getY(), boat.getZ());
+		activeChar.setInsideZone(L2Character.ZONE_PEACE, true);
 		activeChar.revalidateZone(true);
 	}