ソースを参照

Tutorial fix.

_DS_ 15 年 前
コミット
bcb9d7955c

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/L2ItemInstance.java

@@ -248,7 +248,7 @@ public final class L2ItemInstance extends L2Object
         	ItemsOnGroundManager.getInstance().removeObject(this);
         }
         
-        if (itemId == 57 || itemId == 6353)
+        if (!Config.DISABLE_TUTORIAL && (itemId == 57 || itemId == 6353))
         {
         	L2PcInstance actor = player.getActingPlayer();
         	if (actor != null)

+ 4 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/stat/PcStat.java

@@ -203,9 +203,12 @@ public class PcStat extends PlayableStat
 
         if (levelIncreased)
         {
-        	QuestState qs = getActiveChar().getQuestState("255_Tutorial"); 
+        	if (!Config.DISABLE_TUTORIAL)
+        	{
+            	QuestState qs = getActiveChar().getQuestState("255_Tutorial"); 
         		if (qs != null)
         			qs.getQuest().notifyEvent("CE40", null, getActiveChar());
+        	}
 
         	getActiveChar().setCurrentCp(getMaxCp());
             getActiveChar().broadcastPacket(new SocialAction(getActiveChar().getObjectId(), SocialAction.LEVEL_UP));

+ 9 - 4
L2_GameServer/java/com/l2jserver/gameserver/model/actor/status/PcStatus.java

@@ -14,6 +14,7 @@
  */
 package com.l2jserver.gameserver.model.actor.status;
 
+import com.l2jserver.Config;
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.instancemanager.DuelManager;
 import com.l2jserver.gameserver.model.actor.L2Character;
@@ -216,9 +217,12 @@ public class PcStatus extends PlayableStatus
 			}
 
 			getActiveChar().doDie(attacker);
-			QuestState qs = getActiveChar().getQuestState("255_Tutorial");
-			if (qs != null)
-				qs.getQuest().notifyEvent("CE30", null, getActiveChar());
+			if (!Config.DISABLE_TUTORIAL)
+			{
+				QuestState qs = getActiveChar().getQuestState("255_Tutorial");
+				if (qs != null)
+					qs.getQuest().notifyEvent("CE30", null, getActiveChar());
+			}
 		}
 	}
 
@@ -227,7 +231,8 @@ public class PcStatus extends PlayableStatus
 	{
 		super.setCurrentHp(newHp, broadcastPacket);
 
-		if (getCurrentHp() <= getActiveChar().getStat().getMaxHp() * .3)
+		if (!Config.DISABLE_TUTORIAL
+				&& getCurrentHp() <= getActiveChar().getStat().getMaxHp() * .3)
 		{
 			QuestState qs = getActiveChar().getQuestState("255_Tutorial");
 			if (qs != null)

+ 6 - 2
L2_GameServer/java/com/l2jserver/gameserver/network/clientpackets/CharacterCreate.java

@@ -37,6 +37,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.stat.PcStat;
 import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
 import com.l2jserver.gameserver.network.L2GameClient;
 import com.l2jserver.gameserver.network.serverpackets.CharCreateFail;
 import com.l2jserver.gameserver.network.serverpackets.CharCreateOk;
@@ -279,7 +280,10 @@ public final class CharacterCreate extends L2GameClientPacket
 			if (Config.DEBUG)
 				_log.fine("Adding starter skill:" + skill.getId() + " / " + skill.getLevel());
 		}
-		startTutorialQuest(newChar);
+
+		if (!Config.DISABLE_TUTORIAL)
+			startTutorialQuest(newChar);
+
 		newChar.logout();
 		
 		CharSelectionInfo cl = new CharSelectionInfo(client.getAccountName(), client.getSessionId().playOkID1);
@@ -297,7 +301,7 @@ public final class CharacterCreate extends L2GameClientPacket
 		if (qs == null)
 			q = QuestManager.getInstance().getQuest("255_Tutorial");
 		if (q != null)
-			q.newQuestState(player);
+			q.newQuestState(player).setState(State.STARTED);
 	}
 	
 	/*

+ 4 - 1
L2_GameServer/java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java

@@ -312,7 +312,10 @@ public class EnterWorld extends L2GameClientPacket
 		activeChar.sendPacket(new HennaInfo(activeChar));
 
 		Quest.playerEnter(activeChar);
-		loadTutorial(activeChar);
+
+		if (!Config.DISABLE_TUTORIAL)
+			loadTutorial(activeChar);
+
 		for (Quest quest : QuestManager.getInstance().getAllManagedScripts())
 		{
 			if (quest != null && quest.getOnEnterWorld())