[Classic] Custom tutorial quest.
This commit is contained in:
5
trunk/dist/game/config/Character.properties
vendored
5
trunk/dist/game/config/Character.properties
vendored
@ -835,6 +835,11 @@ PartyXpCutoffGaps = 0,9;10,14;15,99
|
||||
# Default: 100;30;0
|
||||
PartyXpCutoffGapPercent = 100;30;0
|
||||
|
||||
# Disable tutorial on new player enter into Game
|
||||
# Please remember its sometimes important to novice players
|
||||
# Default: False
|
||||
DisableTutorial = False
|
||||
|
||||
# Expertise penalty
|
||||
# If disabled, player will not receive penalty for equip higher grade items
|
||||
# Default: True
|
||||
|
59
trunk/dist/game/data/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java
vendored
Normal file
59
trunk/dist/game/data/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J DataPack
|
||||
*
|
||||
* This file is part of L2J DataPack.
|
||||
*
|
||||
* L2J DataPack 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.
|
||||
*
|
||||
* L2J DataPack 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 quests.Q00255_Tutorial;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||
|
||||
/**
|
||||
* Tutorial Quest (Placeholder)
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q00255_Tutorial extends Quest
|
||||
{
|
||||
public Q00255_Tutorial()
|
||||
{
|
||||
super(255, Q00255_Tutorial.class.getSimpleName(), "Tutorial");
|
||||
setIsCustom(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "user_connected":
|
||||
{
|
||||
// Do stuff on player login.
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return htmltext;
|
||||
}
|
||||
}
|
@ -92,6 +92,7 @@ import quests.Q00238_SuccessFailureOfBusiness.Q00238_SuccessFailureOfBusiness;
|
||||
import quests.Q00239_WontYouJoinUs.Q00239_WontYouJoinUs;
|
||||
import quests.Q00240_ImTheOnlyOneYouCanTrust.Q00240_ImTheOnlyOneYouCanTrust;
|
||||
import quests.Q00254_LegendaryTales.Q00254_LegendaryTales;
|
||||
import quests.Q00255_Tutorial.Q00255_Tutorial;
|
||||
import quests.Q00270_TheOneWhoEndsSilence.Q00270_TheOneWhoEndsSilence;
|
||||
import quests.Q00278_HomeSecurity.Q00278_HomeSecurity;
|
||||
import quests.Q00279_TargetOfOpportunity.Q00279_TargetOfOpportunity;
|
||||
@ -305,6 +306,7 @@ public class QuestMasterHandler
|
||||
Q00239_WontYouJoinUs.class,
|
||||
Q00240_ImTheOnlyOneYouCanTrust.class,
|
||||
Q00254_LegendaryTales.class,
|
||||
Q00255_Tutorial.class,
|
||||
Q00270_TheOneWhoEndsSilence.class,
|
||||
Q00278_HomeSecurity.class,
|
||||
Q00279_TargetOfOpportunity.class,
|
||||
|
5
trunk/dist/game/data_classic/html/default/30129.htm
vendored
Normal file
5
trunk/dist/game/data_classic/html/default/30129.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Hierarch Mitraell:<br>
|
||||
Greetings. I am Mitraell, the Hierarch of all Dark Elves. We Dark Elves have grasped the powers of black magic through the teachings of the Human Sorcerer Dasparion, but he has betrayed us, leading to my present situation. I am entrapped within a magic seal and am barely able to move.<br>
|
||||
One day, when my body is free again, I will make the whole treacherous race of Humans pay for my betrayal and my time imprisoned.<br>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data_classic/html/default/30573.htm
vendored
Normal file
5
trunk/dist/game/data_classic/html/default/30573.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Flame Guardian Vulkus:<br>
|
||||
It is a pleasure to meet you. I am Paagrio Guardian Vulkus in the Temple of Paagrio. Orcs once ruled the world and all its races, but now we live on the plateau, because of the power of the Humans.<br>
|
||||
Yet it is inevitable that the Orcs will rise again, just as it is inevitable that the everlasting flame of Paagrio will continue to burn.<br>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
7
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/30598.html
vendored
Normal file
7
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/30598.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Newbie Guide:<br>
|
||||
If you need advice, please do not hesitate to ask me! I'll try my very best to help you.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">Ask for advice.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest NpcLocationInfo">NPC location information.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link default/BlessingOfProtection.htm">Receive blessing of protection.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link default/SupportMagic.htm">Check list of available support magic.</Button>
|
||||
</body></html>
|
7
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/30599.html
vendored
Normal file
7
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/30599.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Newbie Guide:<br>
|
||||
Don't hesitate to tell me if you require assistance. I can teach you about a number of useful things.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">Ask for advice.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest NpcLocationInfo">NPC Location Information.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link default/BlessingOfProtection.htm">Receive blessing of protection.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link default/SupportMagic.htm">Receive help from beneficial magic.</Button>
|
||||
</body></html>
|
7
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/30600.html
vendored
Normal file
7
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/30600.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Newbie Guide:<br>
|
||||
If you need advice, do not hesitate to ask me! I will do my very best to help you.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">Ask for advice.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest NpcLocationInfo">NPC Location Information.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link default/BlessingOfProtection.htm">Receive blessing of protection.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link default/SupportMagic.htm">Receive help from beneficial magic.</Button>
|
||||
</body></html>
|
7
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/30601.html
vendored
Normal file
7
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/30601.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Newbie Guide:<br>
|
||||
Can I help you with anything? Eh? Well, then, what would you like to know?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">Ask for advice.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest NpcLocationInfo">NPC Location Information.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link default/BlessingOfProtection.htm">Receive blessing of protection.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link default/SupportMagic.htm">Receive help from beneficial magic.</Button>
|
||||
</body></html>
|
7
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/30602.html
vendored
Normal file
7
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/30602.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Newbie Guide:<br>
|
||||
You wish to grow strong and powerful, Eh? Then listen carefully; I will advice you!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">Ask for advice.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest NpcLocationInfo">NPC Location Information.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link default/BlessingOfProtection.htm">Receive blessing of protection.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link default/SupportMagic.htm">Receive help from beneficial magic.</Button>
|
||||
</body></html>
|
243
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java
vendored
Normal file
243
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/Q00255_Tutorial.java
vendored
Normal file
@ -0,0 +1,243 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J DataPack
|
||||
*
|
||||
* This file is part of L2J DataPack.
|
||||
*
|
||||
* L2J DataPack 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.
|
||||
*
|
||||
* L2J DataPack 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 quests.Q00255_Tutorial;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.l2jserver.gameserver.enums.Race;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||
|
||||
/**
|
||||
* Tutorial Quest
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q00255_Tutorial extends Quest
|
||||
{
|
||||
// Npcs
|
||||
private final static int STARTING_HELPER_HF = 30009;
|
||||
private final static int STARTING_HELPER_HM = 30019;
|
||||
private final static int STARTING_HELPER_EL = 30400;
|
||||
private final static int STARTING_HELPER_DE = 30131;
|
||||
private final static int STARTING_HELPER_OR = 30575;
|
||||
private final static int STARTING_HELPER_DW = 30530;
|
||||
private final static int NEWBIE_BUFFER_HU = 30598;
|
||||
private final static int NEWBIE_BUFFER_EL = 30599;
|
||||
private final static int NEWBIE_BUFFER_DE = 30600;
|
||||
private final static int NEWBIE_BUFFER_OR = 30602;
|
||||
private final static int NEWBIE_BUFFER_DW = 30601;
|
||||
// Monster
|
||||
private final static int GREMLIN = 20001;
|
||||
// Item
|
||||
private final static int BLUE_GEM = 6353;
|
||||
private final static ItemHolder SOULSHOT_REWARD = new ItemHolder(5789, 500);
|
||||
private final static ItemHolder SPIRITSHOT_REWARD = new ItemHolder(5790, 500);
|
||||
// Others
|
||||
private static final Map<Integer, QuestSoundHtmlHolder> STARTING_VOICE_HTML = new HashMap<>();
|
||||
{
|
||||
STARTING_VOICE_HTML.put(0, new QuestSoundHtmlHolder("tutorial_voice_001a", "tutorial_human_fighter001.html"));
|
||||
STARTING_VOICE_HTML.put(10, new QuestSoundHtmlHolder("tutorial_voice_001b", "tutorial_human_mage001.html"));
|
||||
STARTING_VOICE_HTML.put(18, new QuestSoundHtmlHolder("tutorial_voice_001c", "tutorial_elven_fighter001.html"));
|
||||
STARTING_VOICE_HTML.put(25, new QuestSoundHtmlHolder("tutorial_voice_001d", "tutorial_elven_mage001.html"));
|
||||
STARTING_VOICE_HTML.put(31, new QuestSoundHtmlHolder("tutorial_voice_001e", "tutorial_delf_fighter001.html"));
|
||||
STARTING_VOICE_HTML.put(38, new QuestSoundHtmlHolder("tutorial_voice_001f", "tutorial_delf_mage001.html"));
|
||||
STARTING_VOICE_HTML.put(44, new QuestSoundHtmlHolder("tutorial_voice_001g", "tutorial_orc_fighter001.html"));
|
||||
STARTING_VOICE_HTML.put(49, new QuestSoundHtmlHolder("tutorial_voice_001h", "tutorial_orc_mage001.html"));
|
||||
STARTING_VOICE_HTML.put(53, new QuestSoundHtmlHolder("tutorial_voice_001i", "tutorial_dwarven_fighter001.html"));
|
||||
}
|
||||
private static final Map<Integer, Location> COMPLETE_LOCATION = new HashMap<>();
|
||||
{
|
||||
COMPLETE_LOCATION.put(0, new Location(-84081, 243227, -3723));
|
||||
COMPLETE_LOCATION.put(10, new Location(-84081, 243227, -3723));
|
||||
COMPLETE_LOCATION.put(18, new Location(45475, 48359, -3060));
|
||||
COMPLETE_LOCATION.put(25, new Location(45475, 48359, -3060));
|
||||
COMPLETE_LOCATION.put(31, new Location(12111, 16686, -4582));
|
||||
COMPLETE_LOCATION.put(38, new Location(12111, 16686, -4582));
|
||||
COMPLETE_LOCATION.put(44, new Location(-45032, -113598, -192));
|
||||
COMPLETE_LOCATION.put(49, new Location(-45032, -113598, -192));
|
||||
COMPLETE_LOCATION.put(53, new Location(115632, -177996, -905));
|
||||
}
|
||||
|
||||
public Q00255_Tutorial()
|
||||
{
|
||||
super(255, Q00255_Tutorial.class.getSimpleName(), "Tutorial");
|
||||
setIsCustom(true);
|
||||
addTalkId(STARTING_HELPER_HF, STARTING_HELPER_HM, STARTING_HELPER_EL, STARTING_HELPER_DE, STARTING_HELPER_OR, STARTING_HELPER_DW);
|
||||
addFirstTalkId(NEWBIE_BUFFER_HU, NEWBIE_BUFFER_EL, NEWBIE_BUFFER_DE, NEWBIE_BUFFER_OR, NEWBIE_BUFFER_DW);
|
||||
addKillId(GREMLIN);
|
||||
registerQuestItems(BLUE_GEM);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "tutorial_02.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "user_connected":
|
||||
{
|
||||
// Start Newbie Tutorial
|
||||
if ((player.getLevel() < 6) && !qs.isCompleted() && STARTING_VOICE_HTML.containsKey(player.getClassId().getId()))
|
||||
{
|
||||
startQuestTimer("start_newbie_tutorial", 5000, null, player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "start_newbie_tutorial":
|
||||
{
|
||||
qs.playTutorialVoice(STARTING_VOICE_HTML.get(player.getClassId().getId()).getSound());
|
||||
htmltext = STARTING_VOICE_HTML.get(player.getClassId().getId()).getHtml();
|
||||
// TODO: To hear the next tutorial click the button...
|
||||
// startQuestTimer("start_newbie_tutorial_2", 30000, null, player);
|
||||
break;
|
||||
}
|
||||
case "newbie_pick_up_items":
|
||||
{
|
||||
if (qs.getMemoState() < 1)
|
||||
{
|
||||
qs.setMemoState(1);
|
||||
qs.playTutorialVoice("tutorial_voice_013");
|
||||
qs.playSound("ItemSound.quest_tutorial");
|
||||
htmltext = "tutorial_11.html";
|
||||
}
|
||||
// TODO: Fix client events.
|
||||
// htmltext = "tutorial_10.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case STARTING_HELPER_HF:
|
||||
case STARTING_HELPER_HM:
|
||||
case STARTING_HELPER_EL:
|
||||
case STARTING_HELPER_DE:
|
||||
case STARTING_HELPER_OR:
|
||||
case STARTING_HELPER_DW:
|
||||
{
|
||||
if (qs.getMemoState() == 2)
|
||||
{
|
||||
final int classId = player.getClassId().getId();
|
||||
qs.addRadar(COMPLETE_LOCATION.get(classId).getX(), COMPLETE_LOCATION.get(classId).getY(), COMPLETE_LOCATION.get(classId).getZ());
|
||||
qs.playSound("ItemSound.quest_tutorial");
|
||||
htmltext = "tutorial_15.html";
|
||||
}
|
||||
else if (!hasQuestItems(player, BLUE_GEM))
|
||||
{
|
||||
htmltext = "tutorial_09.html";
|
||||
}
|
||||
else if (hasQuestItems(player, BLUE_GEM))
|
||||
{
|
||||
final int classId = player.getClassId().getId();
|
||||
if (!STARTING_VOICE_HTML.containsKey(classId))
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
takeItems(player, BLUE_GEM, -1);
|
||||
qs.setMemoState(2);
|
||||
qs.addRadar(COMPLETE_LOCATION.get(classId).getX(), COMPLETE_LOCATION.get(classId).getY(), COMPLETE_LOCATION.get(classId).getZ());
|
||||
qs.playSound("ItemSound.quest_tutorial");
|
||||
htmltext = "go_to_newbie_helper.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && !qs.isCompleted() && (qs.getMemoState() == 2))
|
||||
{
|
||||
if (player.isMageClass() && (player.getRace() != Race.ORC))
|
||||
{
|
||||
giveItems(player, SPIRITSHOT_REWARD);
|
||||
}
|
||||
else
|
||||
{
|
||||
giveItems(player, SOULSHOT_REWARD);
|
||||
}
|
||||
qs.setMemoState(3);
|
||||
qs.exitQuest(false, true);
|
||||
}
|
||||
return npc.getId() + ".html";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if ((qs != null) && (qs.getMemoState() < 1) && !hasQuestItems(killer, BLUE_GEM) && getRandomBoolean())
|
||||
{
|
||||
npc.dropItem(killer, BLUE_GEM, 1);
|
||||
startQuestTimer("newbie_pick_up_items", 100, null, killer);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
private class QuestSoundHtmlHolder
|
||||
{
|
||||
private final String _sound;
|
||||
private final String _html;
|
||||
|
||||
QuestSoundHtmlHolder(String sound, String html)
|
||||
{
|
||||
_sound = sound;
|
||||
_html = html;
|
||||
}
|
||||
|
||||
String getSound()
|
||||
{
|
||||
return _sound;
|
||||
}
|
||||
|
||||
String getHtml()
|
||||
{
|
||||
return _html;
|
||||
}
|
||||
}
|
||||
}
|
6
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/go_to_newbie_helper.html
vendored
Normal file
6
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/go_to_newbie_helper.html
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body><center><font color="LEVEL">[Conversation with a Newbie Helper]</font></center><br>
|
||||
Now, try talking with a <font color="LEVEL">Newbie Helper</font>.<br>
|
||||
Move your mouse cursor over the Newbie Helper and <font color="LEVEL">left-click</font>. Then your mouse cursor will change into the shape of a balloon. At this time, if you click the left mouse button again, the conversation will start.<br>
|
||||
<img src="L2UI_CH3.tutorial_img14" width=64 height=64><br>If you move while following the direction of the arrow above your character, you will run into a Newbie Helper. The helpers will give you helpful instructions as well as useful gifts, so be sure to go meet with a Newbie Helper.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial close_window">Exit the Tutorial</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_02.html
vendored
Normal file
5
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_02.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>
|
||||
<center><font color="LEVEL">[Movement]</font></center><br>
|
||||
Move your mouse cursor to the spot to which you want to move and <font color="FF0000">left-click</font>. Then, you will be moved to that location.<img src="L2UI_CH3.tutorial_img01" width=64 height=64><img src="L2UI_CH3.tutorial_img021" width=64 height=64><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial close_window">Exit the Tutorial</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_09.html
vendored
Normal file
5
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_09.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>
|
||||
<center><font color="LEVEL">[Picking Up Items]</font></center><br>When you defeat monsters, they drop their items on the ground. Move your cursor over to the dropped item, and the cursor will change its shape to a hand-shaped icon, indicating that the item may be picked up. Left-click on the item to pick it up.<br>
|
||||
<img src="L2UI_CH3.tutorial_img06" width=64 height=64><br>There is another way to pick up an item. Press the <font color="LEVEL">F4 key</font> and you can automatically pick up nearby items. Currently, the fourth slot on the shortcut bar is registered with the pickup action and therefore, when you press the F4 key, that action is activated.<table border=0><tr><td><img src="L2UI_CH3.tutorial_img151" width=64 height=64></td><td><img src="L2UI_CH3.tutorial_img20" width=64 height=64></td></tr></table><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial close_window">Close Window</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_11.html
vendored
Normal file
5
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_11.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>
|
||||
Oh, you found the Blue Gemstone. Good job!<br>
|
||||
Now, return and have a conversation with the newbie helper.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial close_window">Close Window</Button>
|
||||
</body></html>
|
6
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_15.html
vendored
Normal file
6
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_15.html
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>
|
||||
<center><font color="LEVEL">[View Map]</font></center><br>
|
||||
To see the map during the game, click on the <font color="FF0000">map-shaped icon</font> on the bottom right screen.<br>
|
||||
<img src="L2UI_CH3.tutorial_img09" width=175 height=110><br>When viewing the map, the newbie guide's location is marked with a red flag.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial close_window">Close window.</Button>
|
||||
</body></html>
|
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_delf_fighter001.html
vendored
Normal file
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_delf_fighter001.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>
|
||||
<font color="LEVEL">Welcome to Lineage II!</font><br>
|
||||
This is the Temple of Shilen, where Shilen, the goddess of darkness is worshipped. This is the place where young dark elves are trained to grow their skills and strength.<br>
|
||||
Now, you are taking your first step to becoming a Dark Fighter. First, I will explain the basic operation of the game.<br>
|
||||
<table border=0 cellpadding=0 cellspacing=0><tr><td>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial tutorial_02.html">If you click here, you will move to the next topic of this tutorial.</Button></td>
|
||||
<td valign=top><img src="L2UI_CH3.tutorial_pointer" width=32 height= 16></td></tr></table>
|
||||
</body></html>
|
7
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_delf_mage001.html
vendored
Normal file
7
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_delf_mage001.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>
|
||||
<font color="LEVEL">Welcome to Lineage II!</font><br>
|
||||
This is the Temple of Shilen, where Shilen, the goddess of darkness is worshipped. This is the place where young dark elves are trained to grow their skills and strength.<br>Now, you are taking your first step to becoming a Dark Mystic. First, I will explain the basic operation of the game.<br>
|
||||
<table border=0 cellpadding=0 cellspacing=0><tr><td>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial tutorial_02.html">If you click here, you will move to the next topic of this tutorial.</Button></td>
|
||||
<td valign=top><img src="L2UI_CH3.tutorial_pointer" width=32 height= 16></td></tr></table>
|
||||
</body></html>
|
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_dwarven_fighter001.html
vendored
Normal file
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_dwarven_fighter001.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>
|
||||
<font color="LEVEL">Welcome to Lineage II!</font><br>
|
||||
This is the strip mine of the Dwarves. All new dwarves start their basic training in this place.<br>
|
||||
Now, you are taking your first step to becoming a Dwarven Fighter. First, I will explain the basic operation of the game.<br>
|
||||
<table border=0 cellpadding=0 cellspacing=0><tr><td>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial tutorial_02.html">If you click here, you will move to the next topic of this tutorial.</Button></td>
|
||||
<td valign=top><img src="L2UI_CH3.tutorial_pointer" width=32 height= 16></td></tr></table>
|
||||
</body></html>
|
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_elven_fighter001.html
vendored
Normal file
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_elven_fighter001.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>
|
||||
<font color="LEVEL">Welcome to Lineage II!</font><br>
|
||||
This is the sacred spring where the Mother Tree, the mother of all Elves, is worshipped. Before journeying forth to the outside world, young elves begin their training in this place.<br>
|
||||
Now, you are taking your first step to becoming an Elven Fighter. First, I will explain the basic operation of the game.<br>
|
||||
<table border=0 cellpadding=0 cellspacing=0><tr><td>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial tutorial_02.html">If you click here, you will move to the next topic of this tutorial.</Button></td>
|
||||
<td valign=top><img src="L2UI_CH3.tutorial_pointer" width=32 height= 16></td></tr></table>
|
||||
</body></html>
|
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_elven_mage001.html
vendored
Normal file
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_elven_mage001.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>
|
||||
<font color="LEVEL">Welcome to Lineage II!</font><br>
|
||||
This is the sacred spring where the Mother Tree, the mother of all Elves, is worshipped. Before journeying forth to the outside world, young elves begin their training in this place.<br>
|
||||
Now, you are taking your first step to becoming an Elven Mystic. First, I will explain the basic operation of the game.<br>
|
||||
<table border=0 cellpadding=0 cellspacing=0><tr><td>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial tutorial_02.html">If you click here, you will move to the next topic of this tutorial.</Button></td>
|
||||
<td valign=top><img src="L2UI_CH3.tutorial_pointer" width=32 height= 16></td></tr></table>
|
||||
</body></html>
|
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_human_fighter001.html
vendored
Normal file
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_human_fighter001.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>
|
||||
<font color="LEVEL">Welcome to Lineage II!</font><br>
|
||||
This is Sedrick's Training Hall. This place is famous for producing many noted Fighters.<br>
|
||||
Now, you are taking your first step to becoming a Human Fighter. First, I will explain the basic operation of the game.<br>
|
||||
<table border=0 cellpadding=0 cellspacing=0><tr><td>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial tutorial_02.html">If you click here, you will move to the next topic of this tutorial.</Button></td>
|
||||
<td valign=top><img src="L2UI_CH3.tutorial_pointer" width=32 height= 16></td></tr></table>
|
||||
</body></html>
|
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_human_mage001.html
vendored
Normal file
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_human_mage001.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>
|
||||
<font color="LEVEL">Welcome to Lineage II!</font><br>
|
||||
This is Einhovant's School of Wizardry. This school is famous for producing many excellent mystics. <br>
|
||||
Now, you are taking your first step to becoming a Human Mystic. First, I will explain the basic operation of the game.<br>
|
||||
<table border=0 cellpadding=0 cellspacing=0><tr><td>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial tutorial_02.html">If you click here, you will move to the next topic of this tutorial.</Button></td>
|
||||
<td valign=top><img src="L2UI_CH3.tutorial_pointer" width=32 height= 16></td></tr></table>
|
||||
</body></html>
|
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_orc_fighter001.html
vendored
Normal file
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_orc_fighter001.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>
|
||||
<font color="LEVEL">Welcome to Lineage II!</font><br>
|
||||
This is the Temple of Paagrio, the sacred place where we worship Paagrio, the god of flame. It is here that young Orcs begin their training.<br>
|
||||
Now you are taking your first step to becoming an Orc Fighter. First, I will explain the basic operation of the game.<br>
|
||||
<table border=0 cellpadding=0 cellspacing=0><tr><td>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial tutorial_02.html">If you click here, you will move to the next topic of this tutorial.</Button></td>
|
||||
<td valign=top><img src="L2UI_CH3.tutorial_pointer" width=32 height= 16></td></tr></table>
|
||||
</body></html>
|
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_orc_mage001.html
vendored
Normal file
8
trunk/dist/game/data_classic/scripts/quests/Q00255_Tutorial/tutorial_orc_mage001.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>
|
||||
<font color="LEVEL">Welcome to Lineage II!</font><br>
|
||||
This is the Temple of Paagrio, the sacred place where we worship Paagrio, the god of flame. It is here that young Orcs begin their training.<br>
|
||||
Now, you are taking your first step to becoming an Orc Mystic. First, I will explain the basic operation of the game.<br>
|
||||
<table border=0 cellpadding=0 cellspacing=0><tr><td>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00255_Tutorial tutorial_02.html">If you click here, you will move to the next topic of this tutorial.</Button></td>
|
||||
<td valign=top><img src="L2UI_CH3.tutorial_pointer" width=32 height= 16></td></tr></table>
|
||||
</body></html>
|
@ -77,6 +77,7 @@ import quests.Q00230_TestOfTheSummoner.Q00230_TestOfTheSummoner;
|
||||
import quests.Q00231_TestOfTheMaestro.Q00231_TestOfTheMaestro;
|
||||
import quests.Q00232_TestOfTheLord.Q00232_TestOfTheLord;
|
||||
import quests.Q00233_TestOfTheWarSpirit.Q00233_TestOfTheWarSpirit;
|
||||
import quests.Q00255_Tutorial.Q00255_Tutorial;
|
||||
import quests.Q00257_TheGuardIsBusy.Q00257_TheGuardIsBusy;
|
||||
import quests.Q00258_BringWolfPelts.Q00258_BringWolfPelts;
|
||||
import quests.Q00259_RequestFromTheFarmOwner.Q00259_RequestFromTheFarmOwner;
|
||||
@ -203,6 +204,7 @@ public class QuestMasterHandler
|
||||
Q00231_TestOfTheMaestro.class,
|
||||
Q00232_TestOfTheLord.class,
|
||||
Q00233_TestOfTheWarSpirit.class,
|
||||
Q00255_Tutorial.class,
|
||||
Q00257_TheGuardIsBusy.class,
|
||||
Q00258_BringWolfPelts.class,
|
||||
Q00259_RequestFromTheFarmOwner.class,
|
||||
|
Reference in New Issue
Block a user