screamer9206 2 Опубликовано 26 января, 2022 Всем привет, подскажите сборка пв, квест стандарный на веспер, хочу переделать его под другие вещи, но не могу найти, где меняется текст задания Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
screamer9206 2 Опубликовано 26 января, 2022 И еще подскажите, как изменить чтобы вещь котрую надо набить была не одна, а 3 Сам текст кода package quests.Vesper; import net.sf.l2j.gameserver.model.L2Party; import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.quest.QuestState; import net.sf.l2j.gameserver.model.quest.State; import net.sf.l2j.gameserver.model.quest.jython.QuestJython; import net.sf.l2j.util.Rnd; public class Vesper extends QuestJython { //NPC private final static int npcId = 77778; private final static int[] MOBS = {21376,21377,21378,21394,21652,21379,21653,21380,21383,21654,21382}; private final static int RaidBoss = 70021; //QuestItem private final static int BLACK_FEATHER = 10596; private final static int ITEM_FROM_RB = 9773; //Chance from mobs private final static int chance1 = 100; //Chance from RB private final static int chance2 = 100; //Item private final static int FEATHER = 9772; private int count; //Разрешено ли повторять квест? private static boolean REPEATABLE = true; private int cond = 0; private State STARTED = new State("Started", this); public Vesper(int questId, String name, String descr) { super(questId, name, descr, 1); State st = new State("Start", this); this.setInitialState(st); addStartNpc(npcId); addTalkId(npcId); for (int mobs : MOBS) addKillId(mobs); addKillId(RaidBoss); } public String onEvent(String event, QuestState st) { L2PcInstance player = st.getPlayer(); if (event.equalsIgnoreCase("start")) { st.set("cond","1"); event = "77778-2.htm"; st.setState(STARTED); } else if (event.equalsIgnoreCase("sobral")) { count = player.getInventory().getInventoryItemCount(BLACK_FEATHER,0); if (count < 1000) event = "77778-no.htm"; else { st.takeItems(BLACK_FEATHER,1000); st.set("cond","2"); event = "77778-4.htm"; } } else if (event.equalsIgnoreCase("item_RB")) { count = player.getInventory().getInventoryItemCount(ITEM_FROM_RB,0); if (count < 1) event = "77778-no1.htm"; else { st.takeItems(ITEM_FROM_RB,1); st.giveItems(FEATHER,1); st.exitQuest(REPEATABLE); event = "<html><body>kvest zavershen</body><html>"; } } else if (event.equalsIgnoreCase("otmena")) { event = "<html><body>kvest otmenen</body></html>"; st.exitQuest(true); } return event; } public String onTalk(L2NpcInstance npc, L2PcInstance talker) { QuestState st = talker.getQuestState(getName()); String htmltext = "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"; if(st == null) return htmltext; int npcId = npc.getNpcId(); cond = st.getInt("cond"); if(npcId == npcId) { if (cond == 0) htmltext = "77778-1.htm"; else if (cond == 1) htmltext = "77778-3.htm"; else if (cond == 2) htmltext = "77778-5.htm"; } return htmltext; } public String onKill (L2NpcInstance npc, L2PcInstance killer, boolean isPet) { QuestState st = killer.getQuestState(getName()); if(st == null) return null; int npcId = npc.getNpcId(); int cond = st.getInt("cond"); L2Party party = killer.getParty(); switch(cond) { case 1: for (int id : MOBS) if (npcId == id) if (Rnd.get(100) < chance1) if (st.getPlayer().getInventory().getInventoryItemCount(BLACK_FEATHER,0) < 1000) st.giveItems(BLACK_FEATHER,1); break; case 2: if (npcId == RaidBoss) if (Rnd.get(100) < chance2) if (party != null) for (L2PcInstance member : party.getPartyMembers()) if (member.getInventory().getInventoryItemCount(ITEM_FROM_RB,0) == 0) member.getQuestState(getName()).giveItems(ITEM_FROM_RB,1); else if (killer.getInventory().getInventoryItemCount(ITEM_FROM_RB,0) == 0) st.giveItems(ITEM_FROM_RB,1); break; } return null; } public static void main(String[] args) { new Vesper(122, "Vesper", "custom"); } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
screamer9206 2 Опубликовано 26 января, 2022 С первым вопросом разобрался, подскажите по второму Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты