Characters

Материал из YTDB DataBase

Перейти к: навигация, поиск

Содержание

К описанию таблиц базы данных characters.


Таблица `character`


Эта таблица содержит основную информацию для каждого персонажа. Эта информация загружается и используется для создания и определения игроков в мире.


Структура

Field Type Attributes Null Key Default Comments
guid int(11) unsigned NO PRI 0 Global Unique Identifier
account int(11) unsigned NO MUL 0 Account Identifier
name varchar(12) NO
race tinyint(3) unsigned NO 0
class tinyint(3) unsigned NO 0
gender tinyint(3) unsigned NO 0
level tinyint(3) unsigned NO 0
xp int(10) unsigned NO 0
money int(10) unsigned NO 0
playerBytes int(10) unsigned NO 0
playerBytes2 int(10) unsigned NO 0
playerFlags int(10) unsigned NO 0
position_x float NO 0
position_y float NO 0
position_z float NO 0
map int(11) unsigned NO 0 Map Identifier
dungeon_difficulty tinyint(1) unsigned NO 0
orientation float NO 0
taximask longtext YES None
online tinyint(3) unsigned NO MUL 0
cinematic tinyint(3) unsigned NO 0
totaltime int(11) unsigned NO 0
leveltime int(11) unsigned NO 0
logout_time int(11) NO 0
is_logout_resting tinyint(3) NO 0
rest_bonus float NO 0
resettalents_cost int(11) unsigned NO 0
resettalents_time bigint(20) unsigned NO 0
trans_x float NO 0
trans_y float NO 0
trans_z float NO 0
trans_o float NO 0
transguid bigint(20) unsigned NO 0
extra_flags tinyint(3) unsigned NO 0
stable_slots tinyint(1) unsigned NO 0
at_login int(11) unsigned NO 0
zone int(11) unsigned NO 0
death_expire_time bigint(20) unsigned NO 0
taxi_path text YES
arenaPoints int(10) unsigned NO 0
totalHonorPoints int(10) unsigned NO 0
todayHonorPoints int(10) unsigned NO 0
yesterdayHonorPoints int(10) unsigned NO 0
totalKills int(10) unsigned NO 0
todayKills smallint(5) unsigned NO 0
yesterdayKills smallint(5) unsigned NO 0
chosenTitle int(10) unsigned NO 0
knownCurrencies bigint(20) unsigned NO 0
watchedFaction int(10) unsigned NO 0
drunk smallint(5) unsigned NO 0
health int(10) unsigned NO 0
power1 int(10) unsigned NO 0
power2 int(10) unsigned NO 0
power3 int(10) unsigned NO 0
power4 int(10) unsigned NO 0
power5 int(10) unsigned NO 0
power6 int(10) unsigned NO 0
power7 int(10) unsigned NO 0
specCount tinyint(3) unsigned NO 1
activeSpec tinyint(3) unsigned NO 0
exploredZones longtext
equipmentCache longtext
ammoId int(10) unsigned NO 0
knownTitles longtext
actionBars tinyint(3) unsigned NO 0
deleteInfos_Account int(11) unsigned NO 0
deleteInfos_Name varchar(12) 0
deleteDate bigint(20) unsigned NULL

Описание полей

guid

Глобальный уникальный идентификатор(global unique identifier) персонажа. Этот номер должен быть уникальным, это наилучший способ идентифицировать несколько персонажей.

account

Идентификатор (identifier) аккаунта, к которому относится данный персонаж. Смотрите Account#id.

data

Это поле содержит длинный текст, содержащий большое колличество чисел, разделенных пробелом. Пробел разбивает числа в массив и исполняет функцию разделителя. Таблицу, объясняющюю какие значения сохраняют какие-либо индексы, можно найти в character_data. В 3.3.3 она удалена.

name

Имя персонажа.

race

Раса персонажа из ChrRaces.dbc:

IDНазвание
1Человек
2Орк
3Дворф
4Ночной эльф
5Нежить
6Таурен
7Гном
8Тролль
9Гоблин Файл:Icon-cata.gif
10Кровавый эльф Файл:Icon-bc.gif
11Дреней Файл:Icon-bc.gif
22Ворген Файл:Icon-cata.gif

class

Класс персонажа из ChrClasses.dbc:

IDНазвание
1Воин
2Паладин
3Охотник
4Разбойник
5Жрец
6Рыцарь смерти Файл:Icon-wotlk.gif
7Шаман
8Маг
9Чернокнижник
11Друид

gender

Пол персонажа

level

Уровень персонажа.

xp

Количество очков опыта персонажа.

money

Количество золота у персонажа.

playerBytes

