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 (изменено) В 19.11.2015 в 15:53, Age сказал: 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 (изменено) В 19.11.2015 в 16:18, Kendor сказал: А где же прописывать тогда айди нпц??? Ты текст то добавил новый а айди куда вписывать то))) for (int id : BossIds) берет от туда же от куда и ид возрождения, ну должен брать по идее Изменено 19 ноября, 2015 пользователем Age Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 19 ноября, 2015 В 19.11.2015 в 16:28, Age сказал: for (int id : BossIds) берет от туда же от куда и ид возрождения, ну должен брать по идее Я сейчас напортачу))) Во всяком случае не пишет анонс про убийство почему то ..... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Magu 1 Опубликовано 19 ноября, 2015 Сделайте метод onSpawn Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yoko 132 Опубликовано 19 ноября, 2015 В 19.11.2015 в 18:02, Magu сказал: Сделайте метод onSpawn onSpawn это на анонс респа Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Magu 1 Опубликовано 19 ноября, 2015 В 19.11.2015 в 18:07, Age сказал: onSpawn это на анонс респа а,все,завтыкал,простите Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 19 ноября, 2015 В 19.11.2015 в 18:07, Age сказал: 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 В 19.11.2015 в 19:40, KotBegemot сказал: тю... допиши ид своих нпс) //Ид боссов 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 В 20.11.2015 в 07:22, Kendor сказал: Да мне не нпц нужно дописать.. Если я допишу своих нпц то будеи писать ЭпикБосс появился в мире и все.. А мне надо что бы и на епик писалдо и на нпц отдельно которых я выставлю.. Подскажешь ? //Ид боссов 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 В 20.11.2015 в 08:24, ncsSpawN сказал: //Ид боссов 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 (изменено) В 20.11.2015 в 08:24, ncsSpawN сказал: //Ид боссов 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 213 Опубликовано 20 ноября, 2015 Держи там 2 скрипта 1 на появления 2 на смерть. annonceRB.rarFetching info... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KotBegemot 268 Опубликовано 21 ноября, 2015 я конечно не силён в яве но думаю дело в BossIds2 в int можно вроде только буквы хранить или нужно добавить импорты Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 21 ноября, 2015 В 20.11.2015 в 16:22, Kendor сказал: Не подошло. Куча ошибок летит..... Вот весь скрипт 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 (изменено) В 21.11.2015 в 09:49, BymerOK сказал: Ошибки потому что deadcode Потому что какой-то молодец додумался добавить в addSpawNID 1 масив а не 2 и поставил return null; в место break; а не в конце return null; Изменено 21 ноября, 2015 пользователем ncsSpawN Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 21 ноября, 2015 В 21.11.2015 в 09:59, ncsSpawN сказал: Потому что какой-то молодец додумался добавить в addSpawNID 1 масив а не 2 и поставил return null; в место break; а не в конце return null; Отредактируй пожалуйста как нужно сделать полный скрипт) С меня +++++++ )) Буду благодарен. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 22 ноября, 2015 В 21.11.2015 в 09:27, KotBegemot сказал: я конечно не силён в яве но думаю дело в BossIds2 в int можно вроде только буквы хранить или нужно добавить импорты Строго наоборот. в инте хранятся целые числа. не путай со стрингом. По сабжу - ответ в посте Спауна. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TaleQale 213 Опубликовано 22 ноября, 2015 я же скинул 2 рабочих скрипта один на смерть один на рес. у меня на последней шаровой пв под 8 яве все норм пашет Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 22 ноября, 2015 В 22.11.2015 в 12:53, TaleQale сказал: я же скинул 2 рабочих скрипта один на смерть один на рес. у меня на последней шаровой пв под 8 яве все норм пашет мне надо что бы на респ был один для обычных РБ другой для Епика.. и все. НУ и желательно что бы писало что осталось до респа там 5 минут.. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TaleQale 213 Опубликовано 23 ноября, 2015 На пв для эпика есть в конфиге настройки, а за 5 минут в шаре нету. Если только за денежку кто-то запилит. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 23 ноября, 2015 В 23.11.2015 в 01:41, TaleQale сказал: На пв для эпика есть в конфиге настройки, а за 5 минут в шаре нету. Если только за денежку кто-то запилит. Печалька... НА многих серверах такое видел.. И все пилили одно и тоже за деньги? Сомниваюсь.. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TaleQale 213 Опубликовано 24 ноября, 2015 Скорее это одна и таже сборка или вообще один и тот же человек)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты