浏览代码

BETA: Added 3 system properties '''noquests''', '''nohandlers''', '''nospawns'''.
* Fixed some invisibility issues.
* Reported by: Gries, Tavo22, l2gang, thorl2

Nos 11 年之前
父节点
当前提交
93a1fc4b32

+ 3 - 3
L2J_Server_BETA/java/com/l2jserver/Config.java

@@ -1782,9 +1782,9 @@ public final class Config
 			PACKET_HANDLER_DEBUG = General.getBoolean("PacketHandlerDebug", false);
 			DEVELOPER = General.getBoolean("Developer", false);
 			ACCEPT_GEOEDITOR_CONN = General.getBoolean("AcceptGeoeditorConn", false);
-			ALT_DEV_NO_HANDLERS = General.getBoolean("AltDevNoHandlers", false);
-			ALT_DEV_NO_QUESTS = General.getBoolean("AltDevNoQuests", false);
-			ALT_DEV_NO_SPAWNS = General.getBoolean("AltDevNoSpawns", false);
+			ALT_DEV_NO_HANDLERS = General.getBoolean("AltDevNoHandlers", false) || Boolean.getBoolean("nohandlers");
+			ALT_DEV_NO_QUESTS = General.getBoolean("AltDevNoQuests", false) || Boolean.getBoolean("noquests");
+			ALT_DEV_NO_SPAWNS = General.getBoolean("AltDevNoSpawns", false) || Boolean.getBoolean("nospawns");
 			THREAD_P_EFFECTS = General.getInt("ThreadPoolSizeEffects", 10);
 			THREAD_P_GENERAL = General.getInt("ThreadPoolSizeGeneral", 13);
 			IO_PACKET_THREAD_CORE_SIZE = General.getInt("UrgentPacketThreadCoreSize", 2);

+ 4 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/appearance/PcAppearance.java

@@ -19,6 +19,8 @@
 package com.l2jserver.gameserver.model.actor.appearance;
 
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.network.serverpackets.DeleteObject;
+import com.l2jserver.gameserver.util.Broadcast;
 
 public class PcAppearance
 {
@@ -156,11 +158,13 @@ public class PcAppearance
 	public void setInvisible()
 	{
 		_invisible = true;
+		Broadcast.toKnownPlayers(_owner, new DeleteObject(_owner));
 	}
 	
 	public void setVisible()
 	{
 		_invisible = false;
+		_owner.broadcastUserInfo();
 	}
 	
 	public boolean getInvisible()

+ 11 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java

@@ -9802,8 +9802,11 @@ public final class L2PcInstance extends L2Playable
 		getAppearance().setInvisible();
 		// sendPacket(new GMHide(1));
 		sendPacket(new ObservationMode(loc));
-		getKnownList().removeAllKnownObjects(); // reinit knownlist
+		
+		decayMe();
 		setLocation(loc);
+		spawnMe();
+		
 		broadcastUserInfo();
 	}
 	
@@ -9865,8 +9868,13 @@ public final class L2PcInstance extends L2Playable
 	public void leaveObserverMode()
 	{
 		setTarget(null);
-		getKnownList().removeAllKnownObjects(); // reinit knownlist
+		
+		decayMe();
 		setLocation(_lastLoc);
+		unsetLastLocation();
+		sendPacket(new ObservationReturn(getLocation()));
+		spawnMe();
+		
 		setIsParalyzed(false);
 		if (!isGM())
 		{
@@ -9880,8 +9888,7 @@ public final class L2PcInstance extends L2Playable
 		
 		setFalling(); // prevent receive falling damage
 		_observerMode = false;
-		sendPacket(new ObservationReturn(getLocation()));
-		unsetLastLocation();
+		
 		broadcastUserInfo();
 	}