Содержит информацию о цвете кожи, типе лица, причёске и цвете волос персонажа.

  • Цвет кожи = playerbytes  % 256
  • Тип лица = (playerbytes >> 8) % 256
  • Тип причёски = (playerbytes >> 16) % 256
  • Цвет волос = (playerbytes >> 24) % 256

playerBytes2

Содержит информацию о дополнительных настройках лица (борода, серьги, татуировки).

  • facialHair = playerBytes2 % 256

playerFlags

Bitmask (битмаска - сумма флагов) Player flags (плеер-флагов), которые есть у персонажа. Каждый бит отвечает за свой флаг и за их комбинацию в целом, вы можете добавить любой желаемый флаг, in effect activating the respective bits.

Flag Name Comment
1 0x00000001 PLAYER_FLAGS_GROUP_LEADER (групп-лидер)
2 0x00000002 PLAYER_FLAGS_AFK (АФК)
4 0x00000004 PLAYER_FLAGS_DND
8 0x00000008 PLAYER_FLAGS_GM
16 0x00000010 PLAYER_FLAGS_GHOST (Призрак)
32 0x00000020 PLAYER_FLAGS_RESTING (отдыхает)
64 0x00000040 PLAYER_FLAGS_UNK7
128 0x00000080 PLAYER_FLAGS_UNK8 pre-3.0.3 PLAYER_FLAGS_FFA_PVP flag for FFA PVP state
256 0x00000100 PLAYER_FLAGS_CONTESTED_PVP Player has been involved in a PvP combat and will be attacked by contested guards (ПВП флаг)
512 0x00000200 PLAYER_FLAGS_IN_PVP
1024 0x00000400 PLAYER_FLAGS_HIDE_HELM (спрятать шлем)
2048 0x00000800 PLAYER_FLAGS_HIDE_CLOAK (спрятать плащ)
4096 0x00001000 PLAYER_FLAGS_UNK13 played long time (долго играет)
8192 0x00002000 PLAYER_FLAGS_UNK14 played too long time (очень долго играет)
16384 0x00004000 PLAYER_FLAGS_UNK15
32768 0x00008000 PLAYER_FLAGS_DEVELOPER <Dev> prefix for something?
65536 0x00010000 PLAYER_FLAGS_UNK17 pre-3.0.3 PLAYER_FLAGS_SANCTUARY flag for player entered sanctuary
131072 0x00020000 PLAYER_FLAGS_UNK18 taxi benchmark mode (on/off) (2.0.1)
262144 0x00040000 PLAYER_FLAGS_PVP_TIMER 3.0.2, pvp timer active (after you disable pvp manually)
524288 0x00080000 PLAYER_FLAGS_UNK20
1048576 0x00100000 PLAYER_FLAGS_UNK21
2097152 0x00200000 PLAYER_FLAGS_UNK22
4194304 0x00400000 PLAYER_FLAGS_UNK23
8388608 0x00800000 PLAYER_ALLOW_ONLY_ABILITY used by bladestorm and killing spree
16777216 0x01000000 PLAYER_FLAGS_UNK25 disabled all melee ability on tab include autoattack
33554432 0x02000000 PLAYER_FLAGS_NO_XP_GAIN

position_x

Х координата места расположения персонажа.

position_y

Y координата места расположения персонажа.

position_z

Z координата места расположения персонажа.

map

Id карты, на которой расположен персонаж.

dungeon_difficulty

Текущая сложность подземелия персонажа.

orientation

Ориентация персонажа. (Север = 0.0, Юг = 3.14159)

taximask

known taxi nodes separated with space.

online

Состояние персонажа: онлайн (1) или оффлайн (0).

cinematic

Значение, показывающее, смотрел ли персонаж вступительный ролик. (смотрел (1), не смотрел (0) ).

totaltime

Общее время, которое персонаж провёл в игре. Выражено в секундах.

leveltime

Общее время, которое персонаж провёл в игре с текущим уровнем. Выражено в секундах.

logout_time

Время последнего выхода данного персонажа из мира. Выражено в количестве секунд от полночи 1 янв 1970.

is_logout_resting

Показывает, находится ли персонаж в данный момент в зоне отдыха. (находится (1), не находится (0) ).

rest_bonus

Значение показывает характеризует количество отдыха персонажа.

resettalents_cost

Количество золота, необходимых персонажу для сброса своих талантов. Выражено в меди.

resettalents_time

trans_x

The x позиция персонажа на транспорте в момент последнего сохранения.

trans_y

The y позиция персонажа на транспорте в момент последнего сохранения.

trans_z

The z позиция персонажа на транспорте в момент последнего сохранения.

trans_o

The orientation позиция персонажа на транспорте в момент последнего сохранения.

transguid

Глобальный идентификатор транспорта, на котором находился персонаж в момент последнего сохранения.

extra_flags

