AndLike 163 Опубликовано 9 января, 2019 Ребят помогите, на сборке Lucera 1.7 проблема, сборка сервера alltar x100 с форума. При создании персонажа ошибка, некоторые ники проходят, некоторые нет. Ошибок в ГСе не наблюдается, стоит Lameguard Может подскажите в какую сторону копать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gvb 666 Опубликовано 10 января, 2019 17 минут назад, AndLike сказал: Ребят помогите, на сборке Lucera 1.7 проблема, сборка сервера alltar x100 с форума. При создании персонажа ошибка, некоторые ники проходят, некоторые нет. Ошибок в ГСе не наблюдается, стоит Lameguard Может подскажите в какую сторону копать? Начать с пакета CharacterCreate. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AndLike 163 Опубликовано 10 января, 2019 1 минуту назад, gvb сказал: Начать с пакета CharacterCreate. К сожалению, я и понятия не имею что и как править, мб по цене фикса сориентируешь? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Link 72 Опубликовано 10 января, 2019 (изменено) 4 часа назад, AndLike сказал: К сожалению, я и понятия не имею что и как править, мб по цене фикса сориентируешь? Ты лучше у него лицуху купи и юзай) там нету не каких ошибок и всё работает чётко Изменено 10 января, 2019 пользователем Link Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 10 января, 2019 (изменено) 2 часа назад, Link сказал: Ты лучше у него лицуху купи и юзай) там нету не каких ошибок и всё работает чётко "Не работает Скайп, нужно переустановить ОС" Человек просит помощи в конкретной ситуации с конкретной сборкой. По теме: нужно смотреть регулярки в конфиге с разрешенными никами. 7 часов назад, AndLike сказал: К сожалению, я и понятия не имею что и как править, мб по цене фикса сориентируешь? Если имеется сурс конкретной сборки - киньте класс под спойлер Изменено 10 января, 2019 пользователем Se1dhe Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Link 72 Опубликовано 10 января, 2019 (изменено) 10 минут назад, Se1dhe сказал: Если имеется сурс конкретной сборки - киньте класс под спойлер Слышь, я посоветовал человеку не тратить в пустую деньги и время! Так думаю будет лучше, раз для тебя чужд этикет. Изменено 10 января, 2019 пользователем Link Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 10 января, 2019 (изменено) 29 минут назад, Link сказал: Дружище, я посоветовал человеку не тратить в пустую деньги и время! Хз где тут "дружище", но ошибка, описана в шапке топика, фиксится без "траты в пустую денег и времени" Изменено 10 января, 2019 пользователем Se1dhe 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AndLike 163 Опубликовано 10 января, 2019 (изменено) 17 часов назад, Se1dhe сказал: "Не работает Скайп, нужно переустановить ОС" Человек просит помощи в конкретной ситуации с конкретной сборкой. По теме: нужно смотреть регулярки в конфиге с разрешенными никами. Если имеется сурс конкретной сборки - киньте класс под спойлер CharacterCreate.java Спойлер package ru.catssoftware.gameserver.network.clientpackets; import ru.catssoftware.Config; import ru.catssoftware.gameserver.datatables.CharNameTable; import ru.catssoftware.gameserver.datatables.CharTemplateTable; import ru.catssoftware.gameserver.datatables.ItemTable; import ru.catssoftware.gameserver.datatables.SkillTable; import ru.catssoftware.gameserver.datatables.SkillTreeTable; import ru.catssoftware.gameserver.idfactory.IdFactory; import ru.catssoftware.gameserver.instancemanager.QuestManager; import ru.catssoftware.gameserver.model.L2ItemInstance; import ru.catssoftware.gameserver.model.L2ShortCut; import ru.catssoftware.gameserver.model.L2SkillLearn; import ru.catssoftware.gameserver.model.L2World; import ru.catssoftware.gameserver.model.Location; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.base.Experience; import ru.catssoftware.gameserver.model.itemcontainer.PcInventory; import ru.catssoftware.gameserver.model.quest.Quest; import ru.catssoftware.gameserver.model.quest.QuestState; import ru.catssoftware.gameserver.network.L2GameClient; import ru.catssoftware.gameserver.network.serverpackets.CharCreateFail; import ru.catssoftware.gameserver.network.serverpackets.CharCreateOk; import ru.catssoftware.gameserver.network.serverpackets.CharSelectionInfo; import ru.catssoftware.gameserver.templates.chars.L2PcTemplate; import ru.catssoftware.gameserver.templates.chars.L2PcTemplate.PcTemplateItem; import ru.catssoftware.tools.random.Rnd; @SuppressWarnings("unused") public class CharacterCreate extends L2GameClientPacket { private static final String _C__0B_CHARACTERCREATE = "[C] 0B CharacterCreate"; private String _name; private int _race, _classId, _int, _str, _con, _men, _dex, _wit; private byte _sex, _hairStyle, _hairColor, _face; private static final Object _lock = new Object(); @Override protected void readImpl() { _name = readS(); _race = readD(); _sex = (byte) readD(); _classId = readD(); _int = readD(); _str = readD(); _con = readD(); _men = readD(); _dex = readD(); _wit = readD(); _hairStyle = (byte) readD(); _hairColor = (byte) readD(); _face = (byte) readD(); } @Override protected void runImpl() { synchronized (_lock) { if (!Config.CNAME_PATTERN.matcher(_name).matches()) { sendPacket(new CharCreateFail(CharCreateFail.REASON_16_ENG_CHARS)); return; } if (CharNameTable.getInstance().accountCharNumber(getClient().getAccountName()) >= Config.MAX_CHARACTERS_NUMBER_PER_ACCOUNT && Config.MAX_CHARACTERS_NUMBER_PER_ACCOUNT != 0) { sendPacket(new CharCreateFail(CharCreateFail.REASON_TOO_MANY_CHARACTERS)); return; } if (_name.matches(".*-.*")) { sendPacket(new CharCreateFail(CharCreateFail.REASON_16_ENG_CHARS)); return; } if (CharNameTable.getInstance().doesCharNameExist(_name)) { sendPacket(new CharCreateFail(CharCreateFail.REASON_NAME_ALREADY_EXISTS)); return; } if (!getClient().canCreateNewCharacter()) { sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED)); return; } L2PcTemplate template = CharTemplateTable.getInstance().getTemplate(_classId); if (template == null || template.getClassBaseLevel() > 1) { sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED)); return; } CharNameTable.getInstance().storeCharName(_name); int objectId = IdFactory.getInstance().getNextId(); L2PcInstance newChar = L2PcInstance.create(objectId, template, getClient().getAccountName(), _name, _hairStyle, _hairColor, _face, _sex != 0); newChar.getStatus().setCurrentHp(template.getBaseHpMax()); newChar.getStatus().setCurrentCp(template.getBaseCpMax()); newChar.getStatus().setCurrentMp(template.getBaseMpMax()); // send acknowledgement sendPacket(new CharCreateOk()); initNewChar(getClient(), newChar); } } private void setRandomSpawnPoint(L2PcInstance newChar, Location loc) { if (loc == null) { loc = Config.NEW_CHAR_POSITIONS.getFirst(); } newChar.getPosition().setXYZInvisible(loc.getX(), loc.getY(), loc.getZ()); } private void initNewChar(L2GameClient client, L2PcInstance newChar) { if (newChar == null) { return; } L2World.getInstance().storeObject(newChar); L2PcTemplate template = newChar.getTemplate(); if (Config.STARTING_ADENA > 0) { newChar.addAdena("Init", Config.STARTING_ADENA, null, false); } if (Config.STARTING_AA > 0) { newChar.addAncientAdena("Init", Config.STARTING_AA, null, false); } for (int[] startingItems : Config.CUSTOM_STARTER_ITEMS) { if (startingItems == null) { continue; } PcInventory inv = newChar.getInventory(); if (ItemTable.getInstance().createDummyItem(startingItems[0]).isStackable()) { inv.addItem("Starter Items", startingItems[0], startingItems[1], newChar, null); } else { for (int i = 0; i < startingItems[1]; i++) { inv.addItem("Starter Items", startingItems[0], 1, newChar, null); } } } if (Config.ALLOW_NEW_CHAR_CUSTOM_POSITION) { //newChar.getPosition().setXYZInvisible(Config.NEW_CHAR_POSITION_X, Config.NEW_CHAR_POSITION_Y, Config.NEW_CHAR_POSITION_Z); //Location loc = ; //newChar.getPosition().setXYZInvisible(loc.getX(), loc.getY(), loc.getZ()); setRandomSpawnPoint(newChar, Config.NEW_CHAR_POSITIONS.get(Rnd.get(Config.NEW_CHAR_POSITIONS.size() - 1))); } else { newChar.getPosition().setXYZInvisible(template.getSpawnX(), template.getSpawnY(), template.getSpawnZ()); } if (Config.ALLOW_NEW_CHARACTER_TITLE) { newChar.setTitle(Config.NEW_CHARACTER_TITLE); } else { newChar.setTitle(""); } if (Config.ENABLE_STARTUP_LVL) { long EXp = Experience.LEVEL[Config.ADD_LVL_NEWBIE]; newChar.addExpAndSp(EXp, 0); } if (Config.NEW_CHAR_IS_NOBLE) { newChar.setNoble(true); } // new char give Lucky Protection newChar.addSkill(SkillTable.getInstance().getInfo(194, 1), true); L2ShortCut shortcut; //add attack shortcut shortcut = new L2ShortCut(0, 0, 3, 2, 0, 1); newChar.registerShortCut(shortcut); //add take shortcut shortcut = new L2ShortCut(3, 0, 3, 5, 0, 1); newChar.registerShortCut(shortcut); //add sit shortcut shortcut = new L2ShortCut(10, 0, 3, 0, 0, 1); newChar.registerShortCut(shortcut); for (PcTemplateItem ia : template.getItems()) { L2ItemInstance item = newChar.getInventory().addItem("Init", ia.getItemId(), ia.getAmount(), newChar, null); // add tutbook shortcut if (item.getItemId() == 5588) { shortcut = new L2ShortCut(11, 0, 1, item.getObjectId(), 0, 1); newChar.registerShortCut(shortcut); } if (item.isEquipable() && ia.isEquipped()) { newChar.getInventory().equipItemAndRecord(item); } } for (L2SkillLearn skill : SkillTreeTable.getInstance().getAvailableSkills(newChar, newChar.getClassId())) { newChar.addSkill(SkillTable.getInstance().getInfo(skill.getId(), skill.getLevel()), true); if (skill.getId() == 1001 || skill.getId() == 1177) { shortcut = new L2ShortCut(1, 0, 2, skill.getId(), skill.getLevel(), 1); newChar.registerShortCut(shortcut); } if (skill.getId() == 1216) { shortcut = new L2ShortCut(10, 0, 2, skill.getId(), skill.getLevel(), 1); newChar.registerShortCut(shortcut); } } startTutorialQuest(newChar); startNewbieHelperQuest(newChar); //new Disconnection(getClient(), newChar).defaultSequence(true); newChar.store(); newChar.deleteMe(); // send char list CharSelectionInfo cl = new CharSelectionInfo(client.getAccountName(), client.getSessionId().playOkID1); client.sendPacket(cl); client.setCharSelection(cl.getCharInfo()); } public void startTutorialQuest(L2PcInstance player) { QuestState qs = player.getQuestState("255_Tutorial"); Quest q = null; if (qs == null) { q = QuestManager.getInstance().getQuest("255_Tutorial"); } if (q != null) { q.newQuestState(player); } } public void startNewbieHelperQuest(L2PcInstance player) { QuestState qs = player.getQuestState("7003_NewbieHelper"); Quest q = null; if (qs == null) { q = QuestManager.getInstance().getQuest("7003_NewbieHelper"); } if (q != null) { q.newQuestState(player); player.getQuestState("7003_NewbieHelper").set("cond", "0"); } qs = player.getQuestState("1201_NewbieToken"); q = null; if (qs == null) { q = QuestManager.getInstance().getQuest("1201_NewbieToken"); } if (q != null) { q.newQuestState(player); } } @Override public String getType() { return _C__0B_CHARACTERCREATE; } } Изменено 10 января, 2019 пользователем AndLike Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AndLike 163 Опубликовано 11 января, 2019 Решение! settings_test.properties в конфигах, папка main ## Запрещенные ники при создании чара #!!Для отключения = off ForbiddenNames = off (тут были запрещенные ники) Как я понял ядро их криво читает, и запрещает другие Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты