int To Double(В Окне Статов Персонажа) - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Игровой клиент

Игровой клиент Есть вопросы по поводу редактирования dat, utx и других файлов клиента, пожалуйста, задавайте их здесь.

Ответ
Опции темы
Непрочитано 01.01.2015, 23:14   #1
Изгнанные

Автор темы (Топик Стартер) int To Double(В Окне Статов Персонажа)


Необходимо изменить вывод(отображение) параметров статы персонажа из Int в double Формат.
То есть к примеру PDef 450 выводить как 45.0, MDef 175 как 17.5


Я так понимаю для этого нужно менять Native class(Вывода статов перса) в NWindow.dll ?

Либо можно ограничится .xdat .u ?
bigbastard вне форума Ответить с цитированием
Непрочитано 02.01.2015, 00:16   #2
Аватар для Donatte
Герой

По умолчанию Re: int To Double(В Окне Статов Персонажа)

Вау. Вы сидите на форуме ацис и репостите всё что там пишут?
__________________
Родился, живу и когда-нибудь умру.
Donatte вне форума Ответить с цитированием
Непрочитано 02.01.2015, 00:37   #3
Изгнанные

Автор темы (Топик Стартер) Re: int To Double(В Окне Статов Персонажа)

Цитата:
Сообщение от Donatte Посмотреть сообщение
Вау. Вы сидите на форуме ацис и репостите всё что там пишут?
Разве там пишут про то какой файл отвечает за вывод ?
bigbastard вне форума Ответить с цитированием
Непрочитано 02.01.2015, 00:51   #4
Аватар для Donatte
Герой

По умолчанию Re: int To Double(В Окне Статов Персонажа)

Да тут к гадалке не ходи и так известно какой. Интерфейсом заведует interface.u
__________________
Родился, живу и когда-нибудь умру.
Donatte вне форума Ответить с цитированием
Непрочитано 02.01.2015, 00:58   #5
Аватар для Daan Raven
Пользователь

По умолчанию Re: int To Double(В Окне Статов Персонажа)

Потребуется всего лишь исходник Engine.dll. Попроси у корейцев, в честь нг.
А там дальше не составит труда поменять тип получаемых данных в пакете UserInfo. В серверной части еще проще.
Daan Raven вне форума Ответить с цитированием
Непрочитано 02.01.2015, 01:02   #6
Аватар для Donatte
Герой

По умолчанию Re: int To Double(В Окне Статов Персонажа)

Цитата:
Сообщение от Warencense Посмотреть сообщение
Потребуется всего лишь исходник Engine.dll. Попроси у корейцев, в честь нг.
А там дальше не составит труда поменять тип получаемых данных в пакете UserInfo. В серверной части еще проще.
Действительно. А зачем исходники Emgine.dll то?
__________________
Родился, живу и когда-нибудь умру.
Donatte вне форума Ответить с цитированием
Непрочитано 02.01.2015, 04:15   #7
Изгнанные

Автор темы (Топик Стартер) Re: int To Double(В Окне Статов Персонажа)

Всем спасибо!
Пока вот такой результат


В Float в клиенте перевел, осталось перевести на сервере.


P.S.
А вот как было и то без сервера.
bigbastard вне форума Ответить с цитированием
Непрочитано 03.01.2015, 11:05   #8
Аватар для Daan Raven
Пользователь

По умолчанию Re: int To Double(В Окне Статов Персонажа)

Цитата:
Сообщение от Donatte Посмотреть сообщение
Действительно. А зачем исходники Engine.dll то?
Дело в том, что там хранится инфа о всех пакетах. За отображение статов отвечает пакет UserInfo. За отображение основной части статов (или проще говоря, за отображение всех статов в окне Статуса Персонажа) отвечают блоки флагов пакета UserInfo, каждый флаг которых имеет целочисленный тип данных. То есть, для того, что бы флоат-значение нормально отображалось, нужно его изменить и в пакете UserInfo.
Daan Raven вне форума Ответить с цитированием
Непрочитано 03.01.2015, 13:42   #9
Аватар для Donatte
Герой

По умолчанию Re: int To Double(В Окне Статов Персонажа)

Цитата:
Сообщение от Warencense Посмотреть сообщение
Дело в том, что там хранится инфа о всех пакетах. За отображение статов отвечает пакет UserInfo. За отображение основной части статов (или проще говоря, за отображение всех статов в окне Статуса Персонажа) отвечают блоки флагов пакета UserInfo, каждый флаг которых имеет целочисленный тип данных. То есть, для того, что бы флоат-значение нормально отображалось, нужно его изменить и в пакете UserInfo.
А что вам мешает его сделать результатом деления? Например int / 10 = float.
__________________
Родился, живу и когда-нибудь умру.
Donatte вне форума Ответить с цитированием
Непрочитано 03.01.2015, 15:38   #10
Аватар для Daan Raven
Пользователь

По умолчанию Re: int To Double(В Окне Статов Персонажа)

Цитата:
Сообщение от Donatte Посмотреть сообщение
А что вам мешает его сделать результатом деления? Например int / 10 = float.
writeD(pdef); - DWORD (целочисленное 4-байтовое значение), то есть на стороне сервера даже если мы поставим writeD(pdef/10), то оно будет выглядеть как writeD(Math.round(pdef/10)). А если мы поставим putFloat(pdef/10) - Float (вещественное 4-байтовое значение), то при получении этого пакета он будет считаться как неправильный из-за несовпадения типов (так как в клиенте, а именно в engine.dll, он указан как DWORD), либо же будет выводить ересь в виде заоблачного значения. Отсюда делаем выводы.
Daan Raven вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повышение статов при создании персонажа SunWar Работа со скриптами 3 25.08.2014 18:24
Правка статов аугментации DeLone Lineage II 1 24.07.2013 13:28
Проблема со входом на определенного персонажа Roches Серверная часть 4 11.12.2010 23:09
R2 Online kisa Другие игры / Other games 10 03.10.2010 01:24
itamename-e.dat UFODriverr Lineage II 4 25.04.2010 09:37


© 2007–2020 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 14:19. Часовой пояс GMT +3.

Вверх