Эти флаги показывают специальные атрибуты персонажа. В основном функции ГеймМастера.

Бит Название Описание
1 PLAYER_EXTRA_GM_ON Состояние ГМ режима (вкл/выкл).
2 PLAYER_EXTRA_GM_ACCEPT_TICKETS Получает ли ГМ персонаж тикеты от игроков.
4 PLAYER_EXTRA_ACCEPT_WHISPERS Включёна ли у персонажа функция приёма личных сообщений.
8 PLAYER_EXTRA_TAXICHEAT Активизированы ли все полёты у персонажа с помощью ГМ команды.
16 PLAYER_EXTRA_GM_INVISIBLE Состояние ГМ невидимости (вкл/выкл).
32 PLAYER_EXTRA_GM_CHAT Включен ли у персонажа показ ГМ иконки в чате.
64 PLAYER_EXTRA_PVP_DEATH Сохраняет ПвП статус смерти до создания трупа.

stable_slots

Количество стойл у персонажа. Максимум 2 стойла.

at_login

Это поле содержит битовую маску, которая обозначает действие, происходящие при следующем логине персонажа.

  • 1 = Заставляет сменить имя персонажу.
  • 2 = Сбрасывает все заклинания персонажу.
  • 4 = Сбрасывает таланты персонажу.
  • 8 = Заставляет сменить внешность персонажу.
  • 16 = Сбрасывает все таланты питомцу персонажа.

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

zone

Id текущей зоны персонажа.

death_expire_time

Время, когда персонаж может быть воскрешён в случае падения сервера или выхода из клиента в форме призрака.

taxi_path

Записывает текущий лётный путь персоажа (TaxiPath.dbc), если выход был произведён во время полёта.

arenaPoints

Количество очков арены персонажа.

totalHonorPoints

Общее количество очков чести персонажа.

todayHonorPoints

Количество очков арены персонажа, полученных сегодня.

yesterdayHonorPoints

Количество очков арены персонажа, полученных вчера.

totalKills

Общее количество почётных убийств персонажа.

todayKills

Количество почётных убийств персонажа, полученных сегодня.

yesterdayKills

Количество почётных убийств персонажа, полученных вчера.

chosenTitle

Содержит информацию о текущем титуле персонажа.

knownCurrencies

Known currencies (what to be listed in the Currency tab), bitmask of BitIndexes, see CurrencyTypes.dbc

watchedFaction

Номер фракции для отображения полосы репутации (используется reputation ID, смотри Faction.dbc)

drunk

Степень нетрезвости персонажа.

health

Текущее здоровье персонажа.

power

Текущее значение энергии персонажа (на момент сохранения персонажа)

Field Название энергии
power1 Мана
power2 Ярость
power3 Фокус
power4 Энергия
power5 Счастье (пэты)
power6 Руны
power7 Энергия рун

specCount

Количество спеков персонажа (раскладка талантов, символов и панелей). Максимум 2.

activeSpec

Активный (текущий) спек персонажа.

exploredZones

Bitmasks открытых зон (1 bit for explored, 0 bit for unexplored)

equipmentCache

ammoId

Item template.entry of the ammo item.

knownTitles

contains data about known Titles stored in 6 "16bit" integers to calculate where a knownTitle is in one of those 6 integers you do the following: we select one of the titles from CharTitles.dbc, take Shattered Sun title for example...

TitleID UnkRef? MaleTitle FemaleTitle InGameOrder
63 6806  %s of the Shattered Sun  %s of the Shattered Sun 38

we use the InGameOrder to calculate it: 38/32=1 means you'll have to edit the 2nd integer from left because counting is from 0 to 5 "0 0 0 0 0 0" now that we have selected which integer has the Title stored in we have to calculate in which bit it is stored with modulo 38%32=6 meaning the 7th bit from the right (counting starts from 0, 0000000000000000) will store the Shattered Sun title. This would mean if you only have the Shattered Sun title this row would have: "0 128 0 0 0 0" stored (or simple said 26=128)

actionBars

A bitmask включенных акшнбарах персонажа

Flag Comment
1 0x00000001 Bottom Left Bar
2 0x00000002 Bottom Right Bar
4 0x00000004 Rigth Bar
8 0x00000008 Right Bar 2

deleteInfos_Account

Account id если персонаж удалён и CharDelete.Method в конфиге сервера равен 1.

deleteInfos_Name

Имя персонажа если персонаж удалён и CharDelete.Method в конфиге сервера равен 1.

deleteDate

Дата, когда был удалён персонаж если CharDelete.Method в конфиге сервера равен 1. Проверяется сервером для определения CharDelete.KeepDays указанного в конфиге. Если значение больше, чем deleteDate + CharDelete.KeepDays персонаж будет удалён окончательно.

Личные инструменты