|
Прочая документация Помощь, книги, инструкции, описания |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
26.07.2010, 10:04 | #1 |
Новичок
Регистрация: 14.05.2010
Адрес: Moskow
Сообщений: 29
Сказал(а) спасибо: 14
Поблагодарили 36 раз(а) в 11 сообщениях
|
Character stat research
Хочу сделать пхп класс, чтобы он извлекал данные перса из бд в массив, и затем эти данные можно было бы где-то использовать. Например, на основе этого я хотел сделать настраиваемый юзербар, с разными картинками, разными видами, оптимизированный и кешируемый. Но своего вов сервера уже не имею, и толком не играл в вов). И тем более, не знаю откуда брать статы из бд.
Ниже все статы, для части из них я нашел как извлечь. А для всех остальных статов прошу помочь найти откуда брать инфу конкретно по каждому. То, что становится известно - буду обновлять в этом сообщении. Если что не так - поправляйте. [Item level] Items Level [Arhievements] Achv Points (SELECT SUM (`points`) FROM `dbc_achievement` WHERE `id` IN (SELECT `achievement` FROM `character_achievement` WHERE `guid`=?d) ) [Basic stats] Health (таблица: сharacter.character_stats, поле: maxhealth) Mana (таблица: сharacter.character_stats, поле: maxpowerX, индекс: 1) Stamina (таблица: сharacter.character_stats, поле: stamina) Intellect (таблица: сharacter.character_stats, поле: intellect) Strength (таблица: сharacter.character_stats, поле: strength) Agility (таблица: сharacter.character_stats, поле: agility) Spirit (таблица: сharacter.character_stats, поле: spirit) [Melee] AP (таблица: сharacter.character_stats, поле: attackPower) Armor Pen Crit (таблица: сharacter.character_stats, поле: critPct) Expertise Hit Hit Perc Energy (таблица: сharacter.character_stats, поле: maxpowerX, индекс: 4) Melee Haste [Ranged] RAP (таблица: сharacter.character_stats, поле: rangedAttackPower) Ranged Crit (таблица: сharacter.character_stats, поле: rangedCritPct) Ranged Hit Ranged Hit Perc Ranged Haste [Spells] Spell Power (таблица: сharacter.character_stats, поле: spellPower) Spell Crit (таблица: сharacter.character_stats, поле: spellCritPct) Spell Hit Spell Hit Perc Spell Pen Spell Haste MP5 Mana Reg Healing ≈ Spell Power Arcane Crit ≈ Crit Power Arcane Dmg ≈ Spell Power Fire Crit ≈ Crit Power Fire Dmg ≈ Spell Power Frost Crit ≈ Crit Power Frost Dmg ≈ Spell Power Holy Crit ≈ Crit Power Holy Dmg ≈ Spell Power Nature Crit ≈ Crit Power Nature Dmg ≈ Spell Power Shadow Crit ≈ Crit Power Shadow Dmg ≈ Spell Power [Defence] Avoidance Armor (таблица: сharacter.character_stats, поле: armor) Block Block Rtng (таблица: сharacter.character_stats, поле: blockPct) Defense Dodge (таблица: сharacter.character_stats, поле: dodgePct) Parry (таблица: сharacter.character_stats, поле: parryPct) Resilience [PvP] 2v2 Rating 3v3 Rating 5v5 Rating Kills (таблица: сharacter.characters, поле: totalKills) [Special cases] Cat AP Cat Crit Откуда взять две основные профессии персонажа? Профессии хранятся там же, где скиллы. Сначала берутся все скиллы из таблицы character_skills, сортируя по полю value по убыванию, затем из них отбираются профессии (пример). Откуда взять значения 3х основных талантов? http://ru-mangos.ru/showpost.php?p=11467&postcount=20 Список статов взят с http://www.zetbit.com/ Много полезного по теме в вики http://wiki.ytdb.ru/index.php/Charactersdb_struct Так же часть полезностей в Blizzlike userbar от SergiK_KilleR http://svn.assembla.com/svn/webmango....character.php Последний раз редактировалось HarpyWar; 29.07.2010 в 10:25. |
26.07.2010, 13:34 | #3 |
Новичок
Регистрация: 14.05.2010
Адрес: Moskow
Сообщений: 29
Сказал(а) спасибо: 14
Поблагодарили 36 раз(а) в 11 сообщениях
|
Ок. Но я пока не ориентируюсь что и где в таблицах находится. Идеально было бы получить алгоритм извлечения каждой статы из списка выше.
Например, в character_skills 2 поля value и max, какое из них нужно? Чтобы получить 3 основных профессии, я так понимаю, надо отсортировать по убыванию по одному из этих полей и взять 3 профессии? Далее, character_talent. То же самое: сортировка по убыванию, лимит в 2. current_rank - это то поле, которое нужно? Ещё очень хорошо было бы, если кто-то выложит дамп нескольких персов из бд character. Или можно всю бд, если нескольких, отдельно со всеми нужными таблицами, сложно вытащить. Последний раз редактировалось HarpyWar; 26.07.2010 в 13:48. |
26.07.2010, 14:57 | #4 |
Forum bot
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
|
Эм... *ушел и застрелился* Приведите перевод слов "value" и "maximum" пожалуйста.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
26.07.2010, 16:38 | #5 |
Новичок
Регистрация: 14.05.2010
Адрес: Moskow
Сообщений: 29
Сказал(а) спасибо: 14
Поблагодарили 36 раз(а) в 11 сообщениях
|
|
26.07.2010, 16:43 | #6 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
Точно так же как и жизнь. Есть максимальное значение, и то что у тебя на текущий момент. Что тут непонятного ?
З.Ы. ааа ты не играл в вов... понятно Уровень владения профессией выражается числом, а не просто знаю/не знаю. Изначально после посещения соответствующего тренера твой навык владения профой = 0. И ограничен сверху некоторым лимитом. Когда ты делаешь какие-то дествия связанные с твоей профой (собираешь руду/траву, что-то крафтишь ...) твой текущий навык повышается, позволяя учить у тренера новые возможности. Выучить профессию выше максимального уровня невозможно. Последний раз редактировалось Йоха; 26.07.2010 в 16:47. |
Пользователь сказал cпасибо: | tempura (26.07.2010) |
26.07.2010, 16:48 | #7 |
Новичок
Регистрация: 14.05.2010
Адрес: Moskow
Сообщений: 29
Сказал(а) спасибо: 14
Поблагодарили 36 раз(а) в 11 сообщениях
|
Для жизни надо использовать максимальное, т.к. нет смысла выводить текущее, если у чара в момент забора статистики 1 хитпоинт.
А для профессии я так и не понял, надо использовать текущее или максимальное значение? Она может уменьшаться, как жизни, или как? |
26.07.2010, 16:50 | #8 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
для проф надо выводить текущее/максимальное. Ибо максимальное ограничено текущим патчем. Новый лимит будет в катаклизме.
Уменьшаться она не может, можно только полностью сбросить профессию. Посмотри в армори, там все хорошо видно |
26.07.2010, 16:51 | #9 |
Новичок
Регистрация: 14.05.2010
Адрес: Moskow
Сообщений: 29
Сказал(а) спасибо: 14
Поблагодарили 36 раз(а) в 11 сообщениях
|
Йоха, теперь понял)
Как насчет всего остального? |
26.07.2010, 16:55 | #10 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
не, я не силен в структуре таблиц мангоса, могу только что-то по игре рассказать
|
26.07.2010, 17:07 | #11 | |
Новичок
Регистрация: 14.05.2010
Адрес: Moskow
Сообщений: 29
Сказал(а) спасибо: 14
Поблагодарили 36 раз(а) в 11 сообщениях
|
Цитата:
Вот таблица сharacter_talent, там поле current_rank. Этот ранк и есть единица измерения таланта? |
|
26.07.2010, 17:13 | #12 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
current_rank - это сколько очков вложено в талант. Ты дерево талантов представляешь ? у некоторых талантов есть ранки, вот это оно и есть
Последний раз редактировалось Йоха; 27.07.2010 в 13:10. |
Пользователь сказал cпасибо: | tempura (26.07.2010) |
26.07.2010, 17:20 | #14 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
61 - это общее количество очков вложенных во всю ветку
Улучшенное проклятие агонии 2/2 - это ранк таланта два из двух |
26.07.2010, 17:29 | #15 |
Новичок
Регистрация: 14.05.2010
Адрес: Moskow
Сообщений: 29
Сказал(а) спасибо: 14
Поблагодарили 36 раз(а) в 11 сообщениях
|
Уже яснее) Значит надо суммировать все таланты перса, входящие в колдовство.
Тогда что такое колдовство, и как я узнаю, принадлежит ли ему данный талант? |
27.07.2010, 12:37 | #16 | |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
Цитата:
Как определить в данном случае не знаю, может в мангосе есть какая-то еще таблица в которой прописаны принадлежности талантов к определенной ветке. Если нет, тогда выкручиваться как-то по другому, например завести эти таблицы самому или определить в программе 3 массива с перечнем талантов принадлежащих каждой ветке. |
|
26.07.2010, 17:35 | #17 |
Ученый
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
|
Spell Dmg = Healing=Arcane Dmg=Fire DmgFrost Dmg=Holy Dmg=
Nature Dmg=Shadow Dmg Spell Crit=Fire Crit=Arcane Crit=Frost Crit=Holy Crit=Nature Crit=Shadow Crit Crit - http://wiki.ytdb.ru/index.php/Charac...s#spellCritPct Dmg - http://wiki.ytdb.ru/index.php/Charac...ats#spellPower Тоесть демаг и крит для всех одинаков |
26.07.2010, 17:53 | #18 | |
Новичок
Регистрация: 14.05.2010
Адрес: Moskow
Сообщений: 29
Сказал(а) спасибо: 14
Поблагодарили 36 раз(а) в 11 сообщениях
|
Цитата:
Healing, надеюсь, опечаткой был? И вопрос, зачем тогда на zetbit.com добавили все эти Crit и Dmg? |
|
26.07.2010, 20:41 | #19 |
Forum bot
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
|
Например для файр-мага важнее продемонстрировать бонусы именно по файр-магии, а не магии вообще. Хотя понты дешевые.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
27.07.2010, 12:50 | #20 | |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
Цитата:
все школы магии могут иметь различные значения у одного персонажа. Ибо есть всякие енчанты, таланты, проки предметов и.т.д. которые влияют не на весь спел дмг, а на конкретную школу. Например енчант, Крит у холи паладинов всегда выше у школы холи магии чем у остальных, особенность класса. см талант священная сила. Последний раз редактировалось Йоха; 27.07.2010 в 12:58. |
|
Пользователь сказал cпасибо: | HarpyWar (27.07.2010) |
27.07.2010, 14:03 | #21 |
Новичок
Регистрация: 14.05.2010
Адрес: Moskow
Сообщений: 29
Сказал(а) спасибо: 14
Поблагодарили 36 раз(а) в 11 сообщениях
|
Я запутался с дамагами и критами. Все же их можно к одному стату свести или есть отличия у некоторых классов персонажей?
Если отличия есть, то как их взять из бд? Красным пометил то, что мне пока непонятно откуда брать. Мне очень нужна база "character", чтобы прямо на ней тестировать. Если кто-то поделится полным дампом, буду премного благодарен. Лучше базу, где персов побольше - будет проще улучшить производительность. |
26.07.2010, 20:30 | #22 | |
Ученый
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
|
Нет Healing не опечатка.
Цитата:
А вообще не проще ли глянуть в реализацию WowArmory? |
|
26.07.2010, 22:52 | #23 |
Ученый
|
Подсчет талантов:
сам скрипт - http://paste2.org/p/928574 таблица dbc_talents - http://filebeam.com/591fdb6f95600a90993eca07e7e705ca Заливать в базу персонажей. Использование: http://localhost/talents.php?guid=1 Не всегда - у холи паладинов крит магией света больше по сравнению с остальными школами. Последний раз редактировалось Shadez; 26.07.2010 в 22:57. |
Пользователь сказал cпасибо: | HarpyWar (27.07.2010) |
27.07.2010, 12:44 | #24 |
Пользователь
Регистрация: 04.05.2010
Сообщений: 54
Сказал(а) спасибо: 11
Поблагодарили 13 раз(а) в 11 сообщениях
|
Эти данные есть в DBC
|
27.07.2010, 15:34 | #25 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
ну для упрощения можно сделать все равным, однако по факту значения спд разных школ могут отличаться, крит может быть другим у холи паладина
|
27.07.2010, 16:14 | #26 | ||
Ученый
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
|
Цитата:
и http://wiki.ytdb.ru/index.php/Charac...s#spellCritPct а дальше уже накладываются все возможные таланты и так далее. То есть в самой БД нету разделения на школы. Все эти разделения накладываются талантами, чантами Цитата:
Последний раз редактировалось alien; 27.07.2010 в 16:19. |
||
Пользователь сказал cпасибо: | HarpyWar (29.07.2010) |
29.07.2010, 09:50 | #27 |
Новичок
Регистрация: 14.05.2010
Адрес: Moskow
Сообщений: 29
Сказал(а) спасибо: 14
Поблагодарили 36 раз(а) в 11 сообщениях
|
Такой запрос я взял с этого юзербара http://svn.assembla.com/svn/webmango....character.php. Может там имеется в виду что-то другое?
PHP код:
Ну поделится кто дампом базы персов? Только персы - аккаунты не нужны. |
27.07.2010, 16:46 | #28 | |
Ученый
|
Цитата:
PHP код:
|
|
Пользователь сказал cпасибо: | HarpyWar (29.07.2010) |
29.07.2010, 10:13 | #29 | ||
Ученый
|
Цитата:
Цитата:
|
||
29.07.2010, 12:34 | #30 |
Новичок
Регистрация: 14.05.2010
Адрес: Moskow
Сообщений: 29
Сказал(а) спасибо: 14
Поблагодарили 36 раз(а) в 11 сообщениях
|
К сожалению, просто структура без данных (и без того, с чем эти данные соотносятся) мне ни о чем не говорит.
Теперь ещё хорошо бы получить актуальные Talents.dbc, TalentTab.dbc и Achievement.dbc (клиента игры у меня нет). И я не понимаю, почему никто не хочет (или не может?) выложить базу персов... Увы, но без неё ничего с места не сдвинется. Последний раз редактировалось HarpyWar; 29.07.2010 в 18:59. |
29.07.2010, 22:24 | #31 | |
Гость
Сообщений: n/a
|
Цитата:
пробовал переписать код мангоса на пхп, осилил совсем не много, при чем только класс player +1500 строк; и запутался уже окончательно ... имхо проще написать на С++ мод для апачи используя исходники мангоса, чем биться головой о пхп... скриншот http://img294.imageshack.us/img294/8168/16862449.jpg Последний раз редактировалось Minimajack; 29.07.2010 в 22:29. |
|
29.07.2010, 22:24 | #32 |
Ученый
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
|
а что мешает скачать клиент?
|
30.07.2010, 02:06 | #34 |
Гость
Сообщений: n/a
|
для того что бы получить статы, минимум необходимо :
1. загрузить базовые значения PHP код:
3. "обнулить" модификаторы 4. загрузить все скилы, в том числе расовые(не все хранятся в character_skills, часть в playercreateinfo_spell) 5. загрузить equip - применить бонусы с вещей 6. загрузить все ауры ( с учетом того, что некоторые имеют отрицательное значение ) 7. пересчитать все рейтинги, защитные навыки 8. применить сохраненные значение хп и повер |
30.07.2010, 03:13 | #35 |
Ученый
|
Ауры (если это баффы) учитывать не надо.
|
30.07.2010, 08:32 | #36 |
Гость
Сообщений: n/a
|
тогда нет смысла и заморачиваться, не получим точные данные ...
пример: http://ru.wowhead.com/spell=168 будет кривой расчет брони... http://ru.wowhead.com/spell=1245 неверное макс хп Последний раз редактировалось Minimajack; 30.07.2010 в 08:36. |
30.07.2010, 11:07 | #37 |
Ученый
|
C бафами данные как раз и не точные. Это всё временные модификаторы, а нам нужны постоянные данные. Как, например, в официальной Оружейной - там баффы/дебаффы не учитываются. Отображаются статы только исходя из бонусов вещей/энчантов/талантов/абилок.
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[patch/dev] Pet stat scaling system | rsa | Патчи | 9 | 22.01.2015 12:13 |
Creature typeflags research. | newsbot | CMaNGOS Commits | 0 | 02.07.2010 04:54 |
[a bit of research] ACE Reactor usage. | Astellar | Патчи | 4 | 25.06.2010 09:14 |
[9677] Implement ITEM_MOD_BLOCK_VALUE support in item stat mods and enhantments. | newsbot | CMaNGOS Commits | 0 | 06.04.2010 01:20 |
[9648] Add comment to UNIT_BYTE1_FLAG_UNK_2 for further research | newsbot | CMaNGOS Commits | 0 | 31.03.2010 02:00 |