Kendor 211 Опубликовано 19 ноября, 2015 Ребят привет! Подскажите пожалуйста вот есть скрипт на анонсы когда рб респается . package ai; import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.quest.jython.QuestJython; import net.sf.l2j.gameserver.Announcements; public class NpcScriptThree extends QuestJython { //Ид боссов private final static int[] BossIds = {70021,100510,100511,100512,60006,60000,51035,51034,51033,60008,50000,50001,50002,50003,50004,50005,50006,60005,60003}; public NpcScriptThree(int questId, String name, String descr) { super(questId, name, descr, 1); 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 static void main(String[] args) { new NpcScriptThree(-1, "NpcScriptThree", "ai"); } } Как можно сделать что бы еще когда убиваешь моба писалось нпц такой то мертв!? Ну и что бы можно было прописать отдельно нпц на которых это будет распространяться .. попробывал добавить просто еще 1 раз тоже самое - повыбивало ошибки.. Очень прошу помогите пожалуйста! С меня лимит плюсов. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yoko 132 Опубликовано 19 ноября, 2015 (изменено) package ai; import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.quest.jython.QuestJython; import net.sf.l2j.gameserver.Announcements; public class NpcScriptThree extends QuestJython { //Ид боссов private final static int[] BossIds = {70021,100510,100511,100512,60006,60000,51035,51034,51033,60008,50000,50001,50002,50003,50004,50005,50006,60005,60003}; public NpcScriptThree(int questId, String name, String descr) { super(questId, name, descr, 1); 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", "ai"); } } попробуй так, либо отдельный скрипт сделай package ai; import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.quest.jython.QuestJython; import net.sf.l2j.gameserver.Announcements; public class NpcScriptThree extends QuestJython { //Ид боссов private final static int[] BossIds = {70021,100510,100511,100512,60006,60000,51035,51034,51033,60008,50000,50001,50002,50003,50004,50005,50006,60005,60003}; public NpcScriptThree(int questId, String name, String descr) { super(questId, name, descr, 1); for (int BossIds1 : BossIds) addSpawnId(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", "ai"); } } Изменено 19 ноября, 2015 пользователем Age 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 19 ноября, 2015 (изменено) package ai; import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.quest.jython.QuestJython; import net.sf.l2j.gameserver.Announcements; public class NpcScriptThree extends QuestJython { //Ид боссов private final static int[] BossIds = {70021,100510,100511,100512,60006,60000,51035,51034,51033,60008,50000,50001,50002,50003,50004,50005,50006,60005,60003}; public NpcScriptThree(int questId, String name, String descr) { super(questId, name, descr, 1); 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", "ai"); } } попробуй так, либо отдельный скрипт сделай package ai; import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.quest.jython.QuestJython; import net.sf.l2j.gameserver.Announcements; public class NpcScriptThree extends QuestJython { //Ид боссов private final static int[] BossIds = {70021,100510,100511,100512,60006,60000,51035,51034,51033,60008,50000,50001,50002,50003,50004,50005,50006,60005,60003}; public NpcScriptThree(int questId, String name, String descr) { super(questId, name, descr, 1); for (int BossIds1 : BossIds) addSpawnId(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", "ai"); } } А где же прописывать тогда айди нпц??? Ты текст то добавил новый а айди куда вписывать то))) Изменено 19 ноября, 2015 пользователем Kendor Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yoko 132 Опубликовано 19 ноября, 2015 (изменено) А где же прописывать тогда айди нпц??? Ты текст то добавил новый а айди куда вписывать то))) for (int id : BossIds) берет от туда же от куда и ид возрождения, ну должен брать по идее Изменено 19 ноября, 2015 пользователем Age Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 19 ноября, 2015 for (int id : BossIds) берет от туда же от куда и ид возрождения, ну должен брать по идее Я сейчас напортачу))) Во всяком случае не пишет анонс про убийство почему то ..... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Magu 1 Опубликовано 19 ноября, 2015 Сделайте метод onSpawn Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yoko 132 Опубликовано 19 ноября, 2015 Сделайте метод onSpawn onSpawn это на анонс респа Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Magu 1 Опубликовано 19 ноября, 2015 onSpawn это на анонс респа а,все,завтыкал,простите Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 19 ноября, 2015 onSpawn это на анонс респа Помогите пож Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KotBegemot 268 Опубликовано 19 ноября, 2015 (изменено) тю... допиши ид своих нпс) //Ид боссовprivate final static int[] BossIds = {70021,100510,100511,100512,60006,60000,51035,51034,51033,60008,50000,50001,50002,50003,50004,50005,50006,60005,60003}; если я не ошибаюсь это простой массив где хранятся ид или добавь новый массив и поменяй ид for (int id : BossIds)if (npcId == id) Announcements.getInstance().announceToAll("ЭпикБосс : " + raidboss.getName() + " появился в мире!"); return null; } Изменено 19 ноября, 2015 пользователем KotBegemot Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 20 ноября, 2015 тю... допиши ид своих нпс) //Ид боссов private final static int[] BossIds = {70021,100510,100511,100512,60006,60000,51035,51034,51033,60008,50000,50001,50002,50003,50004,50005,50006,60005,60003}; если я не ошибаюсь это простой массив где хранятся ид или добавь новый массив и поменяй ид for (int id : BossIds) if (npcId == id) Announcements.getInstance().announceToAll("ЭпикБосс : " + raidboss.getName() + " появился в мире!"); return null; } Да мне не нпц нужно дописать.. Если я допишу своих нпц то будеи писать ЭпикБосс появился в мире и все.. А мне надо что бы и на епик писалдо и на нпц отдельно которых я выставлю.. Подскажешь ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ncsSpawN 45 Опубликовано 20 ноября, 2015 Да мне не нпц нужно дописать.. Если я допишу своих нпц то будеи писать ЭпикБосс появился в мире и все.. А мне надо что бы и на епик писалдо и на нпц отдельно которых я выставлю.. Подскажешь ? //Ид боссов private final static int[] BossIds = {70021,100510,100511,100512,60006,60000,51035,51034,51033,60008,50000,50001,50002,50003,50004,50005,50006,60005,60003}; private final static int[] BossIds2 = {1231,3212,1111}; for (int id : BossIds) { if (npcId == id) { Announcements.getInstance().announceToAll("ЭпикБосс : " + raidboss.getName() + " появился в мире!"); return null; } } for (int id : BossIds2) { if (npcId == id) { Announcements.getInstance().announceToAll("Мобы : " + raidboss2.getName() + " появился в мире!"); return null; } } 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 20 ноября, 2015 //Ид боссов private final static int[] BossIds = {70021,100510,100511,100512,60006,60000,51035,51034,51033,60008,50000,50001,50002,50003,50004,50005,50006,60005,60003}; private final static int[] BossIds2 = {1231,3212,1111}; for (int id : BossIds) { if (npcId == id) { Announcements.getInstance().announceToAll("ЭпикБосс : " + raidboss.getName() + " появился в мире!"); return null; } } for (int id : BossIds2) { if (npcId == id) { Announcements.getInstance().announceToAll("Мобы : " + raidboss2.getName() + " появился в мире!"); return null; } } Спасибо попробую. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 20 ноября, 2015 (изменено) //Ид боссов private final static int[] BossIds = {70021,100510,100511,100512,60006,60000,51035,51034,51033,60008,50000,50001,50002,50003,50004,50005,50006,60005,60003}; private final static int[] BossIds2 = {1231,3212,1111}; for (int id : BossIds) { if (npcId == id) { Announcements.getInstance().announceToAll("ЭпикБосс : " + raidboss.getName() + " появился в мире!"); return null; } } for (int id : BossIds2) { if (npcId == id) { Announcements.getInstance().announceToAll("Мобы : " + raidboss2.getName() + " появился в мире!"); return null; } } Не подошло. Куча ошибок летит..... Вот весь скрипт package ai; import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.quest.jython.QuestJython; import net.sf.l2j.gameserver.Announcements; public class NpcScriptThree extends QuestJython { //Ид боссов private final static int[] BossIds = {70021,100510,100511,100512,60006,60000,51035,51034,51033,60008,50000,50001,50002,50003,50004,50005,50006,60005,60003}; private final static int[] BossIds2 = {1231,3212,1111}; public NpcScriptThree(int questId, String name, String descr) { super(questId, name, descr, 1); 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; }for (int id : BossIds) { if (npcId == id) { Announcements.getInstance().announceToAll("ЭпикБосс : " + raidboss.getName() + " появился в мире!"); return null; } } for (int id : BossIds2) { if (npcId == id) { Announcements.getInstance().announceToAll("Мобы : " + raidboss2.getName() + " появился в мире!"); return null; } } public static void main(String[] args) { new NpcScriptThree(-1, "NpcScriptThree", "ai"); } } Изменено 20 ноября, 2015 пользователем Kendor Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TaleQale 212 Опубликовано 20 ноября, 2015 Держи там 2 скрипта 1 на появления 2 на смерть. annonceRB.rar Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KotBegemot 268 Опубликовано 21 ноября, 2015 я конечно не силён в яве но думаю дело в BossIds2 в int можно вроде только буквы хранить или нужно добавить импорты Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 21 ноября, 2015 Не подошло. Куча ошибок летит..... Вот весь скрипт package ai; import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.quest.jython.QuestJython; import net.sf.l2j.gameserver.Announcements; public class NpcScriptThree extends QuestJython { //Ид боссов private final static int[] BossIds = {70021,100510,100511,100512,60006,60000,51035,51034,51033,60008,50000,50001,50002,50003,50004,50005,50006,60005,60003}; private final static int[] BossIds2 = {1231,3212,1111}; public NpcScriptThree(int questId, String name, String descr) { super(questId, name, descr, 1); 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; }for (int id : BossIds) { if (npcId == id) { Announcements.getInstance().announceToAll("ЭпикБосс : " + raidboss.getName() + " появился в мире!"); return null; } } for (int id : BossIds2) { if (npcId == id) { Announcements.getInstance().announceToAll("Мобы : " + raidboss2.getName() + " появился в мире!"); return null; } } public static void main(String[] args) { new NpcScriptThree(-1, "NpcScriptThree", "ai"); } } Ошибки потому что deadcode Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ncsSpawN 45 Опубликовано 21 ноября, 2015 (изменено) Ошибки потому что deadcode Потому что какой-то молодец додумался добавить в addSpawNID 1 масив а не 2 и поставил return null; в место break; а не в конце return null; Изменено 21 ноября, 2015 пользователем ncsSpawN Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 21 ноября, 2015 Потому что какой-то молодец додумался добавить в addSpawNID 1 масив а не 2 и поставил return null; в место break; а не в конце return null; Отредактируй пожалуйста как нужно сделать полный скрипт) С меня +++++++ )) Буду благодарен. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 22 ноября, 2015 я конечно не силён в яве но думаю дело в BossIds2 в int можно вроде только буквы хранить или нужно добавить импорты Строго наоборот. в инте хранятся целые числа. не путай со стрингом. По сабжу - ответ в посте Спауна. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TaleQale 212 Опубликовано 22 ноября, 2015 я же скинул 2 рабочих скрипта один на смерть один на рес. у меня на последней шаровой пв под 8 яве все норм пашет Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 22 ноября, 2015 я же скинул 2 рабочих скрипта один на смерть один на рес. у меня на последней шаровой пв под 8 яве все норм пашет мне надо что бы на респ был один для обычных РБ другой для Епика.. и все. НУ и желательно что бы писало что осталось до респа там 5 минут.. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TaleQale 212 Опубликовано 23 ноября, 2015 На пв для эпика есть в конфиге настройки, а за 5 минут в шаре нету. Если только за денежку кто-то запилит. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 23 ноября, 2015 На пв для эпика есть в конфиге настройки, а за 5 минут в шаре нету. Если только за денежку кто-то запилит. Печалька... НА многих серверах такое видел.. И все пилили одно и тоже за деньги? Сомниваюсь.. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TaleQale 212 Опубликовано 24 ноября, 2015 Скорее это одна и таже сборка или вообще один и тот же человек)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты