Characters
Материал из YTDB DataBase
NeatElves (Обсуждение | вклад) |
NeatElves (Обсуждение | вклад) |
||
(31 промежуточная версия не показана) | |||
Строка 2: | Строка 2: | ||
| __TOC__ | | __TOC__ | ||
|} | |} | ||
- | + | [[Category: Mangos characters database tables]] | |
+ | К описанию таблиц [[Charactersdb_struct|базы данных characters]]. | ||
<big>'''Таблица `character`'''</big> | <big>'''Таблица `character`'''</big> | ||
+ | |||
Эта таблица содержит основную информацию для каждого персонажа. Эта информация загружается и используется для создания и определения игроков в мире. | Эта таблица содержит основную информацию для каждого персонажа. Эта информация загружается и используется для создания и определения игроков в мире. | ||
+ | |||
<big>'''Структура'''</big> | <big>'''Структура'''</big> | ||
{| border="1" | {| border="1" | ||
- | |''' | + | |'''Field''' |
- | |''' | + | |'''Type''' |
+ | |'''Attributes''' | ||
|'''Null''' | |'''Null''' | ||
|'''Key''' | |'''Key''' | ||
|'''Default''' | |'''Default''' | ||
- | |''' | + | |'''Comments''' |
|- | |- | ||
|[[#guid|guid]] | |[[#guid|guid]] | ||
- | |int(11) unsigned | + | |int(11) |
+ | |unsigned | ||
|NO | |NO | ||
|PRI | |PRI | ||
|0 | |0 | ||
- | | | + | |Global Unique Identifier |
|- | |- | ||
|[[#account|account]] | |[[#account|account]] | ||
- | |int(11) unsigned | + | |int(11) |
+ | |unsigned | ||
|NO | |NO | ||
|MUL | |MUL | ||
|0 | |0 | ||
- | | | + | |Account Identifier |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
|- | |- | ||
|[[#name|name]] | |[[#name|name]] | ||
|varchar(12) | |varchar(12) | ||
+ | | | ||
|NO | |NO | ||
| | | | ||
Строка 47: | Строка 47: | ||
|- | |- | ||
|[[#race|race]] | |[[#race|race]] | ||
- | |tinyint(3) unsigned | + | |tinyint(3) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 54: | Строка 55: | ||
|- | |- | ||
|[[#class|class]] | |[[#class|class]] | ||
- | |tinyint(3) unsigned | + | |tinyint(3) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 61: | Строка 63: | ||
|- | |- | ||
|[[#gender|gender]] | |[[#gender|gender]] | ||
- | |tinyint(3) unsigned | + | |tinyint(3) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 68: | Строка 71: | ||
|- | |- | ||
|[[#level|level]] | |[[#level|level]] | ||
- | |tinyint(3) unsigned | + | |tinyint(3) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 75: | Строка 79: | ||
|- | |- | ||
|[[#xp|xp]] | |[[#xp|xp]] | ||
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 82: | Строка 87: | ||
|- | |- | ||
|[[#money|money]] | |[[#money|money]] | ||
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 89: | Строка 95: | ||
|- | |- | ||
|[[#playerBytes|playerBytes]] | |[[#playerBytes|playerBytes]] | ||
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 96: | Строка 103: | ||
|- | |- | ||
|[[#playerBytes2|playerBytes2]] | |[[#playerBytes2|playerBytes2]] | ||
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 103: | Строка 111: | ||
|- | |- | ||
|[[#playerFlags|playerFlags]] | |[[#playerFlags|playerFlags]] | ||
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 111: | Строка 120: | ||
|[[#position_x|position_x]] | |[[#position_x|position_x]] | ||
|float | |float | ||
+ | | | ||
|NO | |NO | ||
| | | | ||
Строка 118: | Строка 128: | ||
|[[#position_y|position_y]] | |[[#position_y|position_y]] | ||
|float | |float | ||
+ | | | ||
|NO | |NO | ||
| | | | ||
Строка 125: | Строка 136: | ||
|[[#position_z|position_z]] | |[[#position_z|position_z]] | ||
|float | |float | ||
+ | | | ||
|NO | |NO | ||
| | | | ||
Строка 131: | Строка 143: | ||
|- | |- | ||
|[[#map|map]] | |[[#map|map]] | ||
- | |int(11) unsigned | + | |int(11) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
|0 | |0 | ||
- | | | + | |Map Identifier |
|- | |- | ||
|[[#dungeon_difficulty|dungeon_difficulty]] | |[[#dungeon_difficulty|dungeon_difficulty]] | ||
- | |tinyint(1) unsigned | + | |tinyint(1) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 146: | Строка 160: | ||
|[[#orientation|orientation]] | |[[#orientation|orientation]] | ||
|float | |float | ||
+ | | | ||
|NO | |NO | ||
| | | | ||
Строка 153: | Строка 168: | ||
|[[#taximask|taximask]] | |[[#taximask|taximask]] | ||
|longtext | |longtext | ||
+ | | | ||
|YES | |YES | ||
| | | | ||
Строка 159: | Строка 175: | ||
|- | |- | ||
|[[#online|online]] | |[[#online|online]] | ||
- | |tinyint(3) unsigned | + | |tinyint(3) |
+ | |unsigned | ||
|NO | |NO | ||
|MUL | |MUL | ||
Строка 166: | Строка 183: | ||
|- | |- | ||
|[[#cinematic|cinematic]] | |[[#cinematic|cinematic]] | ||
- | |tinyint(3) unsigned | + | |tinyint(3) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 173: | Строка 191: | ||
|- | |- | ||
|[[#totaltime|totaltime]] | |[[#totaltime|totaltime]] | ||
- | |int(11) unsigned | + | |int(11) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 180: | Строка 199: | ||
|- | |- | ||
|[[#leveltime|leveltime]] | |[[#leveltime|leveltime]] | ||
- | |int(11) unsigned | + | |int(11) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 188: | Строка 208: | ||
|[[#logout_time|logout_time]] | |[[#logout_time|logout_time]] | ||
|int(11) | |int(11) | ||
+ | | | ||
|NO | |NO | ||
| | | | ||
Строка 195: | Строка 216: | ||
|[[#is_logout_resting|is_logout_resting]] | |[[#is_logout_resting|is_logout_resting]] | ||
|tinyint(3) | |tinyint(3) | ||
+ | | | ||
|NO | |NO | ||
| | | | ||
Строка 202: | Строка 224: | ||
|[[#rest_bonus|rest_bonus]] | |[[#rest_bonus|rest_bonus]] | ||
|float | |float | ||
+ | | | ||
|NO | |NO | ||
| | | | ||
Строка 208: | Строка 231: | ||
|- | |- | ||
|[[#resettalents_cost|resettalents_cost]] | |[[#resettalents_cost|resettalents_cost]] | ||
- | |int(11) unsigned | + | |int(11) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 215: | Строка 239: | ||
|- | |- | ||
|[[#resettalents_time|resettalents_time]] | |[[#resettalents_time|resettalents_time]] | ||
- | |bigint(20) unsigned | + | |bigint(20) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 223: | Строка 248: | ||
|[[#trans_x|trans_x]] | |[[#trans_x|trans_x]] | ||
|float | |float | ||
+ | | | ||
|NO | |NO | ||
| | | | ||
Строка 230: | Строка 256: | ||
|[[#trans_y|trans_y]] | |[[#trans_y|trans_y]] | ||
|float | |float | ||
+ | | | ||
|NO | |NO | ||
| | | | ||
Строка 237: | Строка 264: | ||
|[[#trans_z|trans_z]] | |[[#trans_z|trans_z]] | ||
|float | |float | ||
+ | | | ||
|NO | |NO | ||
| | | | ||
Строка 244: | Строка 272: | ||
|[[#trans_o|trans_o]] | |[[#trans_o|trans_o]] | ||
|float | |float | ||
+ | | | ||
|NO | |NO | ||
| | | | ||
Строка 250: | Строка 279: | ||
|- | |- | ||
|[[#transguid|transguid]] | |[[#transguid|transguid]] | ||
- | |bigint(20) unsigned | + | |bigint(20) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 257: | Строка 287: | ||
|- | |- | ||
|[[#extra_flags|extra_flags]] | |[[#extra_flags|extra_flags]] | ||
- | |tinyint(3) unsigned | + | |tinyint(3) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 264: | Строка 295: | ||
|- | |- | ||
|[[#stable_slots|stable_slots]] | |[[#stable_slots|stable_slots]] | ||
- | |tinyint(1) unsigned | + | |tinyint(1) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 271: | Строка 303: | ||
|- | |- | ||
|[[#at_login|at_login]] | |[[#at_login|at_login]] | ||
- | |int(11) unsigned | + | |int(11) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 278: | Строка 311: | ||
|- | |- | ||
|[[#zone|zone]] | |[[#zone|zone]] | ||
- | |int(11) unsigned | + | |int(11) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 285: | Строка 319: | ||
|- | |- | ||
|[[#death_expire_time|death_expire_time]] | |[[#death_expire_time|death_expire_time]] | ||
- | |bigint(20) unsigned | + | |bigint(20) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 293: | Строка 328: | ||
|[[#taxi_path|taxi_path]] | |[[#taxi_path|taxi_path]] | ||
|text | |text | ||
+ | | | ||
|YES | |YES | ||
| | | | ||
Строка 299: | Строка 335: | ||
|- | |- | ||
|[[#arenaPoints|arenaPoints]] | |[[#arenaPoints|arenaPoints]] | ||
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 306: | Строка 343: | ||
|- | |- | ||
|[[#totalHonorPoints|totalHonorPoints]] | |[[#totalHonorPoints|totalHonorPoints]] | ||
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 313: | Строка 351: | ||
|- | |- | ||
|[[#todayHonorPoints|todayHonorPoints]] | |[[#todayHonorPoints|todayHonorPoints]] | ||
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 320: | Строка 359: | ||
|- | |- | ||
|[[#yesterdayHonorPoints|yesterdayHonorPoints]] | |[[#yesterdayHonorPoints|yesterdayHonorPoints]] | ||
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 327: | Строка 367: | ||
|- | |- | ||
|[[#totalKills|totalKills]] | |[[#totalKills|totalKills]] | ||
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 334: | Строка 375: | ||
|- | |- | ||
|[[#todayKills|todayKills]] | |[[#todayKills|todayKills]] | ||
- | |smallint(5) unsigned | + | |smallint(5) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 341: | Строка 383: | ||
|- | |- | ||
|[[#yesterdayKills|yesterdayKills]] | |[[#yesterdayKills|yesterdayKills]] | ||
- | |smallint(5) unsigned | + | |smallint(5) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 348: | Строка 391: | ||
|- | |- | ||
|[[#chosenTitle|chosenTitle]] | |[[#chosenTitle|chosenTitle]] | ||
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 355: | Строка 399: | ||
|- | |- | ||
|[[#knownCurrencies|knownCurrencies]] | |[[#knownCurrencies|knownCurrencies]] | ||
- | |bigint(20) unsigned | + | |bigint(20) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 362: | Строка 407: | ||
|- | |- | ||
|[[#watchedFaction|watchedFaction]] | |[[#watchedFaction|watchedFaction]] | ||
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 369: | Строка 415: | ||
|- | |- | ||
|[[#drunk|drunk]] | |[[#drunk|drunk]] | ||
- | | | + | |tinyint(3) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 376: | Строка 423: | ||
|- | |- | ||
|[[#health|health]] | |[[#health|health]] | ||
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 382: | Строка 430: | ||
| | | | ||
|- | |- | ||
- | |[[# | + | |[[#power|power1]] |
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 389: | Строка 438: | ||
| | | | ||
|- | |- | ||
- | |[[# | + | |[[#power|power2]] |
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 396: | Строка 446: | ||
| | | | ||
|- | |- | ||
- | |[[# | + | |[[#power|power3]] |
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 403: | Строка 454: | ||
| | | | ||
|- | |- | ||
- | |[[# | + | |[[#power|power4]] |
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 410: | Строка 462: | ||
| | | | ||
|- | |- | ||
- | |[[# | + | |[[#power|power5]] |
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 417: | Строка 470: | ||
| | | | ||
|- | |- | ||
- | |[[# | + | |[[#power|power6]] |
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 424: | Строка 478: | ||
| | | | ||
|- | |- | ||
- | |[[# | + | |[[#power|power7]] |
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 431: | Строка 486: | ||
| | | | ||
|- | |- | ||
- | |[[# | + | |[[#specCount|specCount]] |
- | |tinyint(3) unsigned | + | |tinyint(3) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 438: | Строка 494: | ||
| | | | ||
|- | |- | ||
- | |[[# | + | |[[#activeSpec|activeSpec]] |
- | |tinyint(3) unsigned | + | |tinyint(3) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 447: | Строка 504: | ||
|[[#exploredZones|exploredZones]] | |[[#exploredZones|exploredZones]] | ||
|longtext | |longtext | ||
+ | | | ||
| | | | ||
| | | | ||
Строка 454: | Строка 512: | ||
|[[#equipmentCache|equipmentCache]] | |[[#equipmentCache|equipmentCache]] | ||
|longtext | |longtext | ||
+ | | | ||
| | | | ||
| | | | ||
Строка 460: | Строка 519: | ||
|- | |- | ||
|[[#ammoId|ammoId]] | |[[#ammoId|ammoId]] | ||
- | |int(10) unsigned | + | |int(10) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 468: | Строка 528: | ||
|[[#knownTitles|knownTitles]] | |[[#knownTitles|knownTitles]] | ||
|longtext | |longtext | ||
+ | | | ||
| | | | ||
| | | | ||
Строка 474: | Строка 535: | ||
|- | |- | ||
|[[#actionBars|actionBars]] | |[[#actionBars|actionBars]] | ||
- | |tinyint(3) unsigned | + | |tinyint(3) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 481: | Строка 543: | ||
|- | |- | ||
|[[#deleteInfos_Account|deleteInfos_Account]] | |[[#deleteInfos_Account|deleteInfos_Account]] | ||
- | |int(11) unsigned | + | |int(11) |
+ | |unsigned | ||
|NO | |NO | ||
| | | | ||
Строка 489: | Строка 552: | ||
|[[#deleteInfos_Name|deleteInfos_Name]] | |[[#deleteInfos_Name|deleteInfos_Name]] | ||
|varchar(12) | |varchar(12) | ||
+ | | | ||
| | | | ||
| | | | ||
Строка 496: | Строка 560: | ||
|[[#adeleteDate|deleteDate]] | |[[#adeleteDate|deleteDate]] | ||
|bigint(20) | |bigint(20) | ||
+ | |unsigned | ||
| | | | ||
| | | | ||
- | | | + | |NULL |
| | | | ||
|} | |} | ||
Строка 513: | Строка 578: | ||
Имя персонажа. | Имя персонажа. | ||
====race==== | ====race==== | ||
- | Раса персонажа: | + | Раса персонажа из [[ChrRaces.dbc]]: |
{{:ChrRaces.dbc}} | {{:ChrRaces.dbc}} | ||
====class==== | ====class==== | ||
- | Класс персонажа: | + | Класс персонажа из [[ChrClasses.dbc]]: |
{{:ChrClasses.dbc}} | {{:ChrClasses.dbc}} | ||
Строка 533: | Строка 598: | ||
====playerBytes==== | ====playerBytes==== | ||
+ | Содержит информацию о цвете кожи, типе лица, причёске и цвете волос персонажа. | ||
+ | |||
+ | *Цвет кожи = playerbytes % 256 | ||
+ | *Тип лица = (playerbytes >> 8) % 256 | ||
+ | *Тип причёски = (playerbytes >> 16) % 256 | ||
+ | *Цвет волос = (playerbytes >> 24) % 256 | ||
====playerBytes2==== | ====playerBytes2==== | ||
+ | Содержит информацию о дополнительных настройках лица (борода, серьги, татуировки). | ||
+ | |||
+ | *facialHair = playerBytes2 % 256 | ||
====playerFlags==== | ====playerFlags==== | ||
+ | Bitmask (битмаска - сумма флагов) Player flags (плеер-флагов), которые есть у персонажа. Каждый бит отвечает за свой флаг и за их комбинацию в целом, вы можете добавить любой желаемый флаг, in effect activating the respective bits. | ||
+ | |||
+ | {| cellspacing="0" cellpadding="3" border="1" | ||
+ | |- | ||
+ | ! colspan="2" | 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_x==== | ||
Строка 551: | Строка 763: | ||
Ориентация персонажа. (Север = 0.0, Юг = 3.14159) | Ориентация персонажа. (Север = 0.0, Юг = 3.14159) | ||
====taximask==== | ====taximask==== | ||
+ | known taxi nodes separated with space. | ||
+ | |||
====online==== | ====online==== | ||
Состояние персонажа: онлайн (1) или оффлайн (0). | Состояние персонажа: онлайн (1) или оффлайн (0). | ||
Строка 569: | Строка 783: | ||
====resettalents_time==== | ====resettalents_time==== | ||
====trans_x==== | ====trans_x==== | ||
+ | The x позиция персонажа на транспорте в момент последнего сохранения. | ||
+ | |||
====trans_y==== | ====trans_y==== | ||
+ | The y позиция персонажа на транспорте в момент последнего сохранения. | ||
+ | |||
====trans_z==== | ====trans_z==== | ||
+ | The z позиция персонажа на транспорте в момент последнего сохранения. | ||
+ | |||
====trans_o==== | ====trans_o==== | ||
+ | The orientation позиция персонажа на транспорте в момент последнего сохранения. | ||
+ | |||
====transguid==== | ====transguid==== | ||
+ | Глобальный идентификатор транспорта, на котором находился персонаж в момент последнего сохранения. | ||
+ | |||
====extra_flags==== | ====extra_flags==== | ||
Эти флаги показывают специальные атрибуты персонажа. В основном функции ГеймМастера. | Эти флаги показывают специальные атрибуты персонажа. В основном функции ГеймМастера. | ||
Строка 612: | Строка 836: | ||
Записывает текущий лётный путь персоажа (TaxiPath.dbc), если выход был произведён во время полёта. | Записывает текущий лётный путь персоажа (TaxiPath.dbc), если выход был произведён во время полёта. | ||
- | |||
====arenaPoints==== | ====arenaPoints==== | ||
Количество очков арены персонажа. | Количество очков арены персонажа. | ||
Строка 628: | Строка 851: | ||
Количество почётных убийств персонажа, полученных вчера. | Количество почётных убийств персонажа, полученных вчера. | ||
====chosenTitle==== | ====chosenTitle==== | ||
+ | Содержит информацию о текущем титуле персонажа. | ||
====knownCurrencies==== | ====knownCurrencies==== | ||
+ | Known currencies (what to be listed in the Currency tab), bitmask of BitIndexes, see [[CurrencyTypes.dbc]] | ||
====watchedFaction==== | ====watchedFaction==== | ||
+ | Номер фракции для отображения полосы репутации (используется reputation ID, смотри [[Faction.dbc]]) | ||
====drunk==== | ====drunk==== | ||
Степень нетрезвости персонажа. | Степень нетрезвости персонажа. | ||
====health==== | ====health==== | ||
+ | Текущее здоровье персонажа. | ||
- | ==== | + | ====power==== |
+ | Текущее значение энергии персонажа (на момент сохранения персонажа) | ||
- | === | + | {| cellspacing="0" cellpadding="3" border="1" |
+ | |- | ||
+ | ! 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|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... | |
- | ==== | + | |
- | + | {| cellspacing="0" cellpadding="3" border="1" | |
+ | |- | ||
+ | | 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, 00000000'''0'''0000000) 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 2<sup>6</sup>=128)<br> | ||
+ | |||
+ | ==== actionBars ==== | ||
+ | A bitmask включенных акшнбарах персонажа | ||
+ | |||
+ | {| cellspacing="0" cellpadding="3" border="1" | ||
+ | |- | ||
+ | ! colspan="2" | 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 персонаж будет удалён окончательно. |
Текущая версия на 07:03, 13 мая 2013
К описанию таблиц базы данных 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 | tinyint(3) | 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 | Гоблин |
10 | Кровавый эльф |
11 | Дреней |
22 | Ворген |
class
Класс персонажа из ChrClasses.dbc:
ID | Название |
1 | Воин |
2 | Паладин |
3 | Охотник |
4 | Разбойник |
5 | Жрец |
6 | Рыцарь смерти |
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 персонаж будет удалён окончательно.