Перейти к содержимому

Welcome to 100NT форум администраторов игровых серверов
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!

Переключатель чата Чат

Добро пожаловать в чат 100NT
xisp : (21 May 2012 - 11:55 AM) и еще 1 вопрос! В Каком файле в клиенте менять надпись которая в самом начале написана под окошком для ввода логин и пароля?
xisp : (21 May 2012 - 11:40 AM) Кто может поделиться чстой папкой system interlude? А то пол инета облазил, то л2ини неоткрывается то русский текст неподдерживает
Horus : (17 May 2012 - 01:17 PM) гуф умер, а форум отжил свое.
Inkognit0 : (17 May 2012 - 01:08 PM) форум умер?
Изменить размер окна сообщений

Цвет Ника:d

- - - - -

  • Вы не можете ответить в тему
Сообщений в теме: 10

#1
D1RoL

    Продвинутый пользователь

  • Пользователи
  • 71 сообщений
Reputation: 8
вновь прощу помощи.
и так вот такая ситуа.
скачал менеджер цветов титула.
цвет меняется при релоге не пропадает, все работает ок да.
вот так в скрипте титл менеджера меняется цвет:

st.getPlayer().getAppearance().setTitleColor(0x009900)
то есть вызывается метод setTitleColor из класса PcAppearancе

думаю дай гляну. глянул:

public void setTitleColor(int titleColor)
{
if (titleColor < 0)
return;

_titleColor = titleColor;
}

public void setTitleColor(int red, int green, int blue)
{
_titleColor = (red & 0xFF) + ((green & 0xFF) << 8)
+ ((blue & 0xFF) << 16);
}

ок да.
решил поставить вместо setTitleColor ==> setNameColor
получил смену цвета до релога.
смотрю этот метод в классе:

public void setNameColor(int nameColor)
{
if (nameColor < 0)
return;

_nameColor = nameColor;
}

public void setNameColor(int red, int green, int blue)
{
_nameColor = (red & 0xFF) + ((green & 0xFF) << 8)
+ ((blue & 0xFF) << 16);
}

public int getTitleColor()
{
return _titleColor;
}
написано один в один.
но цвет ника в бд не заносится. :facepalm:

а может быть проблема в том что колонка цвета титула совпадает с названием метода то есть ( метод setTitleColor, в бд title_color) а колонка цвета ника не совпадает ( метод setNameColor, в бд Nick_color)?

з.ы. знаю что дурак извините если что

#2
mens

    Продвинутый пользователь

  • Пользователи
  • 241 сообщений
  • ГородЕкатеринбург
Reputation: 53
есть такой метод в классе PCInstance
private static L2PcInstance restore(int objectId)

он обрабатывает сохранение параметров в базу данных
в вашем случае заносится цвет титула таким образом
player.getAppearance().setTitleColor(rset.getInt("title_color"));

п\с название метода и название бд никаким образом не связанны - может только вашим воображением
Знаний 0 - L2 не занимаюсь

#3
D1RoL

    Продвинутый пользователь

  • Пользователи
  • 71 сообщений
Reputation: 8

Просмотр сообщенияmens (03 February 2012 - 09:21) писал:

есть такой метод в классе PCInstance
private static L2PcInstance restore(int objectId)

он обрабатывает сохранение параметров в базу данных
в вашем случае заносится цвет титула таким образом
player.getAppearance().setTitleColor(rset.getInt("title_color"));

п\с название метода и название бд никаким образом не связанны - может только вашим воображением
...
так почему цвет титула сохраняется а цвет ника нет?

#4
mens

    Продвинутый пользователь

  • Пользователи
  • 241 сообщений
  • ГородЕкатеринбург
Reputation: 53
может быть потому что не прописан занос в базу для этого параметра ?
Знаний 0 - L2 не занимаюсь

#5
D1RoL

    Продвинутый пользователь

  • Пользователи
  • 71 сообщений
Reputation: 8
там прописан запрос на метод player.setNickNameColor(rset.getString("nick_color"));
сейчас я понял о чем вы говорите.спасибо.
но чтобы вызвать через нпц этот метод я должен написать так:
st.getPlayer().getPcInstance().setNickNameColor(0x009900)?

#6
mens

    Продвинутый пользователь

  • Пользователи
  • 241 сообщений
  • ГородЕкатеринбург
Reputation: 53
getPcInstance() помоему в queststat нет такого
обраще в класс pcinstance идёт через переменную player
Знаний 0 - L2 не занимаюсь

#7
Naik

    Продвинутый пользователь

  • Пользователи
  • 476 сообщений
  • ГородМытищи
Reputation: 41
Я когда писал своего менеджера, то вообще не парился, а тупо значение в базе менял на нужное. Если нужно, то могу для комунки кинуть менеджера своего.
Бесплатная доска объявлений "Free2Sell"

#8
D1RoL

    Продвинутый пользователь

  • Пользователи
  • 71 сообщений
Reputation: 8
player.setNickNameColor(rset.getString("nick_color"));
у меня заносит в бд цвет ника через вот этот метод
как мне прописать его в нпц?)

Просмотр сообщенияNaik (03 February 2012 - 11:40) писал:

Я когда писал своего менеджера, то вообще не парился, а тупо значение в базе менял на нужное. Если нужно, то могу для комунки кинуть менеджера своего.
пожалуйста. если не сложно.

#9
D1RoL

    Продвинутый пользователь

  • Пользователи
  • 71 сообщений
Reputation: 8
дописал в l2pcinstance.java
private void setNameColor(String color)
{
int decode = 0;
decode = Integer.decode("0x"+color);
getAppearance().setNameColor(decode);
}

и
player.setNameColor(rset.getString("nick_color"));

все равно не сохраняет

#10
Naik

    Продвинутый пользователь

  • Пользователи
  • 476 сообщений
  • ГородМытищи
Reputation: 41
if(activeChar.getInventory().getItemByItemId(Config.CHANGE_NICK_COLOR_ITEM) != null && activeChar.getInventory().getItemByItemId(Config.CHANGE_NICK_COLOR_ITEM).getCount() >= Config.CHANGE_NICK_COLOR_ITEM_COUNT  && colorh != "FFFFFF")
{ 
     statement = con.prepareStatement("UPDATE characters SET nick_color = ? WHERE charId = ?");
     statement.setString(1, colorh);
    statement.setInt(2, activeChar.getObjectId()); 
     statement.execute();
     statement.close();
     activeChar.destroyItemByItemId("Consume", Config.CHANGE_NICK_COLOR_ITEM, Config.CHANGE_NICK_COLOR_ITEM_COUNT, activeChar, false);
     activeChar.getAppearance().setNameColor(Integer.decode("0x"+colorh));
     activeChar.broadcastUserInfo();
     activeChar.sendMessage("Цвет вашего ника изменен на: " + color);
}

Вот так у меня выглядела кнопка в комунке.
Бесплатная доска объявлений "Free2Sell"

#11
D1RoL

    Продвинутый пользователь

  • Пользователи
  • 71 сообщений
Reputation: 8
как сделать обращение к методу setNickNameColor класса l2pcinstance через квест нпц?

Сообщение отредактировал D1RoL: 03 February 2012 - 13:57






Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей