Перейти к содержанию
Авторизация  
AndLike

Такое имя уже существует

Рекомендуемые сообщения

Ребят помогите, на сборке Lucera 1.7 проблема, сборка сервера alltar x100 с форума. При создании персонажа ошибка, некоторые ники проходят, некоторые нет.

Ошибок в ГСе не наблюдается, стоит Lameguard

Может подскажите в какую сторону копать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
17 минут назад, AndLike сказал:

Ребят помогите, на сборке Lucera 1.7 проблема, сборка сервера alltar x100 с форума. При создании персонажа ошибка, некоторые ники проходят, некоторые нет.

Ошибок в ГСе не наблюдается, стоит Lameguard

Может подскажите в какую сторону копать?

Начать с пакета CharacterCreate.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, gvb сказал:

Начать с пакета CharacterCreate.

К сожалению, я и понятия не имею что и как править, мб по цене фикса сориентируешь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, AndLike сказал:

К сожалению, я и понятия не имею что и как править, мб по цене фикса сориентируешь?

Ты лучше у него лицуху купи и юзай) там нету не каких ошибок и всё работает чётко;)

Изменено пользователем Link

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, Link сказал:

Ты лучше у него лицуху купи и юзай) там нету не каких ошибок и всё работает чётко;)

"Не работает Скайп, нужно переустановить ОС"

Человек просит помощи в конкретной ситуации с конкретной сборкой.

По теме: нужно смотреть регулярки в конфиге с разрешенными никами.

7 часов назад, AndLike сказал:

К сожалению, я и понятия не имею что и как править, мб по цене фикса сориентируешь?

Если имеется сурс конкретной сборки - киньте класс под спойлер

Изменено пользователем Se1dhe

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, Se1dhe сказал:

Если имеется сурс конкретной сборки - киньте класс под спойлер

Слышь, я посоветовал человеку не тратить в пустую деньги и время!

Так думаю будет лучше, раз для тебя чужд этикет.

Изменено пользователем Link

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
29 минут назад, Link сказал:

Дружище, я посоветовал человеку не тратить в пустую деньги и время!

Хз где тут "дружище", но ошибка, описана в шапке топика, фиксится без "траты в пустую денег и времени"

Изменено пользователем Se1dhe
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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;
    }
}


 

 

Изменено пользователем AndLike

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Решение!

settings_test.properties в конфигах, папка main

## Запрещенные ники при создании чара
#!!Для отключения = off
ForbiddenNames = off  (тут были запрещенные ники)

Как я понял ядро их криво читает, и запрещает другие

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...