Characters
Материал из YTDB DataBase
NeatElves (Обсуждение | вклад) (→watchedFaction) |
NeatElves (Обсуждение | вклад) (→knownCurrencies) |
||
Строка 853: | Строка 853: | ||
====knownCurrencies==== | ====knownCurrencies==== | ||
+ | Known currencies (what to be listed in the Currency tab), bitmask of BitIndexes, see [[CurrencyTypes.dbc]] | ||
====watchedFaction==== | ====watchedFaction==== |
Версия 22:36, 2 января 2011
К описанию таблиц базы данных 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) | 0 |
Описание полей
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 | Гоблин |
10 | Кровавый эльф |
11 | Дреней |
22 | Ворген |
class
Класс персонажа из ChrClasses.dbc:
ID | Название |
1 | Воин |
2 | Паладин |
3 | Охотник |
4 | Разбойник |
5 | Жрец |
6 | Рыцарь смерти |
7 | Шаман |
8 | Маг |
9 | Чернокнижник |
11 | Друид |
gender
Пол персонажа
level
Уровень персонажа.
xp
Количество очков опыта персонажа.
money
Количество золота у персонажа.
playerBytes
contains data about the skincolor,facestyle,hairstyle and haircolor of the character.
- skinColor = playerbytes % 256
- faceStyle = (playerbytes >> 8) % 256
- hairStyle = (playerbytes >> 16) % 256
- hairColor = (playerbytes >> 24) % 256
playerBytes2
data about facial hair.
- facialHair = playerBytes2 % 256
playerFlags
A bitmask that represents what Player flags the player has. Each bit controls a different flag and to combine flags, you can add each flag that you want, 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 position of the transport this character was on when they were last saved.
trans_y
The y position of the transport this character was on when they were last saved.
trans_z
The z position of the transport this character was on when they were last saved.
trans_o
The orientation of the transport this character was on when they were last saved.
transguid
The global unique identifier of the transport this character was on when they were last saved.
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
Tracked faction at experience bar (using reputation ID, see Faction.dbc)
drunk
Степень нетрезвости персонажа.
health
Текущее здоровье персонажа.
power
Current character powers (snapshot from when the character was saved)
Field | Power name |
---|---|
power1 | Mana |
power2 | Rage |
power3 | Focus |
power4 | Energy |
power5 | Happiness |
power6 | Runes |
power7 | Runic Power |
specCount
Количество спеков персонажа (раскладка талантов, символов и панелей). Максимум 2.
activeSpec
Активный (текущий) спек персонажа.
exploredZones
Bitmasks of explored zones (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 that contains visible actionbars for the player
Flag | Comment | |
---|---|---|
1 | 0x00000001 | Bottom Left Bar |
2 | 0x00000002 | Bottom Right Bar |
4 | 0x00000004 | Rigth Bar |
8 | 0x00000008 | Right Bar 2 |
deleteInfos_Account
Stores the account id if the character is deleted and CharDelete.Method in worldserver.conf is set to 1.
deleteInfos_Name
Stores the name of character if the character is deleted and CharDelete.Method in worldserver.conf is set to 1.
deleteDate
Stores the date when the character was deleted and CharDelete.Method in worldserver.conf is set to 1. Will be checked by worldserver against CharDelete.KeepDays in worldserver.conf. If this value is lower then deleteDate + CharDelete.KeepDays the character will be purged.