MeRDox 60 Опубликовано 22 сентября, 2016 У кого небудь есть скрипт на рандомный спавн монстров, после убийства одного монстра? Типа как на PWSoft, только на люцероподные? Если есть в кого-то, поделитесь пожалуйста package ai; import net.sf.l2j.gameserver.ThreadPoolManager; 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.jython.QuestJython; import scripts.clanhalls.BanditStronghold; public class BanditCamp extends QuestJython { private static final int[] CAMPS = {35423,35424,35425,35426,35427}; private static final int[] BOSSES = {35428,35429,35430,35431,35432}; private L2NpcInstance camp = null; public BanditCamp(int questId, String name, String descr) { super(questId, name, descr, 1); for (int i: CAMPS) { this.addSpawnId(i); } for (int k: BOSSES) { this.addKillId(k); } } public String onSpawn(L2NpcInstance npc) { camp = npc; ThreadPoolManager.getInstance().scheduleGeneral(new CheckSiege(), 5000); return null; } public String onKill(L2NpcInstance npc, L2PcInstance killer, boolean isPet) { BanditStronghold.getCH().notifyDeath(npc.getObjectId()); return null; } public class CheckSiege implements Runnable { public CheckSiege() { } public void run() { for (int i = 0; i < 7200000; i += 3000) { try { Thread.sleep(3000); if (BanditStronghold.getCH().inProgress()) break; } catch (InterruptedException e) { } } camp.deleteMe(); } } public static void main (String... arguments ) { new BanditCamp(-1,"BanditCamp","BanditCamp"); } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
terege 110 Опубликовано 22 сентября, 2016 У кого небудь есть скрипт на рандомный спавн монстров, после убийства одного монстра? Типа как на PWSoft, только на люцероподные? Если есть в кого-то, поделитесь пожалуйста package ai; import net.sf.l2j.gameserver.ThreadPoolManager; 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.jython.QuestJython; import scripts.clanhalls.BanditStronghold; public class BanditCamp extends QuestJython { private static final int[] CAMPS = {35423,35424,35425,35426,35427}; private static final int[] BOSSES = {35428,35429,35430,35431,35432}; private L2NpcInstance camp = null; public BanditCamp(int questId, String name, String descr) { super(questId, name, descr, 1); for (int i: CAMPS) { this.addSpawnId(i); } for (int k: BOSSES) { this.addKillId(k); } } public String onSpawn(L2NpcInstance npc) { camp = npc; ThreadPoolManager.getInstance().scheduleGeneral(new CheckSiege(), 5000); return null; } public String onKill(L2NpcInstance npc, L2PcInstance killer, boolean isPet) { BanditStronghold.getCH().notifyDeath(npc.getObjectId()); return null; } public class CheckSiege implements Runnable { public CheckSiege() { } public void run() { for (int i = 0; i < 7200000; i += 3000) { try { Thread.sleep(3000); if (BanditStronghold.getCH().inProgress()) break; } catch (InterruptedException e) { } } camp.deleteMe(); } } public static void main (String... arguments ) { new BanditCamp(-1,"BanditCamp","BanditCamp"); } } Могу набросать код. Смотря на скок надо тебе. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MeRDox 60 Опубликовано 22 сентября, 2016 Могу набросать код. Смотря на скок надо тебе. у меня есть код, только или один спавнится, или все вписание, а вот чтобы рандомно...никак, буду багодерен если поможете) та мне и двоих будет достаточно, по примеру думаю сделаю...вродь легкий код, но я очень слабый в джаве) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
terege 110 Опубликовано 22 сентября, 2016 у меня есть код, только или один спавнится, или все вписание, а вот чтобы рандомно...никак, буду багодерен если поможете) та мне и двоих будет достаточно, по примеру думаю сделаю...вродь легкий код, но я очень слабый в джаве) а чево rnd не применяешь короче в скайп пикай 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fireday2 49 Опубликовано 23 сентября, 2016 изучай программирование - отпадут такие вопросыв любом случае знание программирования пригодится, так что будет не зря Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Er1zo 2 Опубликовано 9 октября, 2016 у меня есть код, только или один спавнится, или все вписание, а вот чтобы рандомно...никак, буду багодерен если поможете) та мне и двоих будет достаточно, по примеру думаю сделаю...вродь легкий код, но я очень слабый в джаве) Получилось запилить такую фишку? Мне тоже такая нужна, не мог бы поделиться? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MeRDox 60 Опубликовано 9 октября, 2016 (изменено) Получилось запилить такую фишку? Мне тоже такая нужна, не мог бы поделиться? package ai; import ru.catssoftware.gameserver.model.L2Attackable; import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.quest.Quest; import ru.catssoftware.tools.random.Rnd; public class FOGMobs extends Quest { private final static int Boss = 50111; private final static int Mobs = 50112; private final static int Chance = 90; public FOGMobs(int questId, String name, String descr) { super(questId, name, descr); addKillId(Boss); super.addSpawnId(Mobs); } @Override public String onKill (L2NpcInstance npc, L2PcInstance killer, boolean isPet) { if(Rnd.get(100)<Chance) { L2Attackable Boss = (L2Attackable)addSpawn(Mobs,npc.getX(),npc.getY(),npc.getZ(),npc.getHeading(),true,0); } return null; } public static void main (String... arguments ) { new FOGMobs(-1,"FOGMobs","FOGMobs"); } } Изменено 9 октября, 2016 пользователем MeRDox 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
obves 8 Опубликовано 23 октября, 2017 У кого небудь есть скрипт на рандомный спавн монстров, после убийства одного монстра? Типа как на PWSoft, только на люцероподные? Если есть в кого-то, поделитесь пожалуйста [spoiler=SpawnNpc] package ai; import net.sf.l2j.gameserver.ThreadPoolManager; 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.jython.QuestJython; import scripts.clanhalls.BanditStronghold; public class BanditCamp extends QuestJython { private static final int[] CAMPS = {35423,35424,35425,35426,35427}; private static final int[] BOSSES = {35428,35429,35430,35431,35432}; private L2NpcInstance camp = null; public BanditCamp(int questId, String name, String descr) { super(questId, name, descr, 1); for (int i: CAMPS) { this.addSpawnId(i); } for (int k: BOSSES) { this.addKillId(k); } } public String onSpawn(L2NpcInstance npc) { camp = npc; ThreadPoolManager.getInstance().scheduleGeneral(new CheckSiege(), 5000); return null; } public String onKill(L2NpcInstance npc, L2PcInstance killer, boolean isPet) { BanditStronghold.getCH().notifyDeath(npc.getObjectId()); return null; } public class CheckSiege implements Runnable { public CheckSiege() { } public void run() { for (int i = 0; i < 7200000; i += 3000) { try { Thread.sleep(3000); if (BanditStronghold.getCH().inProgress()) break; } catch (InterruptedException e) { } } camp.deleteMe(); } } public static void main (String... arguments ) { new BanditCamp(-1,"BanditCamp","BanditCamp"); } } а как он на пвСофт работает? сам принцип какой? в зоне спавнит рандомно? или после смерти моба появляется рандомный моб? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SmokiMo 892 Опубликовано 24 октября, 2017 а как он на пвСофт работает? сам принцип какой? в зоне спавнит рандомно? или после смерти моба появляется рандомный моб? Скрипт, который висит в начале темы, никого не спавнит Не знаю к чему его вообще туда добавили. А вообще можно написать с любыми условиями скрипт, хоть рандомного моба, хоть в рандомном месте. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты