Цвет Ника

Егоровна

Знаменитый
Участник
Сообщения
82
Розыгрыши
0
Репутация
0
Реакции
9
Баллы
1 260
Хроники
  1. Master Class
Исходники
Присутствуют
Сборка
Mobius_12.2_ShieldOfKingdom
Здравствуйте. Mobius_12.2_ShieldOfKingdom
Меняю цвет Имени у перса через админку но после рестарта слетает. изображение_2024-09-12_114810772.webp
 
Решение
Посмотри на метод обновления данных персонажа в бд. В Player или как модель персонажа у вас называется. Может быть там нет сохранения переменной титула. Либо наоборот при входе, не подгружает из бд цвет титула.
 
Посмотри на метод обновления данных персонажа в бд. В Player или как модель персонажа у вас называется. Может быть там нет сохранения переменной титула. Либо наоборот при входе, не подгружает из бд цвет титула.
В бд нет такого параметра как neme_color
есть title_color hair_color
 
В конфигах гейм сервера можно выставить в AccessLevels.xml.
 
 
Решение
Спасибо не увидел.
 
В классе Player есть методы restore, storeCharBase и createDb. В них необходимо добавить строки с сохранением/загрузкой данных цвета имени персонажа из таблицы characters.
То есть добавляем в таблицу characters поле (к примеру color_of_name) и подгружаем из него данные при входе в мир
Java:
private static Player restore(int objectId) {
    ...
    player.getAppearance().setNameColor(rset.getInt("color_of_name"));
    ...
}
и сохраняем в поле color_of_name при выходе из мира
Java:
private void storeCharBase() {
    ...
    statement.setInt(51, _appearance.getNameColor());
    statement.setInt(52, getObjectId());
    statement.execute();
    ...
}
при создании персонажа
Java:
private boolean createDb() {
    ...
    statement.setInt(39, _appearance.getNameColor());
    statement.executeUpdate();
    ...
}

Ну и в том же Player не забыть дополнить sql-запрос UPDATE_CHARACTER
SQL:
UPDATE characters SET ..., color_of_name = ? WHERE charId=?
и INSERT_CHARACTER
SQL:
INSERT INTO characters (..., color_of_name) VALUES (..., ?)

Добавляем наше поле в таблицу
SQL:
ALTER TABLE characters ADD `color_of_name` MEDIUMINT UNSIGNED NOT NULL DEFAULT 0xFFFFFF;
 
Ну если такая пляска - можно использовать просто character variables и при восстановлении персонажа просто брать от туда значение :)

player.getAppearance().setNameColor(player.getVariables().getInt(Player.NAME_COLOR, Config.DEFAULT_NAME_COLOR));

как-то так
 
Ну если такая пляска - можно использовать просто character variables и при восстановлении персонажа просто брать от туда значение :)

player.getAppearance().setNameColor(player.getVariables().getInt(Player.NAME_COLOR, Config.DEFAULT_NAME_COLOR));

как-то так
ну это по классике мобиуса и подобных, нахуячить немерено таблиц и раскидать данные по этим таблицам :loltt0:
Давай создадим вообще отдельную таблицу под это дело, и будем там хранить данные цвета ника персонажа. Под цвет титула также выведем в какую-то отдельную таблицу. Ну ты понял :D
 
Назад
Сверху Снизу