Danar 7 Опубликовано 28 декабря, 2015 (изменено) Ребят очень прошу помощи Сборка Lucera2. В общем вот есть скрипт. Нужно сделать проверку что бы не давало итем если игрок меньше саба 75 лвла то итем не даст с нубл рб. package ro0tt; /* * @author Ro0TT * @date 25.04.2014 */ import org.apache.commons.lang3.ArrayUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ru.catssoftware.gameserver.listener.actor.OnDeathListener; import ru.catssoftware.gameserver.model.L2Character; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.listeners.CharListenerList; public class DropItemNooblRb { private static int CUSTOM_RB[] = { 25325}; private static int[] ITEM = { 7679, 1}; private static Logger _log = LoggerFactory.getLogger(DropItemNooblRb.class); public static void main(String... arg) { CharListenerList.addGlobal(new OnDeathListenerImpl()); _log.info("Mass drop from custom RB loaded."); } private static class OnDeathListenerImpl implements OnDeathListener { @Override public void onDeath(L2Character actor, L2Character killer) { if (!actor.isNpc() || !ArrayUtils.contains(CUSTOM_RB, actor.getNpc().getNpcId())) return; if (killer == null || killer.getPlayer() == null) return; L2PcInstance player = killer.getPlayer(); if (player.isInParty()) { for (L2PcInstance member : player.getParty().getPartyMembers()) member.addItem("DropItemNooblRb", ITEM[0], ITEM[1], actor, true); } else player.addItem("DropItemNooblRb", ITEM[0], ITEM[1], actor, true); } }} С меня полные плюсы.. За ранее огромное спасибо. Изменено 28 декабря, 2015 пользователем Danar Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Danar 7 Опубликовано 28 декабря, 2015 Обновил. Не тот скрипт скинул. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 29 декабря, 2015 (изменено) if(player.isSubClassActive() && player.getLevel() >= 75) { // выдача итема } else player.sendMessage("Only for sub-class 75+ lvl!"); Изменено 29 декабря, 2015 пользователем Calyps0 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Danar 7 Опубликовано 29 декабря, 2015 if(player.isSubClassActive() && player.getLevel() >= 75) { // выдача итема } else player.sendMessage("Only for sub-class 75+ lvl!"); А что надо писать в строке "Выдача итема" ? Можно сразу в скрипт добавить? А то я только накосячу. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 29 декабря, 2015 (изменено) package ro0tt; /** @author Ro0TT* @date 25.04.2014*/import org.apache.commons.lang3.ArrayUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import ru.catssoftware.gameserver.listener.actor.OnDeathListener;import ru.catssoftware.gameserver.model.L2Character;import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;import ru.catssoftware.gameserver.model.listeners.CharListenerList;public class DropItemNooblRb{private static int CUSTOM_RB[] = { 25325};private static int[] ITEM = { 7679, 1};private static Logger _log = LoggerFactory.getLogger(DropItemNooblRb.class);public static void main(String... arg){CharListenerList.addGlobal(new OnDeathListenerImpl());_log.info("Mass drop from custom RB loaded.");}private static class OnDeathListenerImpl implements OnDeathListener{@Overridepublic void onDeath(L2Character actor, L2Character killer){if (!actor.isNpc() || !ArrayUtils.contains(CUSTOM_RB, actor.getNpc().getNpcId()))return;if (killer == null || killer.getPlayer() == null)return;L2PcInstance player = killer.getPlayer();if (player.isInParty()){for (L2PcInstance member : player.getParty().getPartyMembers())addItem(member);}elseaddItem(player);}public void addItem(L2PcInstance player){if(player.isSubClassActive() && player.getLevel() >= 75){player.addItem("DropItemNooblRb", ITEM[0], ITEM[1], actor, true);}elseplayer.sendMessage("Only for sub-class 75+ lvl!");}}} Изменено 29 декабря, 2015 пользователем LifeGame32 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Danar 7 Опубликовано 29 декабря, 2015 Странно но нету дропа и в гс ошибок никаких нет. Хотя перс на сабе а итем не дает Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 29 декабря, 2015 Странно но нету дропа и в гс ошибок никаких нет. Хотя перс на сабе а итем не дает а сообщение Only for sub-class 75+ lvl! Приходит? а уровень саба 75+? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
bos555 2 Опубликовано 29 декабря, 2015 та же проблема Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 29 декабря, 2015 я в шоке. то есть до модинга скрипта он выдает предметы. а после того как я выложил готовый скрипт он ничего не выдает и не пишет? быть такова не может.! !сдается мне что скрипт не грузится. выложите скрипт на файл-обменник посмотрю. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arrow 24 Опубликовано 29 декабря, 2015 та же проблема зачем вам какая разница то если для квеста нублеса нужен 75 лвл какакой и если нет 3 части квеста то посох не должен падать Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Danar 7 Опубликовано 29 декабря, 2015 я в шоке. то есть до модинга скрипта он выдает предметы. а после того как я выложил готовый скрипт он ничего не выдает и не пишет? быть такова не может.! !сдается мне что скрипт не грузится. выложите скрипт на файл-обменник посмотрю. Я скинул полный скрипт сюда. Заменил на тот что ты дал и ошибок нет и ничего не выдает хотя персонаж имеет саб 80 лвла... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 29 декабря, 2015 Я скинул полный скрипт сюда. Заменил на тот что ты дал и ошибок нет и ничего не выдает хотя персонаж имеет саб 80 лвла... Старый работает? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
amkey 2 Опубликовано 29 декабря, 2015 (изменено) package ro0tt; /* * @author Ro0TT * @date 25.04.2014 */ import org.apache.commons.lang3.ArrayUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ru.catssoftware.gameserver.listener.actor.OnDeathListener; import ru.catssoftware.gameserver.model.L2Character; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.listeners.CharListenerList; public class DropItemNooblRb { private static int CUSTOM_RB[] = { 25325}; private static int[] ITEM = { 7679, 1}; private static Logger _log = LoggerFactory.getLogger(DropItemNooblRb.class); public static void main(String... arg) { CharListenerList.addGlobal(new OnDeathListenerImpl()); _log.info("Mass drop from custom RB loaded."); } private static class OnDeathListenerImpl implements OnDeathListener { @Override public void onDeath(L2Character actor, L2Character killer) { if (!actor.isNpc() || !ArrayUtils.contains(CUSTOM_RB, actor.getNpc().getNpcId())) return; if (killer == null || killer.getPlayer() == null) return; L2PcInstance player = killer.getPlayer(); if (player.isInParty() && player.isSubClassActive() && player.getLevel() >= 75) { for (L2PcInstance member : player.getParty().getPartyMembers()) member.addItem("DropItemNooblRb", ITEM[0], ITEM[1], actor, true); } else if(!player.isInParty() && player.isSubClassActive() && player.getLevel() >= 75) { player.addItem("DropItemNooblRb", ITEM[0], ITEM[1], actor, true); } else { player.sendMessage("Only for sub-class 75+ lvl!"); } } } } Вот так будет работать. Изменено 29 декабря, 2015 пользователем amkey 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 29 декабря, 2015 Вот так будет работать. угу должен. я чет пропусти L2Character actor . Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Danar 7 Опубликовано 29 декабря, 2015 (изменено) package ro0tt; /* * @author Ro0TT * @date 25.04.2014 */ import org.apache.commons.lang3.ArrayUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ru.catssoftware.gameserver.listener.actor.OnDeathListener; import ru.catssoftware.gameserver.model.L2Character; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.listeners.CharListenerList; public class DropItemNooblRb { private static int CUSTOM_RB[] = { 25325}; private static int[] ITEM = { 7679, 1}; private static Logger _log = LoggerFactory.getLogger(DropItemNooblRb.class); public static void main(String... arg) { CharListenerList.addGlobal(new OnDeathListenerImpl()); _log.info("Mass drop from custom RB loaded."); } private static class OnDeathListenerImpl implements OnDeathListener { @Override public void onDeath(L2Character actor, L2Character killer) { if (!actor.isNpc() || !ArrayUtils.contains(CUSTOM_RB, actor.getNpc().getNpcId())) return; if (killer == null || killer.getPlayer() == null) return; L2PcInstance player = killer.getPlayer(); if (player.isInParty() && player.isSubClassActive() && player.getLevel() >= 75) { for (L2PcInstance member : player.getParty().getPartyMembers()) member.addItem("DropItemNooblRb", ITEM[0], ITEM[1], actor, true); } else if(!player.isInParty() && player.isSubClassActive() && player.getLevel() >= 75) { player.addItem("DropItemNooblRb", ITEM[0], ITEM[1], actor, true); } else { player.sendMessage("Only for sub-class 75+ lvl!"); } } } } Вот так будет работать. Персонаж 70 лвл не саб и дало итем...капец... Изменено 29 декабря, 2015 пользователем Danar Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 29 декабря, 2015 package ro0tt; /* * @author Ro0TT * @date 25.04.2014 */ import org.apache.commons.lang3.ArrayUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ru.catssoftware.gameserver.listener.actor.OnDeathListener; import ru.catssoftware.gameserver.model.L2Character; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.listeners.CharListenerList; public class DropItemNooblRb { private static int CUSTOM_RB[] = { 25325}; private static int[] ITEM = { 7679, 1}; private static Logger _log = LoggerFactory.getLogger(DropItemNooblRb.class); public static void main(String... arg) { CharListenerList.addGlobal(new OnDeathListenerImpl()); _log.info("Mass drop from custom RB loaded."); } private static class OnDeathListenerImpl implements OnDeathListener { @Override public void onDeath(L2Character actor, L2Character killer) { if (!actor.isNpc() || !ArrayUtils.contains(CUSTOM_RB, actor.getNpc().getNpcId())) return; if (killer == null || killer.getPlayer() == null) return; L2PcInstance player = killer.getPlayer(); if (player.isInParty() && player.isSubClassActive() && player.getLevel() >= 75) { for (L2PcInstance member : player.getParty().getPartyMembers()) member.addItem("DropItemNooblRb", ITEM[0], ITEM[1], actor, true); } else if(!player.isInParty() && player.isSubClassActive() && player.getLevel() >= 75) { player.addItem("DropItemNooblRb", ITEM[0], ITEM[1], actor, true); } else { player.sendMessage("Only for sub-class 75+ lvl!"); } } } } Вот так будет работать. Поржал else if(!player.isInParty() && player.isSubClassActive() && player.getLevel() >= 75) { player.addItem("DropItemNooblRb", ITEM[0], ITEM[1], actor, true); } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Danar 7 Опубликовано 29 декабря, 2015 Поржал else if(!player.isInParty() && player.isSubClassActive() && player.getLevel() >= 75) { player.addItem("DropItemNooblRb", ITEM[0], ITEM[1], actor, true); } Так скинул бы уже сразу готовый скриптом... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 29 декабря, 2015 Вам дают подсказки и помогают. Если вы не хотите думать и делать сами - не стоит лезть в это дело. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 29 декабря, 2015 Так скинул бы уже сразу готовый скриптом... в общем так последний мой пост в данной теме. тот скрипт который я скинул там нужно добавить (L2Character actor ) чет я как то промахнулся. и странно что не было ошибок. addItem(member); на addItem(member,actor); addItem(player); на addItem(player,actor); public void addItem(L2PcInstance player) на public void addItem(L2PcInstance player,L2Character actor) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
amkey 2 Опубликовано 29 декабря, 2015 Поржал else if(!player.isInParty() && player.isSubClassActive() && player.getLevel() >= 75) { player.addItem("DropItemNooblRb", ITEM[0], ITEM[1], actor, true); } Я знал я знал, что кто-то заметит Так скинул бы уже сразу готовый скриптом... Исправьте логику в скрипте и вуаля, всё будет работать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Danar 7 Опубликовано 29 декабря, 2015 Я знал я знал, что кто-то заметит Исправьте логику в скрипте и вуаля, всё будет работать. Нет логики) Прошу подсказать ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 29 декабря, 2015 в общем так последний мой пост в данной теме. тот скрипт который я скинул там нужно добавить (L2Character actor ) чет я как то промахнулся. и странно что не было ошибок. addItem(member); на addItem(member,actor); addItem(player); на addItem(player,actor); public void addItem(L2PcInstance player) на public void addItem(L2PcInstance player,L2Character actor) Что, простите?) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 29 декабря, 2015 Что, простите?) http://forummaxi.ru/topic/73033-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B8-%D0%BD%D1%83%D0%B1%D0%BB-%D1%80%D0%B1/?do=findComment&comment=685220 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Danar 7 Опубликовано 29 декабря, 2015 http://forummaxi.ru/topic/73033-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B8-%D0%BD%D1%83%D0%B1%D0%BB-%D1%80%D0%B1/?do=findComment&comment=685220 Да вот странно что небыло ошибок... Выложили бы уже норм целый скрипт и все небыло бы лишних вопросов.. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gawric 49 Опубликовано 30 декабря, 2015 ну что работает? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты