Yustudio_Design 1 Опубликовано 27 июня, 2017 Ребят подскажите пож как убрать дроп лишний под пвп сервер сделать сборка l2j-dev (ХФ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexZr 95 Опубликовано 27 июня, 2017 (изменено) если клиент, то есть конфиг если не клиент и юзаешь шару то ручками или убирать весь дроп и потом прописывать в евент режим мобов и их дроп(вроде в шаре оно есть) Изменено 27 июня, 2017 пользователем AlexZr Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
UltrusAra 0 Опубликовано 27 июня, 2017 Если нет конфигов и исходов, то проще всего сделать через элементарный батник, создаем его вида поиска и изменения строк в определенной папке, закидываем его в папку - запускаем и весь дроп переписывается любо все удаляем либо все меняем на необходимое нам. Если не умеете писать батники, то тоже самое можно сделать через notepad ++. Выделяем все файлы в которых находится дроп открываем их в нем и делаем нехитрый простой как 2 пальца макрос: найти строку которая содержит фразу дропа - удалить строку или заменить на нужную нам - запускаем макрос для всех файлов - сохраняем и за 1 минуту у нас весь дроп готов. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Desquire 451 Опубликовано 27 июня, 2017 http://forummaxi.ru/tutorials/article/180-%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5-sql-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D1%8B-%D0%B4%D0%BB%D1%8F-%D0%BD%D0%BE%D0%B2%D0%B8%D1%87%D0%BA%D0%BE%D0%B2/ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Khrome 276 Опубликовано 27 июня, 2017 http://forummaxi.ru/tutorials/article/180-%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5-sql-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D1%8B-%D0%B4%D0%BB%D1%8F-%D0%BD%D0%BE%D0%B2%D0%B8%D1%87%D0%BA%D0%BE%D0%B2/дроплист в датапаке, оверы же 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mangol 101 Опубликовано 27 июня, 2017 package org.mmocore.gameserver; import org.apache.commons.io.FileUtils; import org.apache.commons.io.filefilter.FileFilterUtils; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import org.mmocore.gameserver.data.xml.holder.ItemHolder; import org.mmocore.gameserver.data.xml.parser.ItemParser; import org.mmocore.gameserver.data.xml.parser.OptionDataParser; import org.mmocore.gameserver.tables.SkillTable; import org.mmocore.gameserver.templates.item.ItemTemplate; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.Collection; /** * @[member='Authority'] Mangol */ public final class RemoveNpcDrop { public static void main(String[] args) throws IOException, DocumentException { SkillTable.getInstance().load(); OptionDataParser.getInstance().load(); ItemParser.getInstance().load(); final Collection<File> files = FileUtils.listFiles(new File("./data/npc/"), FileFilterUtils.suffixFileFilter(".xml"), FileFilterUtils.directoryFileFilter()); for(File f : files) { if(!f.isHidden()) { final SAXReader reader = new SAXReader(); reader.setValidation(false); Document document = reader.read(f); for(final Element element : document.getRootElement().elements()) { final int npcId = Integer.parseInt(element.attributeValue("id")); element.elements().stream().filter(block -> block.getName().equalsIgnoreCase("rewardlist")).forEach(block -> { for(Element e : block.elements()) { if(e.getName().equalsIgnoreCase("group")) { for(Element r : e.elements()) { int itemId = Integer.parseInt(r.attributeValue("item_id")); if(itemId != 57) e.detach(); /* ItemTemplate template = ItemHolder.getInstance().getTemplate(itemId); if(template == null) continue; if(template.isHerb() || template.isCommonItem() || template.isRecipe() || template.getItemClass() == ItemTemplate.ItemClass.MATHERIALS || template.getItemClass() == ItemTemplate.ItemClass.SPELLBOOKS) r.detach();*/ if(e.elements().isEmpty()) e.detach(); } } else if(e.getName().equalsIgnoreCase("reward")) { int itemId = Integer.parseInt(e.attributeValue("item_id")); if(itemId != 57) e.detach(); /* ItemTemplate template = ItemHolder.getInstance().getTemplate(itemId); if(template == null) continue; if(template.isHerb() || template.isCommonItem() || template.isRecipe() || template.getItemClass() == ItemTemplate.ItemClass.MATHERIALS || template.getItemClass() == ItemTemplate.ItemClass.SPELLBOOKS) e.detach();*/ } } if(block.elements().isEmpty()) block.detach(); }); } OutputFormat of = new OutputFormat("\t", true); of.setOmitEncoding(false); of.setEncoding("UTF-8"); XMLWriter writer = null; try { String name = "/".split(document.getName())["/".split(document.getName()).length - 1]; writer = new XMLWriter(new OutputStreamWriter(new FileOutputStream("./data/new_npc/" + name), "UTF8"), of); writer.write(document); } finally { if(writer != null) { writer.flush(); writer.close(); } } } } } } Удаление дропа из xml, оставит только адену. Писалось под lostworld, ищите кто сможет это прикрутить и удалить, код я дал. П.С. Помогать прикручивать не буду. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexZr 95 Опубликовано 27 июня, 2017 package org.mmocore.gameserver; import org.apache.commons.io.FileUtils; import org.apache.commons.io.filefilter.FileFilterUtils; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import org.mmocore.gameserver.data.xml.holder.ItemHolder; import org.mmocore.gameserver.data.xml.parser.ItemParser; import org.mmocore.gameserver.data.xml.parser.OptionDataParser; import org.mmocore.gameserver.tables.SkillTable; import org.mmocore.gameserver.templates.item.ItemTemplate; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.Collection; /** * @[member='Authority'] Mangol */ public final class RemoveNpcDrop { public static void main(String[] args) throws IOException, DocumentException { SkillTable.getInstance().load(); OptionDataParser.getInstance().load(); ItemParser.getInstance().load(); final Collection<File> files = FileUtils.listFiles(new File("./data/npc/"), FileFilterUtils.suffixFileFilter(".xml"), FileFilterUtils.directoryFileFilter()); for(File f : files) { if(!f.isHidden()) { final SAXReader reader = new SAXReader(); reader.setValidation(false); Document document = reader.read(f); for(final Element element : document.getRootElement().elements()) { final int npcId = Integer.parseInt(element.attributeValue("id")); element.elements().stream().filter(block -> block.getName().equalsIgnoreCase("rewardlist")).forEach(block -> { for(Element e : block.elements()) { if(e.getName().equalsIgnoreCase("group")) { for(Element r : e.elements()) { int itemId = Integer.parseInt(r.attributeValue("item_id")); if(itemId != 57) e.detach(); /* ItemTemplate template = ItemHolder.getInstance().getTemplate(itemId); if(template == null) continue; if(template.isHerb() || template.isCommonItem() || template.isRecipe() || template.getItemClass() == ItemTemplate.ItemClass.MATHERIALS || template.getItemClass() == ItemTemplate.ItemClass.SPELLBOOKS) r.detach();*/ if(e.elements().isEmpty()) e.detach(); } } else if(e.getName().equalsIgnoreCase("reward")) { int itemId = Integer.parseInt(e.attributeValue("item_id")); if(itemId != 57) e.detach(); /* ItemTemplate template = ItemHolder.getInstance().getTemplate(itemId); if(template == null) continue; if(template.isHerb() || template.isCommonItem() || template.isRecipe() || template.getItemClass() == ItemTemplate.ItemClass.MATHERIALS || template.getItemClass() == ItemTemplate.ItemClass.SPELLBOOKS) e.detach();*/ } } if(block.elements().isEmpty()) block.detach(); }); } OutputFormat of = new OutputFormat("\t", true); of.setOmitEncoding(false); of.setEncoding("UTF-8"); XMLWriter writer = null; try { String name = "/".split(document.getName())["/".split(document.getName()).length - 1]; writer = new XMLWriter(new OutputStreamWriter(new FileOutputStream("./data/new_npc/" + name), "UTF8"), of); writer.write(document); } finally { if(writer != null) { writer.flush(); writer.close(); } } } } } } Удаление дропа из xml, оставит только адену. Писалось под lostworld, ищите кто сможет это прикрутить и удалить, код я дал. П.С. Помогать прикручивать не буду. нету у него исходов и нету доступа к скриптам и нету возможности грузить левые Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Desquire 451 Опубликовано 27 июня, 2017 дроплист в датапаке, оверы же Сорян, я с ними дело не имел на прямую ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты