Warframe 67 Опубликовано 3 августа, 2013 (изменено) Всем привет! Собственно, попросили в одной из тем помочь с переносом L2Rebirth Manager'a на Lucera. На работоспособность не проверял, компиляция и запуск проходят на "ура". P.S. Адаптирован первый найденный в интернете менеджер перерождений, если у вас есть более лучший вариант - могу адаптировать и его. Установка: Идем сюда: ru.catssoftware.gameserver.model.actor.instance Создаем класс: L2RebirthMasterInstance И копируем туда данный код: /* This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see <http://www.gnu.org/licenses/>. */ package ru.catssoftware.gameserver.model.actor.instance; import ru.catssoftware.gameserver.datatables.ItemTable; import ru.catssoftware.gameserver.model.L2ItemInstance; import ru.catssoftware.gameserver.model.L2Skill; import ru.catssoftware.gameserver.model.base.ClassId; import ru.catssoftware.gameserver.model.base.Experience; import ru.catssoftware.gameserver.network.SystemMessageId; import ru.catssoftware.gameserver.network.serverpackets.SystemMessage; import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage; import ru.catssoftware.gameserver.templates.chars.L2NpcTemplate; /** * Rebirth Npc's Instance * * @author HanWikq * @ Adapted for Lucera: Warframe. */ public class L2RebirthMasterInstance extends L2FolkInstance { int itemId=57 ; // item ID which should be given, should be in this format: "int itemId= ???;" int count=1 ; // how many of the item should be given?, should be in this format: "int count= ???;" int _maxRebirths=3; // how many rebirths are allowed?should be in this format: "int _maxRebirths= ???;" public L2RebirthMasterInstance(int objectId, L2NpcTemplate template) { super(objectId, template); } @Override public void onBypassFeedback(L2PcInstance player, String command) { if (command.startsWith("Rebirth")) { ClassId classId = player.getClassId(); int jobLevel = classId.level(); if (player.getLevel() >= 80 && jobLevel == 3) { L2ItemInstance item = ItemTable.getInstance().createItem("Rebirth Item", itemId, count, player); player.getInventory().addItem("Rebirth Item", item.getItemId(), count, player, null); long pXp = player.getExp(); long tXp = Experience.LEVEL[1]; player.removeExpAndSp(pXp - tXp, 0); ClassId _baseClass = classId; for (ClassId child : ClassId.values()) { if (classId.childOf(child)) { _baseClass = child; for (ClassId child2 : ClassId.values()) { if (_baseClass.childOf(child2)) { _baseClass = child2; for (ClassId child3 : ClassId.values()) { if (_baseClass.childOf(child3)) _baseClass = child3; } } } } } for (L2Skill skill : player.getAllSkills()) player.removeSkill(skill); player.setClassId(_baseClass.getId()); if (player.isSubClassActive()) player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); else player.setBaseClass(player.getActiveClass()); player.broadcastUserInfo(); player.rewardSkills(); player.sendSkillList(); // system sound for 1st and 2nd occupation player.sendPacket(new SystemMessage(SystemMessageId.CLASS_TRANSFER)); // Update the overloaded status of the L2PcInstance player.refreshOverloaded(); // Update the expertise status of the L2PcInstance player.refreshExpertisePenalty(); player.sendMessage("You have been reborn"); } else player.sendMessage("You are to low level, you need to be atleast be 85 with completed third class occupation"); } } } Теперь добавляем в БД любого NPC и ставим ему тип L2RebirthMaster. P.S. Так же можно связать и сделать через команду. Конфиги: int itemId=57 ; // Какой предмет (id) за Перерождение. int count=1 ; // Сколько предметов (Количество). int _maxRebirths=3; // Максимальное количество Перерождений. Изменено 3 августа, 2013 пользователем Warframe 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KillerProMW 84 Опубликовано 3 августа, 2013 зачем делать такой хардкодинг?)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DieOrDie 6 Опубликовано 3 августа, 2013 (изменено) Можешь бесплатно сделать под lucera квест на крылья и беффер? (я скину квест тебе) Изменено 3 августа, 2013 пользователем DieOrDie Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ActOne 12 Опубликовано 3 августа, 2013 зачем делать такой хардкодинг?)) На нём вся люцера ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Warframe 67 Опубликовано 3 августа, 2013 (изменено) зачем делать такой хардкодинг?)) Вопрос не ко мне, я лишь адаптировал то, что нашел Изменено 3 августа, 2013 пользователем Warframe Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Warframe 67 Опубликовано 3 августа, 2013 Пример диалога: <HTML> <BODY> Hello,welcome to the rebirth manager<br> <a action="bypass -h npc_%objectId%_Rebirth">Make a rebirth.</a> </BODY> </HTML> Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LionKnight 62 Опубликовано 3 августа, 2013 А под фрозен можешь сделать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Warframe 67 Опубликовано 3 августа, 2013 А под фрозен можешь сделать? Могу, но под фрозен уже вроде бы есть готовые. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TrueMan 742 Опубликовано 3 августа, 2013 А можно подробнее, что делает этот нпц?) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Warframe 67 Опубликовано 3 августа, 2013 (изменено) А можно подробнее, что делает этот нпц?) Cбрасывает скиллы и класс до первоначальных. Изменено 3 августа, 2013 пользователем Warframe 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
masone 298 Опубликовано 3 августа, 2013 А можно подробнее, что делает этот нпц?) Перерождение,тебе дают скил и сливают до определёный лвл 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LionKnight 62 Опубликовано 3 августа, 2013 А ну тогда да этот нпс есть под прозен Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ddwwdd 42 Опубликовано 4 августа, 2013 Автор, пожалуйста переделайте под ПВ буду вам очень благодарен. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты