Orgazman 0 Опубликовано 27 сентября, 2015 Добрый день. Интересует скрипт на анонс смерти рб для сборки l2jlovely. Вот есть скрипт, который работает только на половину. Он объявляет о респе рб, но после смерти ничего не пишет. package custom; import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance; import ru.catssoftware.gameserver.model.quest.jython.QuestJython; import ru.catssoftware.gameserver.Announcements; public class NpcScriptThree extends QuestJython { //Ид боссов private final static int[] BossIds = {25035,25054,25126,25220}; public NpcScriptThree(int questId, String name, String descr) { super(questId, name, descr); for (int BossIds1 : BossIds) addSpawnId(BossIds1); } public String onSpawn(L2NpcInstance raidboss) { int npcId = raidboss.getNpcId(); for (int id : BossIds) if (npcId == id) Announcements.getInstance().announceToAll("РейдБосс : " + raidboss.getName() + ": появился в мире!"); return null; } public String onKill(L2NpcInstance raidboss) { int npcId = raidboss.getNpcId(); for (int id : BossIds) if (npcId == id) Announcements.getInstance().announceToAll("РейдБосс : " + raidboss.getName() + ": Был убит!"); return null; } public static void main(String[] args) { new NpcScriptThree(-1, "NpcScriptThree", "custom"); } } Спасибо заранее. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Orgazman 0 Опубликовано 27 сентября, 2015 Или объяснить чутка, как реализовать это http://forummaxi.ru/index.php?showtopic=34350&&do=findComment&comment=332572 . И так, идем по пути ru.catssoftware.gameserver.model.actor.instance и ищем класс L2RaidBossInstance. По какому пути куда над заходить. Извините за глупый вопрос). Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 27 сентября, 2015 Не анонсит о смерти т.к. обработчик смерти не подключен к скрипту (addKillId или как-то так). Дописать так же как и addSpawnId 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Orgazman 0 Опубликовано 27 сентября, 2015 Не анонсит о смерти т.к. обработчик смерти не подключен к скрипту (addKillId или как-то так). Дописать так же как и addSpawnId Спасибо,сейчас попробую и отпишу. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Orgazman 0 Опубликовано 27 сентября, 2015 (изменено) Разделил скрипт на половину, и попробовал через addkilId, загружается без ошибок, но не работает, после убийства рб , толку 0. package custom; import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance; import ru.catssoftware.gameserver.model.quest.jython.QuestJython; import ru.catssoftware.gameserver.Announcements; public class NpcScriptThree extends QuestJython { //Ид боссов private final static int[] BossIds = {25035,25054,25126,25220}; public NpcScriptThree(int questId, String name, String descr) { super(questId, name, descr); for (int BossIds1 : BossIds) addKillId(BossIds1); } public String onKill(L2NpcInstance raidboss) { int npcId = raidboss.getNpcId(); for (int id : BossIds) if (npcId == id) Announcements.getInstance().announceToAll("РейдБосс : " + raidboss.getName() + ": покинул мир!"); return null; } public static void main(String[] args) { new NpcScriptThree(-1, "NpcScriptThree", "custom"); } } Изменено 27 сентября, 2015 пользователем Orgazman Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 27 сентября, 2015 Разделил скрипт на половину, и попробовал через addkilId, загружается без ошибок, но не работает, после убийства рб , толку 0. package custom; import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance; import ru.catssoftware.gameserver.model.quest.jython.QuestJython; import ru.catssoftware.gameserver.Announcements; public class NpcScriptThree extends QuestJython { //Ид боссов private final static int[] BossIds = {25035,25054,25126,25220}; public NpcScriptThree(int questId, String name, String descr) { super(questId, name, descr); for (int BossIds1 : BossIds) addKillId(BossIds1); } public String onKill(L2NpcInstance raidboss) { int npcId = raidboss.getNpcId(); for (int id : BossIds) if (npcId == id) Announcements.getInstance().announceToAll("РейдБосс : " + raidboss.getName() + ": покинул мир!"); return null; } public static void main(String[] args) { new NpcScriptThree(-1, "NpcScriptThree", "custom"); } } Ясен-красен не будет) Метод с потолка? @Override public String onKill(L2NpcInstance npc, L2PcInstance killer, boolean isPet) { Announcements.getInstance().announceToAll("РейдБосс : " + npc.getName() + ": покинул мир!"); return null; } 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Orgazman 0 Опубликовано 27 сентября, 2015 Ясен-красен не будет) Метод с потолка? @Override public String onKill(L2NpcInstance npc, L2PcInstance killer, boolean isPet) { Announcements.getInstance().announceToAll("РейдБосс : " + npc.getName() + ": покинул мир!"); return null; } Извини конечно за тупой вопрос, но куда это вписать или вместо чего, чтобы точно не налажать) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 27 сентября, 2015 Извини конечно за тупой вопрос, но куда это вписать или вместо чего, чтобы точно не налажать) Замени в своем скрипте public String onKill(L2NpcInstance raidboss) { int npcId = raidboss.getNpcId(); for (int id : BossIds) if (npcId == id) Announcements.getInstance().announceToAll("РейдБосс : " + raidboss.getName() + ": покинул мир!"); return null; } на @Override public String onKill(L2NpcInstance npc, L2PcInstance killer, boolean isPet) { Announcements.getInstance().announceToAll("РейдБосс : " + npc.getName() + ": покинул мир!"); return null; } 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Orgazman 0 Опубликовано 27 сентября, 2015 спасибо, но теперь ошибка. Error on: D:\server\game\data\scripts\custom\NpcScriptThree.java.error.log Line: -1 - Column: -1 compilation failed Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Orgazman 0 Опубликовано 27 сентября, 2015 тема актуальна Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты