I have one problem with the following quest. Once you start this quest you have to collect 4 different questitems. The error occurs when getting one specific quest item (RITRON_FRUIT) first. so if you kill the dire wolves forst to get all of their questitems (4 pieces actually - RITRON_FRUIT) the quest jumps forward and you cannot get all the other remaining questitems in order to complete this quest. the quest gets stuck and you wont be able to complete it.
on the other hand if you collect all other items first and the one of the dire wolf at last....everything is fine.
can someone help me to solve this problem. i cant see the error ^^
/*
* Copyright (C) 2004-2014 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.Q00380_BringOutTheFlavorOfIngredients;
import java.util.HashMap;
import java.util.Map;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.holders.ItemChanceHolder;
import com.l2jserver.gameserver.model.quest.Quest;
import com.l2jserver.gameserver.model.quest.QuestState;
import com.l2jserver.gameserver.model.quest.State;
/**
* Bring Out the Flavor of Ingredients! (380)
* @author Pandragon
*/
public final class Q00380_BringOutTheFlavorOfIngredients extends Quest
{
// NPC
private static final int ROLLAND = 30069;
// Items
private static final int ANTIDOTE = 1831;
private static final int RITRON_FRUIT = 5895;
private static final int MOON_FLOWER = 5896;
private static final int LEECH_FLUIDS = 5897;
// Monsters
private static final Map<Integer, ItemChanceHolder> MONSTER_CHANCES = new HashMap<>();
{
MONSTER_CHANCES.put(20205, new ItemChanceHolder(RITRON_FRUIT, 0.1, 4)); // Dire Wolf
MONSTER_CHANCES.put(20206, new ItemChanceHolder(MOON_FLOWER, 0.5, 20)); // Kadif Werewolf
MONSTER_CHANCES.put(20225, new ItemChanceHolder(LEECH_FLUIDS, 0.5, 10)); // Giant Mist Leech
}
// Rewards
private static final int RITRON_RECIPE = 5959;
private static final int RITRON_DESSERT = 5960;
// Misc
private static final int MIN_LVL = 24;
public Q00380_BringOutTheFlavorOfIngredients()
{
super(380, Q00380_BringOutTheFlavorOfIngredients.class.getSimpleName(), "Bring Out the Flavor of Ingredients!");
addStartNpc(ROLLAND);
addTalkId(ROLLAND);
addKillId(MONSTER_CHANCES.keySet());
registerQuestItems(RITRON_FRUIT, MOON_FLOWER, LEECH_FLUIDS);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
String htmltext = null;
if (qs != null)
{
switch (event)
{
case "30069-03.htm":
case "30069-04.htm":
case "30069-06.html":
{
htmltext = event;
break;
}
case "30069-05.htm":
{
if (qs.isCreated())
{
qs.startQuest();
htmltext = event;
}
break;
}
case "30069-13.html":
{
if (qs.isCond(9))
{
rewardItems(player, RITRON_RECIPE, 1);
qs.exitQuest(true, true);
htmltext = event;
}
break;
}
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance talker)
{
final QuestState qs = getQuestState(talker, true);
String htmltext = getNoQuestMsg(talker);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = (talker.getLevel() >= MIN_LVL) ? "30069-02.htm" : "30069-01.htm";
break;
}
case State.STARTED:
{
switch (qs.getCond())
{
case 1:
case 2:
case 3:
case 4:
{
if ((getQuestItemsCount(talker, ANTIDOTE) >= 2) && (getQuestItemsCount(talker, RITRON_FRUIT) >= 4) && (getQuestItemsCount(talker, MOON_FLOWER) >= 20) && (getQuestItemsCount(talker, LEECH_FLUIDS) >= 10))
{
takeItems(talker, ANTIDOTE, 2);
takeItems(talker, -1, RITRON_FRUIT, MOON_FLOWER, LEECH_FLUIDS);
qs.setCond(5, true);
htmltext = "30069-08.html";
}
else
{
htmltext = "30069-07.html";
}
break;
}
case 5:
{
qs.setCond(6, true);
htmltext = "30069-09.html";
break;
}
case 6:
{
qs.setCond(7, true);
htmltext = "30069-10.html";
break;
}
case 7:
{
qs.setCond(8, true);
htmltext = "30069-11.html";
break;
}
case 8:
{
rewardItems(talker, RITRON_DESSERT, 1);
if (getRandom(100) < 56)
{
htmltext = "30069-15.html";
qs.exitQuest(true, true);
}
else
{
qs.setCond(9, true);
htmltext = "30069-12.html";
}
break;
}
case 9:
{
htmltext = "30069-12.html";
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(talker);
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
if ((qs != null) && (qs.getCond() < 4))
{
final ItemChanceHolder item = MONSTER_CHANCES.get(npc.getId());
if (giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, item.getCount(), item.getChance(), true))
{
qs.setCond(qs.getCond() + 1, true);
}
}
return super.onKill(npc, killer, isSummon);
}
}
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
I would like to know about the Acis base of the data pack I use. The server source and server file could not find that information. I respectfully ask for the help of masters.🥲
Artificial Intelligence for all Chronicles. Developed in L2 HighFive branch since 2023 but it can be adapted to any project including Fand-C, aCis, Frozen, Scripts even compiled
projects such as Lucera with some aditional cost.
Features:
1. Grouped of templates to create your own BOT (including skill, items, appearance, sex e.t.c.)
2. Bot can participate in Olympiad (+ any event with extra cost base on your event engine)
3. Bot walk nearby NPC to receive buff, receive equipment and teleport to any other area
4. Bot will accept party & clan invitation and follow party leader to wherever he go including teleport
6. Bot will trade player back dropped items from PK or fallen Raid Bosses after they visit a peace zone
7. Bot will open store and sell configurable item in configurable prices to players.
8. Bot will attack and cast spells in a realistic way. All classes are used including buffers, summoners, bishops e.t.c.
9. Buffer and bishops will cast buff to party members when player has no available or overriden buffs.
10. Bot will enchant their equipent and re-purchase upon failure. Their weapon will also switched between hero weapon and retail weapon when they need to.
11. Bot can move in complex map system and find monsters or players but they can also follow routes for specific paths using configurable XML if you want to.
Preview of some features:
Olympiad
Trade
Store
PvP
Example of a single configurable template in XML:
https://pastebin.com/RXZVGCfA
Price:
270 Euro (Compiled) - 450 Euro (Source)
Contact Me
Discord: https://discord.gg/gKAsAhJNuq
MaxCheaters: https://maxcheaters.com/profile/243647-out-of-time/
Gmail: l2outoftime@gmail.com
RCS Message: +30 698 740 8501
Good day!
Due to the increasing number of questions, "Do you provide services for the client?" - I decided to answer with a separate topic.
I provide services for editing/modifying the client and individual files, namely:
1. Transfer/Creation/Editing locations, geodata.
2. All kinds of work with NPCs, including transfer, animation, adding effects to them and logos.
3. Actually, Transfer/Creation/Edit any EFFECTS, including Abnormal Effects.
4. Any work with weapons, armor, accessories and everything related to it.
5. Create or edit textures, including dynamic textures.
6. Creating a Lobby Screen, Lobby Char Selection (character selection window) and Lobby Char Creation (character creation window).
What I don't do:
1. Coding in any form (except for CB).
I started publishing my work recently, here - YouTube
And here - RuTube
If required, I respect confidentiality.
Any other questions? Welcome to Telegram or PM.
Question
snifi
Hello Cheaters :)
I have one problem with the following quest. Once you start this quest you have to collect 4 different questitems. The error occurs when getting one specific quest item (RITRON_FRUIT) first. so if you kill the dire wolves forst to get all of their questitems (4 pieces actually - RITRON_FRUIT) the quest jumps forward and you cannot get all the other remaining questitems in order to complete this quest. the quest gets stuck and you wont be able to complete it.
on the other hand if you collect all other items first and the one of the dire wolf at last....everything is fine.
can someone help me to solve this problem. i cant see the error ^^
12 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.