GM1 45 Опубликовано 9 августа, 2019 Кто может помочь, переделать под acis ? package net.sf.l2j.gameserver.model.actor.instance; import net.sf.l2j.gameserver.data.ItemTable; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.L2Skill; import net.sf.l2j.gameserver.model.base.ClassId; import net.sf.l2j.gameserver.model.base.Experience; import net.sf.l2j.gameserver.network.SystemMessageId; import net.sf.l2j.gameserver.network.serverpackets.SystemMessage; import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate; /** * Rebirth Npc's Instance * * @author HanWikq * @ Adapted for Lucera: Warframe. */ public class L2RebirthMasterInstance extends Folk { 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"); } } } Ошибка при компиле Спойлер clean: [delete] Deleting directory C:\aCis_gameserver\build checkRequirements: [echo] Verification of your JDK version. init: [mkdir] Created dir: C:\aCis_gameserver\build [mkdir] Created dir: C:\aCis_gameserver\build\classes [mkdir] Created dir: C:\aCis_gameserver\build\dist [mkdir] Created dir: C:\aCis_gameserver\build\dist\login [mkdir] Created dir: C:\aCis_gameserver\build\dist\gameserver compile: [javac] Compiling 1677 source files to C:\aCis_gameserver\build\classes [javac] C:\aCis_gameserver\java\net\sf\l2j\gameserver\model\actor\instance\L2RebirthMasterInstance.java:4: error: cannot find symbol [javac] import net.sf.l2j.gameserver.model.L2ItemInstance; [javac] ^ [javac] symbol: class L2ItemInstance [javac] location: package net.sf.l2j.gameserver.model [javac] C:\aCis_gameserver\java\net\sf\l2j\gameserver\model\actor\instance\L2RebirthMasterInstance.java:11: error: package net.sf.l2j.gameserver.templates.chars does not exist [javac] import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate; [javac] ^ [javac] C:\aCis_gameserver\java\net\sf\l2j\gameserver\model\actor\instance\L2RebirthMasterInstance.java:23: error: cannot find symbol [javac] public L2RebirthMasterInstance(int objectId, L2NpcTemplate template) [javac] ^ [javac] symbol: class L2NpcTemplate [javac] location: class L2RebirthMasterInstance [javac] C:\aCis_gameserver\java\net\sf\l2j\gameserver\model\actor\instance\L2RebirthMasterInstance.java:28: error: cannot find symbol [javac] public void onBypassFeedback(L2PcInstance player, String command) [javac] ^ [javac] symbol: class L2PcInstance [javac] location: class L2RebirthMasterInstance [javac] C:\aCis_gameserver\java\net\sf\l2j\gameserver\model\actor\instance\L2RebirthMasterInstance.java:36: error: cannot find symbol [javac] L2ItemInstance item = ItemTable.getInstance().createItem("Rebirth Item", itemId, count, player); [javac] ^ [javac] symbol: class L2ItemInstance [javac] location: class L2RebirthMasterInstance [javac] C:\aCis_gameserver\java\net\sf\l2j\gameserver\model\actor\instance\L2RebirthMasterInstance.java:70: error: SystemMessage(SystemMessageId) has private access in SystemMessage [javac] player.sendPacket(new SystemMessage(SystemMessageId.CLASS_TRANSFER)); [javac] ^ [javac] 6 errors BUILD FAILED C:\aCis_gameserver\build.xml:89: Compile failed; see the compiler error output for details. Total time: 15 seconds Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 10 августа, 2019 Если на взаимовыгодной основе то риши в личку Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LordWinter 78 Опубликовано 10 августа, 2019 15 часов назад, Solution сказал: Если на взаимовыгодной основе то риши в личку капец ты скупердяй, сложно импорты поправить и чутка код? package net.sf.l2j.gameserver.model.actor.instance; import net.sf.l2j.gameserver.data.ItemTable; import net.sf.l2j.gameserver.model.item.instance.ItemInstance; import net.sf.l2j.gameserver.model.L2Skill; import net.sf.l2j.gameserver.model.actor.template.NpcTemplate; import net.sf.l2j.gameserver.model.base.ClassId; import net.sf.l2j.gameserver.model.base.Experience; import net.sf.l2j.gameserver.network.SystemMessageId; public class L2RebirthMasterInstance extends Folk { private int itemId = 57 ; // item ID which should be given, should be in this format: "int itemId= ???;" private int count = 1 ; // how many of the item should be given?, should be in this format: "int count= ???;" public L2RebirthMasterInstance(int objectId, NpcTemplate template) { super(objectId, template); } @Override public void onBypassFeedback(Player player, String command) { if (command.startsWith("Rebirth")) { ClassId classId = player.getClassId(); int jobLevel = classId.level(); if (player.getLevel() >= 80 && jobLevel == 3) { ItemInstance item = ItemTable.getInstance().createItem("Rebirth Item", itemId, count, player, null); 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.getSkills().values()) player.removeSkill(skill.getId(), false); 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(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"); } } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GM1 45 Опубликовано 10 августа, 2019 20 минут назад, LordWinter сказал: капец ты скупердяй, сложно импорты поправить и чутка код? package net.sf.l2j.gameserver.model.actor.instance; import net.sf.l2j.gameserver.data.ItemTable; import net.sf.l2j.gameserver.model.item.instance.ItemInstance; import net.sf.l2j.gameserver.model.L2Skill; import net.sf.l2j.gameserver.model.actor.template.NpcTemplate; import net.sf.l2j.gameserver.model.base.ClassId; import net.sf.l2j.gameserver.model.base.Experience; import net.sf.l2j.gameserver.network.SystemMessageId; public class L2RebirthMasterInstance extends Folk { private int itemId = 57 ; // item ID which should be given, should be in this format: "int itemId= ???;" private int count = 1 ; // how many of the item should be given?, should be in this format: "int count= ???;" public L2RebirthMasterInstance(int objectId, NpcTemplate template) { super(objectId, template); } @Override public void onBypassFeedback(Player player, String command) { if (command.startsWith("Rebirth")) { ClassId classId = player.getClassId(); int jobLevel = classId.level(); if (player.getLevel() >= 80 && jobLevel == 3) { ItemInstance item = ItemTable.getInstance().createItem("Rebirth Item", itemId, count, player, null); 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.getSkills().values()) player.removeSkill(skill.getId(), false); 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(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"); } } } еще такой вопрос, все хорошо скомпилилось, только есть, количевство перерождений 3, а делает бесконечно, не подскажеш, как можно решить ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LordWinter 78 Опубликовано 10 августа, 2019 5 минут назад, LetsVirt сказал: еще такой вопрос, все хорошо скомпилилось, только есть, количество перерождений 3, а делает бесконечно, не подскажеш, как можно решить ? это уже сложнее, нужно сделать колонку в бд чаров для обновления количества перерождений и делать проверку при запросе на перерождение if (player.getLevel() >= 80 && jobLevel == 3 && количество ваших перерождений < 3) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GM1 45 Опубликовано 10 августа, 2019 1 минуту назад, LordWinter сказал: это уже сложнее, нужно сделать колонку в бд чаров для обновления количества перерождений и делать проверку при запросе на перерождение if (player.getLevel() >= 80 && jobLevel == 3 && количество ваших перерождений < 3) а если сделать исход из етих исходов, то никак не сделать через ядро ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LordWinter 78 Опубликовано 10 августа, 2019 моя аська есть в профиле пиши завтра если над сделаем, сейчас поздно спать хочу) + я не знаю какой ревы у тебя акисы, я тебе делал имея на руках 372 реву Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LordWinter 78 Опубликовано 10 августа, 2019 2 минуты назад, LetsVirt сказал: а если сделать исход из етих исходов, то никак не сделать через ядро ? можно сделать все что угодно имея на руках ядро и не важно какое, хоть с лыжи на феню хоть наоборот Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GM1 45 Опубликовано 10 августа, 2019 1 минуту назад, LordWinter сказал: моя аська есть в профиле пиши завтра если над сделаем, сейчас поздно спать хочу) + я не знаю какой ревы у тебя акисы, я тебе делал имея на руках 372 реву пишу в вк ) ибо в аське нету меня) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты