Bläddra i källkod

Game time fix - tnx L2Jfree

nBd 17 år sedan
förälder
incheckning
4007dde747

+ 5 - 0
L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java

@@ -52,6 +52,7 @@ import net.sf.l2j.gameserver.model.entity.TvTEvent;
 import net.sf.l2j.gameserver.model.quest.Quest;
 import net.sf.l2j.gameserver.model.quest.QuestState;
 import net.sf.l2j.gameserver.network.SystemMessageId;
+import net.sf.l2j.gameserver.serverpackets.ClientSetTime;
 import net.sf.l2j.gameserver.serverpackets.Die;
 import net.sf.l2j.gameserver.serverpackets.EtcStatusUpdate;
 import net.sf.l2j.gameserver.serverpackets.ExBasicActionList;
@@ -239,6 +240,10 @@ public class EnterWorld extends L2GameClientPacket
         
         sendPacket(new SystemMessage(SystemMessageId.WELCOME_TO_LINEAGE));
 
+        // Send client time
+		ClientSetTime cst = new ClientSetTime();
+		sendPacket(cst);
+
         activeChar.sendMessage(getText("VGhpcyBzZXJ2ZXIgdXNlcyBMMkosIGEgcHJvamVjdCBmb3VuZGVkIGJ5IEwyQ2hlZg==\n")); 
         activeChar.sendMessage(getText("YW5kIGRldmVsb3BlZCBieSB0aGUgTDJKIERldiBUZWFtIGF0IGwyanNlcnZlci5jb20=\n")); 
 

+ 39 - 0
L2_GameServer/java/net/sf/l2j/gameserver/serverpackets/ClientSetTime.java

@@ -0,0 +1,39 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package net.sf.l2j.gameserver.serverpackets;
+
+import net.sf.l2j.gameserver.GameTimeController;
+
+public class ClientSetTime extends L2GameServerPacket
+{
+	private static final String _S__EC_CLIENTSETTIME = "[S] f2 ClientSetTime [dd]";
+
+	@Override
+	protected final void writeImpl()
+	{
+		writeC(0xf2);
+        writeD(GameTimeController.getInstance().getGameTime()); // time in client minutes
+        writeD(6); //constant to match the server time( this determines the speed of the client clock)
+	}
+
+	/* (non-Javadoc)
+	 * @see net.sf.l2j.gameserver.serverpackets.ServerBasePacket#getType()
+	 */
+	@Override
+	public String getType()
+	{
+		return _S__EC_CLIENTSETTIME;
+	}
+}