659450 Send pack func (4b, struct);
-------------------
AF6DA4 Base address (4b, struct);
-------------------
AF7464 Game address (4b, struct);
Базовый статический адрес, от которого
пляшем
-------------------
+1C Environment struct (4b, struct);
Структура для описания окружения хост-игрока
-------------------
+20 Players (4b, hashtable);
Ключ хеш-таблицы: +20
Общее кол-во элементов: +14
Начало списков: +18
Указатель на структуру в элементе списка: +4
Хеш-таблица игроков вокруг персонажа
+8 +20 +14 - количество
+8 +20 +18 - Хеш-таблица
+8 +20 +18 +i*4 + (+0)^j + 4 - Указатель на структуру одного игрока
Структура другого игрока частично
совпадает со структурой хост-игрока
-------------------
+3C Coord - X (4b, float);
Координата X
X игр. = X / 10 + 400
-------------------
+40 Coord - Z (4b, float);
Координата Z
Z игр. = Z / 10
-------------------
+44 Coord - Y (4b, float);
Координата Y
Y игр. = Y / 10 + 550
-------------------
+340 Buffs array (4b, struct);
Линенейный массив бафов
35С + i*2
-------------------
+0 Buff #1 ID (2b, int16);
-------------------
+2 Buff #2 ID (2b, int16);
-------------------
+47C Player ID (4b, int32);
-------------------
+488 Level (4b, int32);
Всегда равно нулю пока игрок не
будет хотя бы один раз взят на таргет
-------------------
+490 HP (4b, int32);
Всегда равно нулю, пока игрок
не будет взят на таргет
-------------------
+494 MP (4b, int32);
Всегда равно нулю, пока игрок
не будет взят на таргет
-------------------
+4A4 Chi (4b, int32);
Всегда равно 0
-------------------
+4D0 Max HP (4b, int32);
Всегда равно нулю, пока игрок
не будет взят на таргет
-------------------
+4D4 Max MP (4b, int32);
-------------------
+608 GuildRang (4b, int32);
-------------------
+638 Name (4b, struct);
-------------------
+0 String (string);
-------------------
+64C Move mode (4b, int32);
Режим передвижения:
0 - по земле
1 - в воде
2 - полёт
-------------------
+6B4 State (1b, bit flags);
Текущее состояние персонажа:
10000000 - Смерть
01000000 - ???
00100000 - Медитация
00010000 - Полёт
00001000 - ПК
00000100 - "Флагнутость"
00000010 - ???
00000001 - ???
-------------------
+730 Find party message (4b, struct);
-------------------
+0 Unicode (string);
-------------------
+734 Shop name (4b, struct);
-------------------
+0 Unicode (string);
-------------------
+24 Mobs, Pets and NPCs (4b, hashtable);
Ключ хеш-таблицы: +20
Общее кол-во элементов: +14
Начало списков: +18
Указатель на структуру в элементе списка: +4
Хеш-таблица с мобами, петами и NPC вокруг игрока
(BA + 8 + 24); + 14 - Общее количество существ вокруг
(BA + 8 + 24); + 18 - Собственно, сами данные хеш-таблицы
(BA + 8 + 24); + 18 + [i*4] + (+0)^j + 4 - Указатель на структуру с описанием моба, пета или NPC
i = [0..0x300], j = [0..infinity]
-------------------
+3C Coord - X (4b, float);
Координата X
X игр. = X / 10 + 400
-------------------
+40 Coord - Z (4b, float);
Координата Z
Z игр. = Z / 10
-------------------
+44 Coord - Y (4b, float);
Координата Y
Y игр. = Y / 10 + 550
-------------------
+B4 Type (4b, int32);
Тип существа:
6 - Моб
7 - NPC
9 - Пет другого игрока
-------------------
+11C World ID (4b, int32);
-------------------
+120 ID (4b, int32);
-------------------
+12C HP (4b, int32);
Всегда равно нулю, пока существо
не будет взято на таргет
-------------------
+16C Max HP (4b, int32);
Всегда равно нулю, пока существо
не будет взято на таргет
-------------------
+248 Feature (4b, int32);
Специфические свойства моба
0 - Нет
1 - Ускорение
2 - Монолог ??? - что это? :);
3 - Улучш. физ защита
4 - Улучш. маг защита
5 - Улучш. физ атака
6 - Улучш. маг атака
7 - Берсерк
8 - Улучшенное здоровье
9 - Слабость
-------------------
+254 Name (4b, struct);
-------------------
+0 String (string);
-------------------
+278 Distance (4b, float);
-------------------
+2B0 Moving flag ??? (1b, byte);
1 - стоит
0 - двигается
-------------------
+2B8 Current action (4b, int32);
Текущее действи е существа:
1 - Пассивность
2 - Физ. атака
3 - Маг. атака
4 - Умирание (смерть);
5 - Передвижение
-------------------
+2D4 P. target ID (?); (4b, int32);
-------------------
+2D8 M. target ID (?); (4b, int32);
-------------------
+2DC Attack flag (1b, bit flags);
-------------------
+30C Buffs amount (? смещение); (4b, int32);
-------------------
+310 Buffs (? смещение); (4b, struct);
Линейный массив бафов/дебафов
+310 + i*2
-------------------
+0 Buff #1 ID (2b, int16);
-------------------
+2 Buff #2 ID (2b, int16);
-------------------
+28 Resources and loot (4b, hashtable);
Ключ хеш-таблицы: +20
Общее кол-во элементов: +14
Начало списков: +18
Указатель на структуру в элементе списка: +4
Хеш-таблица с травкой, шахтами и лутом вокруг игрока
(BA + 8 + 28); + 14 - Общее количество лута и шахт вокруг
(BA + 8 + 28); + 18 - Собственно, сами данные хеш-таблицы
(BA + 8 + 28); + 18 + [i*4] + (+0)^j + 4 - Указатель на структуру с описанием одного предмета лута или шахты
i = [0..0x300], j = [0..infinity]
-------------------
+10C Item World ID (4b, int32);
-------------------
+110 Item ID (4b, int32);
-------------------
+14C Item type (4b, int32);
1 - лут
2 - шахта
3 - деньги
Другое - лут
-------------------
+150 Item type (4b, int32);
Тип предмета:
0 - лут
1 - шахта
20 - шахта
-------------------
+154 Distance (4b, float);
-------------------
+164 Item name (4b, struct);
-------------------
+0 String (string);
-------------------
+60 Unk (4b, struct);
-------------------
+4 Location name (4b, struct);
-------------------
+0 String (string);
-------------------
+34 Host player struct (4b, struct);
Структура игрового персонажа
хост-игрока
-------------------
+3C Coord - X (4b, float);
Координата X
X игр. = X / 10 + 400
-------------------
+40 Coord - Z (4b, float);
Координата Z
Z игр. = Z / 10
-------------------
+44 Coord - Y (4b, float);
Координата Y
Y игр. = Y / 10 + 550
-------------------
+7C Coord - X (4b, float);
-------------------
+80 Coord - Z (4b, float);
-------------------
+84 Coord - Y (4b, float);
-------------------
+36C BufCount (4b, int32);
-------------------
+608 GuildRang (4b, int32);
-------------------
+638 Name (4b, struct);
-------------------
+0 String (string);
-------------------
+64C Move mode (4b, int32);
Режим передвижения:
0 - по земле
1 - в воде
2 - полёт
-------------------
+6F4 Cast ID (4b, int32);
-------------------
+730 Find party message (4b, struct);
-------------------
+0 Unicode (string);
-------------------
+734 Shop name (4b, struct);
-------------------
+0 Unicode (string);
-------------------
+CA4 Inventory (4b, struct);
-------------------
+C Inventory array (4b, struct);
Линейный массив с каждой ячейкой инвентаря
C + i*4
i = номер ячейки с 0
-------------------
+0 Cell #0 (4b, struct);
-------------------
+4 Item type (4b, int32);
-------------------
+8 Item ID (4b, int32);
-------------------
+10 Amount (4b, int32);
-------------------
+14 Max stack (4b, int32);
-------------------
+18 Sell price (4b, int32);
-------------------
+1C Buy price (4b, int32);
-------------------
+40 Item Description (4b, struct);
-------------------
+0 String (string);
-------------------
+4 Cell #1 (4b, struct);
-------------------
+4 Item type (4b, int32);
-------------------
+8 Item ID (4b, int32);
-------------------
+10 Amount (4b, int32);
-------------------
+14 Max stack (4b, int32);
-------------------
+18 Sell price (4b, int32);
-------------------
+1C Buy price (4b, int32);
-------------------
+40 Item Description (4b, struct);
-------------------
+CA4 String (string);
-------------------
+8 Cell #2 (4b, struct);
-------------------
+4 Item type (4b, int32);
-------------------
+8 Item ID (4b, int32);
-------------------
+10 Amount (4b, int32);
-------------------
+14 Max stack (4b, int32);
-------------------
+18 Sell price (4b, int32);
-------------------
+1C Buy price (4b, int32);
-------------------
+40 Item Description (4b, struct);
-------------------
+0 String (string);
-------------------
+C Cell #3 (4b, struct);
-------------------
+4 Item type (4b, int32);
-------------------
+8 Item ID (4b, int32);
-------------------
+10 Amount (4b, int32);
-------------------
+14 Max stack (4b, int32);
-------------------
+18 Sell price (4b, int32);
-------------------
+1C Buy price (4b, int32);
-------------------
+40 Item Description (4b, struct);
-------------------
+0 String (string);
-------------------
+10 Cell #4 (4b, struct);
-------------------
+4 Item type (4b, int32);
-------------------
+8 Item ID (4b, int32);
-------------------
+10 Amount (4b, int32);
-------------------
+14 Max stack (4b, int32);
-------------------
+18 Sell price (4b, int32);
-------------------
+1C Buy price (4b, int32);
-------------------
+40 Item Description (4b, struct);
-------------------
+0 String (string);
-------------------
+14 Cells amount (4b, int32);
Количество ячеек в инвентаре
-------------------
+1060 Pet struct (4b, struct);
Не заполнено, так как принципиально
не играю друлькой - не на чем пробовать);););
-------------------
+8 PetSlotID (4b, int32);
-------------------
+10E4 Target info struct ??? (4b, struct);
-------------------
+188 Coord - X (4b, float);
-------------------
+18C Coord - Z (4b, float);
-------------------
+190 Coord - Y (4b, float);
-------------------
+104 Server ping (4b, int32);
-------------------
AF78D4 Unfreeze flag (1b, byte);
-------------------
AF7FD0 Levels Exp (4b, int32);
Количество опыта для достижения
уровня
A5CAE8 + Lvl*4
-------------------
B01A84 FPS (4b, int32);
-------------------
|