DeluxeMD 73 Опубликовано 10 декабря, 2015 (изменено) здравствуйте у меня такая проблема собираю 300 перьев отдаю их бегу к РБ убиваю его а с него дропа нет в чем может быть проблема сборка ПВ 8 ява все настроено нормально package quests.Wings; 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 Wings extends QuestJython { //NPC private final static int npcId = 80028; private final static int[] MOBS = {22123, 22124, 22126, 22128}; private final static int RaidBoss = 80047; //QuestItem private final static int BLACK_FEATHER = 14507; private final static int ITEM_FROM_RB = 14508; //Chance from mobs private final static int chance1 = 100; //Chance from RB private final static int chance2 = 100; //Item private final static int FEATHER = 14509; private int count; //Разрешено ли повторять квест? private static boolean REPEATABLE = true; private int cond = 0; private State STARTED = new State("Started", this); public Wings(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 = "77777-2.htm"; st.setState(STARTED); } else if (event.equalsIgnoreCase("sobral")) { count = player.getInventory().getInventoryItemCount(BLACK_FEATHER,0); if (count < 300) event = "77777-no.htm"; else { st.takeItems(BLACK_FEATHER,300); st.set("cond","2"); event = "77777-4.htm"; } } else if (event.equalsIgnoreCase("item_RB")) { count = player.getInventory().getInventoryItemCount(ITEM_FROM_RB,0); if (count < 1) event = "77777-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 == 80028) { if (cond == 0) htmltext = "77777-1.htm"; else if (cond == 1) htmltext = "77777-3.htm"; else if (cond == 2) htmltext = "77777-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) < 300) 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 Wings(121, "Wings", "quests"); } } Изменено 10 декабря, 2015 пользователем DeluxeMD Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Demoncool 1110 Опубликовано 10 декабря, 2015 возможно в предмете уже есть итем с рб и инве их не должно быть, чтобы упал еще 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
adidas 80 Опубликовано 10 декабря, 2015 Ты должен быть в пати с кем нибудь. про + не забывай 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DeluxeMD 73 Опубликовано 11 декабря, 2015 А возможно сднлать чтоб и по одному тоже давало Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
dodelez 4 Опубликовано 11 декабря, 2015 иши в папках partydrop там и несколько иши тот который с ид РБ и удали и будет дроп всем Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DeluxeMD 73 Опубликовано 11 декабря, 2015 Причем тут папка дроп этот скрипт и так выдает по пати и в папке дроп я его вообще не ставил Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DeluxeMD 73 Опубликовано 11 декабря, 2015 (изменено) поможет кто переписать чтоб квест выпал даже если ты не в пати if (npcId == npcId) 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); Изменено 11 декабря, 2015 пользователем DeluxeMD Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
dodelez 4 Опубликовано 11 декабря, 2015 пм мне я тебе все помогу Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
dodelez 4 Опубликовано 11 декабря, 2015 поможет кто переписать чтоб квест выпал даже если ты не в пати 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); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DeluxeMD 73 Опубликовано 12 декабря, 2015 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); не работает Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DeluxeMD 73 Опубликовано 12 декабря, 2015 Тему можно закрыть исправил сам кому нужен будет вот 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); if (st.getPlayer().getInventory().getInventoryItemCount(ITEM_FROM_RB,0) < 1) st.giveItems(ITEM_FROM_RB,1); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 13 декабря, 2015 if (party != null) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DeluxeMD 73 Опубликовано 13 декабря, 2015 if (party != null) и что это значит ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 13 декабря, 2015 и что это значит ? Здесь указана проверка на пати. Если не в пати, то ничего не выдает. Если в пати, то выдает указанный итем каждому члену. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DeluxeMD 73 Опубликовано 13 декабря, 2015 Здесь указана проверка на пати. Если не в пати, то ничего не выдает. Если в пати, то выдает указанный итем каждому члену. тесть можно просто убрать проверку и все Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты