SpellWork C#
Вложений: 3
Мы тут с Konctantin начали переписывать SpellWork на C#.
Репозиторий тут: http://github.com/LordJZ/spellwork_cs/ Пока что реализованы не все функции оригинального spell_work-а, но вроде бы все работает. Скриншоты: (пока что не все реализовано) Ссылка на скомпилированный файл во вложении. Пожалуйста пишите свои пожелания и баг-репорты. |
Ждем баг-репортов и пожеланий :)
|
Хотел спросить, имена в 3.3.3 в Spell.dbc уже не используются? Использую enGB. Вроде всегда имена были, а тут не видно.
|
у нас тут автодетект, проверялось только на русских, щас проверю не английски
==== Поправлено, спасибо. |
Небольшой патчик http://paste2.org/p/778934, добавлен sln файл для VS2010 (компиляция в VS2008 не проверялась, теоретически должно компилится с варнингами о неподдерживаемой версии .NET Framework), перенесена часть кода в класс Extensions...
|
Цитата:
|
Кстати, содержимое файла Utility.cs тоже можно переделать в Extensions (хотя эти методы все равно не используются)...
Цитата:
|
Вложений: 1
Патч накатил, и сразу пришлось null на "" менять, кстати вопрос, а зачем было делать в структуре приват переменные пабликами, я их специально скрыл, чтоб недоступны были из списка выбора, а то там и так всего много, да и null устраивал :)
Пока пускай будет, мало ли. исходник прилепил |
Цитата:
|
Есть один баг, не правильно отображаются Stances и Not Stances, пока не знаю как поправить
|
В GenerateSpellDesc не лучше ли заменить str += ... на StringBuilder? А то выглядит ужасно :)
Код:
return String.Format("SpellRange: ID - {0} {1} (unk = {2}) MinRange = {3}, MinRangeFriendly = {4}, MaxRange = {5}, MaxRangeFriendly = {6}\r\n", Код:
static String GetFormInfo(ulong val, string name) Код:
public ulong Stances; // 12-13 m_shapeshiftMask Код:
"\r\n" Код:
public static StringBuilder AppendFormatLine(this StringBuilder sb, string format, params object[] args) Для Код:
"" так: Код:
var str = "abc"; Код:
var str = "abc"; В файле Structure.cs опечатка curent -> current Код:
GetAuraModTypeName() Код:
var spell = (from s in DBC.Spell where s.Key == spellId select s.Value).First(); Код:
sb.Append(Environment.NewLine); Код:
sb.AppendFormat("CasterAuraState 0x{0:X8}, TargetAuraState 0x{1:X8}\r\n", spell.CasterAuraState, spell.TargetAuraState); |
Поправил, правда не все, оставил еще LordJZ, пускай и он поклацает.
|
Еще патчик http://paste2.org/p/779518.
|
Цитата:
|
|
Может права на репозитарий лучше у LordJZ взять?
|
|
Вложений: 1
Я зашел в тупик, не знаю от куда и как берутся некоторые поля для таблицы spell_proc_event, а именно:
-ProcFlagEx - подозреваю что это spell.ProcFlags - но не уверен :( -PPMRate - даже не представляю с каких полей dbc составляются эти данные? и чуточку не уверен в Cooldown, так что нужна помощь, или хотя бы намек или пинок в нужном направлении. Вот пока последняя на данный момент скомпилированая версия SpellWork |
Цитата:
PPMRate - шанс прока в зависимости от скорости оружия, в старом спеллворке было просто поле для ввода Cooldown - тоже было просто поле для ввода |
Cooldown - я взял spell.RecoveryTime / 1000f - но если не устраивает можем поставить свое
PPMRate, procEx - это то чего нету в dbc но то что мы хотим видеть. Спасибо, вот я и получил тот пинок в нужном направлении. так, с проками кажется разобрался полностью, по ходу будет видно, как будет время сегодня сделаю полностью эту вкладку и приведу ее к нужному функционалу. Какие есть у кого пожелания, что бы вы еще хотели видеть? |
Цитата:
|
|
Кстати да, поиск было бы классно расширить и спрятать в отдельный блок
|
У меня опять вопрос, как для таблицы spell_proc_event надо брать данные по столбцам SpellFamilyMask0, SpellFamilyMask1, SpellFamilyMask2, они берутся прямо из dbc и не меняются или как-то генерируются?
Просто не нашел в исходниках СпеллВорка как это дело обрабатывается:( |
Реализована работа с базой данных для таблицы spell_proc_event (пока немного кривовато, надо проверок натыкать).
Остался открытым вопрос с моего предыдущего поста. Необходимо проверять, но я сейчас не могу, сделал все чисто теоретически. Прикрепил последнюю скомпилированную версию, там же и MySql.Data.dll для работы с базой данных. http://filekeeper.org/download/share...3a__11723_.rar |
+ Добавил фильтр на выборку из базы данных
+ Добавлено несколько проверок для роботы с базой данных + Добавил форму для подсчета флагов + Добавил бинарные файлы "SpellWork.exe" и "MySql.Data.dll" в репозитарий скачать можно тут http://github.com/LordJZ/spellwork_c...k/bin/Release/ |
Простите, ошибочка вышла, скомпилировал в дебаге, а залил релиз.
Поправлено. |
Предлагаю сделать не одну вкладку Spell Info, а две - удобно сравнивать спеллы.
|
А лучше сделать вкладку Compare Spell
|
Я уже работаю над этим, хочу сделать что-то на подобии TortoiseIDiff, с 2 полями, и выделение цветом разбежностей (красным) и совпадений (зеленым)
|
Цитата:
Если мешают дополнительные панели во вкладке "Spell Proc Event" - их легко можно сдвинуть, и они не будут мешать. |
Помогите с задачей, для реализации расширенного фильтра в SpellWork
Есть структура: Код:
public struct SpellEntry Я частично решил проблему, чтобы заполнить ComboBox нужными данными из структуры сделал такой метод расширения: Код:
public static void SetStructFields<T>(this ComboBox cb) where T : struct все данные у меня хранятся в Dictionary<uint, SpellEntry> Spell; Что я имею ввиду: скажем есть такой простенький запрос: Код:
var query = from s in DBC.Spell.Value where s.SpellName == val select s; чтобы было что-то на подобии: Код:
var field = ((ComboBox)sender).SelectedValue; И возможно ли вообще присвоение переменной в єтом участке кода: Код:
DBC.Spell.Value where s[field] |
пока ничего серьезного не делал, но в последней версии ускорил загрузку программы, теперь ДБЦ читаются быстрее.
Так же должна показываться ошибка, если структура не подходит к ДБЦ файлу. От нечего делать добавил иконки в SpellFamilyTree |
Вложений: 1
Сделал сравнение спелов, сравнение идет построчно:
http://ru-mangos.ru/attachment.php?a...1&d=1273615752 |
Есть просьба: залейте кто нибудь ДБЦ с клиентов 112 и 243
|
Вложений: 1
Вот такая вот ошибка
http://ru-mangos.ru/attachment.php?a...1&d=1273638583 Установлен .NetFramework 4 (Ранние версии NetFramework отсутствуют) |
я собираю на 3.5 .NetFramework, попробуйте установить его.
Да и там еще библиотека для работы с базой данных, вы ее скачали? http://github.com/LordJZ/spellwork_c...MySql.Data.dll |
Вложений: 1
Реализован дополнительный фильтр, теперь можно выбрать поле и задать ему значение. Фильтр можно использовать самостоятельно и с основным фильтром.
http://ru-mangos.ru/attachment.php?a...1&d=1273663590 Спасибо всем за идеи, жду новых пожеланий. |
Можно ли прок перенести в спел прок ивент, как было ранее сделано в старом спелл ворке?
И не могу разобраться, как выбрать маску для прока? |
Текущее время: 08:23. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS