Jump to content
Sign in to follow this  
Tarisper

Нужна помощь в создании калькулятора талантов

Recommended Posts

Почитав форум, выяснил, что не все знакомы с великим и ужасным английским языком. Отсюда проблемы у некоторых игроков, связанные с невозможностью воспользоваться калькулятором талантов.

Поразмыслив над этим, решил попробовать сделать свой для версии 1.12.2. Т.к. веб-программирование это не мое и не хочу даже заморачиваться на него (всё таки под десктоп профессионально пишу уже больше 8 лет), то писать буду под десктоп. Пишу под Windows, т.к. считаю, что человек, играющий в WoW в Linux просто должен знать английский язык чтобы читать мануалы по кодингу, ядру и пр. :)

На данный момент реализовано:

[*]Разработана структура данных для описания талантов. Чтобы не писать отдельную приблуду для заполнения структуры, реализовал ее в виде набора ini-файлов и изображений.

[*]Формирование списка классов с обработкой их списка талантов на основе структуры данных.

В чем нужна помощь:

[*]Заполнение структуры данных для всех классов.

[*]Подготовка изображений (изображения талантов и фонов для них в формате BMP).

Что желательно, но не обязательно:

[*]Обработка изображений талантов таким образом, чтобы они имели BMP-прозрачность.

Что добавлю в будущем:

[*]Три ветки талантов в одном окне.

[*]Другие версии WoW.

[*]Подсвечивание рамки вокруг изображения таланта при максимальной его прокачке.

[*]Изменение хинта на wow-подобный.

Я, конечно, могу всё это и сам сделать, но "работа на работе" отнимает львиную часть времени :)

И на напоследок, скрины того, что сейчас есть.

post-29884-0-14248000-1333667794_thumb.jpgpost-29884-0-51453500-1333667794_thumb.jpg

Edited by Tarisper

Share this post


Link to post
Share on other sites

Хах чувак, ко мне бы обратился, вместе бы набросали на C++/Qt или на чем пишешь?Я бы структуру на xml сделал.

Share this post


Link to post
Share on other sites

Хах чувак, ко мне бы обратился, вместе бы набросали на C++/Qt или на чем пишешь?Я бы структуру на xml сделал.

У меня принцип, если в проге есть интерфейс - писать ее на Delphi. В остальных случаях (консольное приложение, служба, dll и пр.) - Си-подобные языки. А XML не выбрал, т.к. его ручками сложнее чем INI заполнять, ведь приблуду для заполнения писать лень :)

Share this post


Link to post
Share on other sites

Итак, структура данных.

INI-файл описания списка классов:

[ClassesList]; Количество классовCount=1; Название классаItem1=Druid; Название папки с настройками классаItemDir1=Druid

INI-файла описания талантов одной ветки класса:

[Buttons_Count]; Количество талантов в веткеCount=11; Название веткиName=Balance[Btn1]; Вкл/Выкл талант по умолчанию (0 - выкл., 1 - вкл.)Enabled=1; Сколько необходимо очков талантов в ветке для открытия текущего талантаItemsFromOpen=0; Координаты значка таланта в ветке начиная с 1 (CoordX - номер столбца, CoordY - номер строки)CoordX=1CoordY=1; Иконка доступного талантаIconEnabled=Improved_Wrath_Enabled.bmp; Иконка недоступного талантаIconDisabled=; Количество очков талантов, которые можно потратить на этот талантCount=5; Номер таланта, открываемого при полном заполнении текущего (например, 3 - открывается талант Btn3)OpenCount=; Каким талантом открывается текущий (величина обратная предыдущему параметру, т.е. если в Btn1 в параметре; OpenCount написать 3, то в Btn3 в параметре CloseCount необходимо написать 1)CloseCount=; Название талантаItemsName=Improved Wrath; Текст для всех состояний таланта. Знак "@" означает новую строку. Т.е. текст "Снижает время чтения заклинания@Wrath на 0.1 сек."; будет отображен как:; Снижает время чтения заклинания; Wrath на 0.1 сек.ItemsText1=Снижает время чтения заклинания@Wrath на 0.1 сек.ItemsText2=Снижает время чтения заклинания@Wrath на 0.2 сек.ItemsText3=Снижает время чтения заклинания@Wrath на 0.3 сек.ItemsText4=Снижает время чтения заклинания@Wrath на 0.4 сек.ItemsText5=Снижает время чтения заклинания@Wrath на 0.5 сек.; Затрачиваемая на спел мана/ярость/энергия (указывается если талант добавляет новый спел)Mana=; Время каста спела (например, 1 мин. перезарядки)Cast=

