PDA

Просмотр полной версии : Вопрос по DBCfmt.h


sokmax
18.08.2010, 23:19
Доброго времени суток, уважаемые форумчане!
Собственно меня интересует откуда берутся значения в файле DBCfmt.h?
Пример:
const char Achievementfmt[]="niixsxiixixxii";

Допустим, мне нужно перевести сервер под новый билд WoW'a, как я могу узнать новое значение "const char Achievementfmt" ? :
const char Achievementfmt[]="???????";

Заранее благодарю за помощь.:thank_you:

Vladimir
19.08.2010, 00:40
Смотрим в dbc (например Item.dbc), смотрим в cоответствующую струкутру в DBCStructure.h (ItemEntry) и с помощью даной строчки соотносим типы и расположение полей в dbc с соотвевующиим полями в коде.
Значений символов описаны в src\shared\Database\DBCFileLoader.h

sokmax
19.08.2010, 01:44
А вообще для чего нужен DBCfmt.h? С помощью него определяется из какого билда WoW'а DBC?

LordJZ
19.08.2010, 02:26
С помощью него определяются поля из DBC, которые читаются в структуры из DBCStructure.h

Vladimir
19.08.2010, 13:52
Сами DBC файлы не содержат сведений о типе значений, хранящихся в конкретном поле. Также не все поля мы используем, и, соответственно, бессмысленно данные для них загружать. Для обеих этих целей и используется строчка формата - задает что загружать и в каком виде. Также еще задает по какому полю индексируются данные.

sokmax
26.08.2010, 12:00
И все таки я не понимаю как именно заполнять эти таблицы...
Вот к примеру в spell.dbc первая строчка:
1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,7,0,0,1,0.0, 0,0,1,0,"Word of Recall (OLD)","","","",0x8,0,0,0,0,0.0,0,0,0,0,1,0,0,,0,1,0,1,0,0,0,0,0
И как это будет выглядеть в DBCfmt.h ?

Konctantin
26.08.2010, 14:14
а вы уверены, что это именно она?
Просто то что вы показали, не похоже на первую сторку из спелл ДБЦ
Вот так она выглядит:
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,7,0,0,7,0,0,0,101,0,0,0,0,0,0,10,0,0,0,1,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,5,0,0,6,0,0,0,0,0,0,0,0,0,0,0,1,0,0,9,0,0,0, 0,0,0,0,0,0,0,0,1065353216,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,50,"Word of Recall (OLD)",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16712190,"",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16712188,"",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16712188,"",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16712188,0,0,0,0,0, 0,0,0,0,1,1,0,1065353216,1065353216,1065353216,0,0 ,0,0,0,0,8,0,0,0,1065353216,0,0,0,0
а теперь прикиньте

sokmax
26.08.2010, 15:41
Ах да, извините, забыл упомянуть, что у меня DBC из Cataclysm, я пытаюсь запустить сервер с новыми DBC...

Astellar
26.08.2010, 18:15
С каких это пор Blizzard начали убирать данные из Spell.dbc? То, что вы показали - это какой-то уродливый карлик.

Да и как Вы себе представляете запуск сервера 3.3.5а с DBC от беты Катаклизма? В таких случаях обычно любят говорить "Учи матчасть"...

virusav
26.08.2010, 19:36
С каких это пор Blizzard начали убирать данные из Spell.dbc?
С определенных, т.к. по сниффам спеллы используются, а в дбц их нет.

Astellar
26.08.2010, 21:08
Я про колонки, а не про спеллы. Можно было это понять на основе тех данных, которые автор привел.

LordJZ
26.08.2010, 21:14
В Катаклизме Spell.dbc поделили на несколько (несколько!?) DBC.

Astellar
26.08.2010, 21:16
Гхм. Тогда автору лучше вообще забыть об идее запуска сервера с этими DBC.

P.S. Видать в корпорации Blizzard тоже иногда строят новые велосипеды :)

Vladimir
26.08.2010, 21:16
Автору топика: вместо ^&%^%^ мозга читателей форума - лучше бы посмотрели код в веке 400 репозитария мангоса.