Пока отработал обработку только на одной ветке талантов, но всё пашет. Зависимости одних талантов от других есть, зависимость таланта от потраченных очков в ветке есть. Нет только отрисовки стрелок (если прокачка одного таланта открывает зависимый в вов эта связь показывается стрелками).

Как закончу, есть идея написать такое же под Android, но это что-то вообще ломает. Не люблю я в нем формы рисовать с помощью XML.

Edited by Tarisper

Share this post


Link to post
Share on other sites

У меня принцип переписывать софт на C++/Qt4 и повышать производительность этого софта на 300% Попробовать не хочешь? Сейчас пишу модель-вивер используя OpenGL модуль Qt, но одному скучно.

Share this post


Link to post
Share on other sites

У меня принцип переписывать софт на C++/Qt4 и повышать производительность этого софта на 300% Попробовать не хочешь? Сейчас пишу модель-вивер используя OpenGL модуль Qt, но одному скучно.

Пока времени нет. На работе очередная сдача проекта заказчику. Да и вообще в голове уже полная каша от языков программирования. И на C писал, и на C++, и на Objectiv C, и на C#, и на PHP, и на Java, и на Java под Android, и на Assembler, и на Delphi, не говоря уже о таких недоязыках как CSS, JavaScript и пр. Добавлять в эту кашу еще что-то не особо хочется. И так иногда сижу, например в делфи и туплю, почему отладчик ругается на == в условии, в в C знак присванивания := не прокатывает :D

Share this post


Link to post
Share on other sites

, не говоря уже о таких недоязыках как CSS

Изображение

Share this post


Link to post
Share on other sites

Почему бы не использовать Talent.dbc/TalentTab.dbc для формирования ini файлов или какой-то своей удобной структуры. Потому что ручками это все забивать будет явно дольше, да и мало кто сможет помочь имхо. А так или в проге целиком обработку данных с дбц или маленький генератор - на вход дбц - на выход, полная структура всего что надо. Вот только у меня дельфи нету на ноуте, есть шарп и плюсы, ну и полный набор веб-разраба, так уж получилось :)

Share this post


Link to post
Share on other sites

Ничего не шарю в программировании, но идея нравится ;) Раз уж ты играешь на нашем сервере, предлагаю сделать этот калькулятор под "брендом" Валькирии и сочетать название нашего сервера с картинками в самом калькуляторе (или иными способами сделать ссылку на наш сервер).Кстати, у нас же много творческих людей, попроси одного из художников-любителей нарисовать фреймы к классам, дело то минутное :o

Edited by Alexandra

Share this post


Link to post
Share on other sites

Простите что?) Какие фреймы? Кто рисовать?3 года Гипер спрашивает, кто ему может нарисовать дизайн - никто.На Qt все фреймы рисуются сочетанием html+css верстки - веб дизайн - что может быть проще, используя веб дизайн в десктопных приложениях, но опять же никто не шарит в дизайне.Но писать это на делфи, считаю извращением. Я на делфи только курсачи писал, параллельно заплевывая монитор.

Share this post


Link to post
Share on other sites

Надо дать народу кирку и сказать, где золото!Вы же всемогущие, сделайте конкурс, хотите я пост составлю? ;)

Share this post


Link to post
Share on other sites

Делали конкурс. Всем пох*й.

Гииип, я знаю, что ты у нас мрачный сударь, но когда ты стал таким пессимистом? :huh: Дай, пожалуйста, ссылочку на ваш недопроведенный конкурс

Share this post


Link to post
Share on other sites

Мы не дизайнеры, мы суровые программисты :) накатаю калькулятор талантов на ассемблере ага, только кроме меня его никто не оценит :)

Share this post


Link to post
Share on other sites

Мы не дизайнеры, мы суровые программисты :) накатаю калькулятор талантов на ассемблере ага, только кроме меня его никто не оценит :)

Я оценю. Пиши :D Вот только зачем такой гемор :) Помню как-то надо было сварганить простой термометр на КР580 и написать прогу под него на ассемблере. Даже написание такого простейшого кода вывело меня из себя.

Share this post


Link to post
Share on other sites

Почему бы не использовать Talent.dbc/TalentTab.dbc для формирования ini файлов или какой-то своей удобной структуры.

Можно, как вариант. Но где же взять эту таблицу с уже переведенными текстами. Тут же фишка в том, чтобы был именно русскоязычный калькулятор.

Share this post


Link to post
Share on other sites
Оффтоп
индивидуальное предложение! слеплю калькулятор талантов из цветной бумаги и картона, о да :D

Share this post


Link to post
Share on other sites

Перед ужином было свободных минут 15. Жена злилась, но я все же кое-что дописал.Теперь есть три ветки талантов. На скрине видно. Подцепил один и тот же INI-файл, поэтому таланты в ветках совпадают.Что-то написание хорошо идет (что значит, что не для работы пишу, а для себя, для души:)). Если так и дальше пойдет, может и редактор INI-файлов сварганю.

post-29884-0-27472900-1333731636_thumb.jpg

Share this post


Link to post
Share on other sites

Что-то написание хорошо идет (что значит, что не для работы пишу, а для себя, для души:)).

Надеюсь это наша моральная поддержка работает :D

Share this post


Link to post
Share on other sites

Итак, представляю тестовую версию калькулятора талантов.

post-29884-0-94503300-1333907629_thumb.jpg

Добавлен только класс друида. На нем всё и отлаживаю.

Из известных проблем:

[*]кнопки мерцают

[*]в некоторых подсказках нет информации о следующем ранге таланта.

Скачать можно здесь

Share this post


Link to post
Share on other sites

а где стрелочки?)ну в смысле некоторые таланты зависят друг от друга.а да и задержка перед показом подсказки лично мне не нравится, но это только мое мнение

Edited by balala

Share this post


Link to post
Share on other sites

а где стрелочки?)ну в смысле некоторые таланты зависят друг от друга.а да и задержка перед показом подсказки лично мне не нравится, но это только мое мнение

Стрелок пока нет :) Думаю добавить в будущем. Задержку уберу. Это же пока тестовый вариант, так что буду проводить оптимизацию и допиливание. Высказывайте своё мнение и пожелания.

Share this post


Link to post
Share on other sites

1. Убери инсталлятор.2. Пакуй в zip.3. Клади в архив исходники.

Share this post


Link to post
Share on other sites

1. Убери инсталлятор.2. Пакуй в zip.3. Клади в архив исходники.

1. Не думаю, что человек, который не смог разобраться в онлайн калькуляторе, сможет понять как воспользоваться моим без установки. Инсталятор хоть ярлык для запуска создает.2. Можно, но зачем (см. п. 1).3. Не хочу делать Open source.Отписывайтесь, пожалуйста о найденных багах.На данный момент исправлено: - задержка при показе описания талантов.Скоро обновлю файл, доступный по ссылке (об обновлении отпишусь здесь).

Share this post


Link to post
Share on other sites

1. Не думаю, что человек, который не смог разобраться в онлайн калькуляторе, сможет понять как воспользоваться моим без установки. Инсталятор хоть ярлык для запуска создает.

2. Можно, но зачем (см. п. 1).

3. Не хочу делать Open source.

Я просто оставлю это здесь.

Изображение

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×