Nie mam BL_Size, BL_Dist_Id i BL_Dist_Name podal bys adresy? Current nie trzeba nigdzie definiowac tak?
~~[200]POST~~
PIŻMAG
var
Current : Integer;
PIŻMAG
PIŻMAG
unit Addresses;
interface
const
BattleList_Start = $637CE0;
BattleList_StepCreatures = $A8;
BattleList_MaxCreatures = 250;
BattleList_End = BattleList_Start + (BattleList_StepCreatures * BattleList_MaxCreatures);
Client_StartTime = $8034E8;
Client_XTeaKey = $7BC6E4;
Client_SocketStruct = $7BC6B8;
Client_RecvPointer = $5B25E4;
Client_SendPointer = $5B2610;
Client_FrameRatePointer = $7C07CC;
Client_FrameRateCurrentOffset = $60;
Client_FrameRateLimitOffset = $58;
Client_MultiClient = $5079B4;
Client_Status = $7BFC84;
Client_SafeMode = $7BCB0C;
Client_FollowMode = Client_SafeMode + 4;
Client_AttackMode = Client_FollowMode + 4;
Client_ActionState = $7BFCE4;
Client_ActionStateFreezer = $518F90;
Client_LastMSGText = $789CF8;
Client_LastMSGAuthor = Client_LastMSGText - $28;
Client_StatusbarText = $803508;
Client_StatusbarTime = Client_StatusbarText - 4;
Client_ClickId = $7BFD24;
Client_ClickCount = Client_ClickId + 4;
Client_ClickZ = Client_ClickId - $68;
Client_SeeId = Client_ClickId + 12;
Client_SeeCount = Client_SeeId + 4;
Client_SeeZ = Client_SeeId - $68;
Client_ClickContextMenuItemId = $7BFD30;
//Client_ClickContextMenuItemGroundId = ?
Client_ClickContextMenuCreatureId = $7BFD34;
Client_LoginServerStart = $7B7620;
Client_StepLoginServer = 112;
Client_DistancePort = 100;
Client_MaxLoginServers = 10;
Client_RSA = $5B2980;
Client_LoginCharList = $7BFC38;
Client_LoginCharListLength = $7BFC3C;
Client_LoginSelectedChar = $7BFC34;
Client_GameWindowRectPointer = $66F080;
Client_GameWindowBar = $8034F8;
Client_DatPointer = $7BC704;
Client_EventTriggerPointer = $51AA90;
Client_DialogPointer = $6723EC;
Client_DialogLeft = $14;
Client_DialogTop = $18;
Client_DialogWidth = $1C;
Client_DialogHeight = $20;
Client_DialogCaption = $50;
Client_LastRcvPacket = $7B7E98;
Client_DecryptCall = $45A775;
Client_LoginAccountNum = 0;
Client_LoginPassword = $7BFC40;
Client_LoginAccount = Client_LoginPassword + 32;
Client_LoginPatch = 0;
Client_LoginPatch2 = 0;
// Client_LoginPatchOrig = new byte[] { $E8, $0D, $1D, $09, $00 };
// Client_LoginPatchOrig2 = new byte[] { $E8, $C8, $15, $09, $00 };
Client_ParserFunc = $45A740;
Client_GetNextPacketCall = $45A775;
Client_RecvStream = $7BC6D4;
Container_Start = $66FB38;
Container_StepContainer = 492;
Container_StepSlot = 12;
Container_MaxContainers = 16;
Container_MaxStack = 100;
Container_DistanceIsOpen = 0;
Container_DistanceId = 4;
Container_DistanceName = 16;
Container_DistanceVolume = 48;
Container_DistanceAmount = 56;
Container_DistanceItemId = 60;
Container_DistanceItemCount = 64;
Container_End = Container_Start + (Container_MaxContainers * Container_StepContainer);
ContextMenus_AddContextMenuPtr = $450C90;
ContextMenus_OnClickContextMenuPtr = $44D870;
ContextMenus_OnClickContextMenuVf = $5B7878;
ContextMenus_AddSetOutfitContextMenu = $451BAC;
ContextMenus_AddPartyActionContextMenu = $451BFD;
ContextMenus_AddCopyNameContextMenu = $451C14;
ContextMenus_AddTradeWithContextMenu = $451839;
ContextMenus_AddLookContextMenu = $4516EF;
Creature_DistanceId = 0;
Creature_DistanceType = 3;
Creature_DistanceName = 4;
Creature_DistanceX = 36;
Creature_DistanceY = 40;
Creature_DistanceZ = 44;
Creature_DistanceScreenOffsetHoriz = 48;
Creature_DistanceScreenOffsetVert = 52;
Creature_DistanceIsWalking = 76;
Creature_DistanceWalkSpeed = 140;
Creature_DistanceDirection = 80;
Creature_DistanceIsVisible = 144;
Creature_DistanceBlackSquare = 132;
Creature_DistanceLight = 120;
Creature_DistanceLightColor = 124;
Creature_DistanceHPBar = 136;
Creature_DistanceSkull = 148;
Creature_DistanceParty = 152;
Creature_DistanceWarIcon = 160;
Creature_DistanceIsBlocking = 164;
Creature_DistanceOutfit = 96;
Creature_DistanceColorHead = 100;
Creature_DistanceColorBody = 104;
Creature_DistanceColorLegs = 108;
Creature_DistanceColorFeet = 112;
Creature_DistanceAddon = 116;
DatItem_StepItems = $4C;
DatItem_Width = 0;
DatItem_Height = 4;
DatItem_MaxSizeInPixels = 8;
DatItem_Layers = 12;
DatItem_PatternX = 16;
DatItem_PatternY = 20;
DatItem_PatternDepth = 24;
DatItem_Phase = 28;
DatItem_Sprite = 32;
DatItem_Flags = 36;
DatItem_CanLookAt = 0;
DatItem_WalkSpeed = 40;
DatItem_TextLimit = 44;
DatItem_LightRadius = 48;
DatItem_LightColor = 52;
DatItem_ShiftX = 56;
DatItem_ShiftY = 60;
DatItem_WalkHeight = 64;
DatItem_Automap = 68;
DatItem_LensHelp = 72;
DrawItem_DrawItemFunc = $4B1B30;
DrawSkin_DrawSkinFunc = $4B57A0;
Hotkey_SendAutomaticallyStart = $7BCD08;
Hotkey_SendAutomaticallyStep = $01;
Hotkey_TextStart = $7BCD30;
Hotkey_TextStep = $100;
Hotkey_ObjectStart = $7BCC78;
Hotkey_ObjectStep = $04;
Hotkey_ObjectUseTypeStart = $7BCB58;
Hotkey_ObjectUseTypeStep = $04;
Hotkey_MaxHotkeys = 36;
Map_MapPointer = $676F40;
Map_StepTile = 168;
Map_StepTileObject = 12;
Map_DistanceTileObjectCount = 0;
Map_DistanceTileObjects = 4;
Map_DistanceObjectId = 0;
Map_DistanceObjectData = 4;
Map_DistanceObjectDataEx = 8;
Map_MaxTileObjects = 10;
Map_MaxX = 18;
Map_MaxY = 14;
Map_MaxZ = 8;
Map_MaxTiles = 2016;
Map_ZAxisDefault = 7;
Map_NameSpy1 = $4EE519;
Map_NameSpy2 = $4EE51D;
Map_NameSpy1Default = 19061;
Map_NameSpy2Default = 16501;
Map_LevelSpy1 = $4F038A;
Map_LevelSpy2 = $4F048F;
Map_LevelSpy3 = $4F0510;
Map_LevelSpyPtr = $66F080;
Map_LevelSpyAdd1 = 28;
Map_LevelSpyAdd2 = $2A88;
Map_FullLightNop = $4E6C29;
Map_FullLightAdr = $4E6C2C;
// Map_FullLightNopDefault = new byte[] { $7E, $05 };
// Map_FullLightNopEdited = new byte[] { $90, $90 };
Map_FullLightAdrDefault = $80;
Map_FullLightAdrEdited = $FF;
Player_Experience = $637C4C;
Player_Flags = Player_Experience - 108;
Player_Id = Player_Experience + 12;
Player_Health = Player_Experience + 8;
Player_HealthMax = Player_Experience + 4;
Player_Level = Player_Experience - 4;
Player_MagicLevel = Player_Experience - 8;
Player_LevelPercent = Player_Experience - 12;
Player_MagicLevelPercent = Player_Experience - 16;
Player_Mana = Player_Experience - 20;
Player_ManaMax = Player_Experience - 24;
Player_Soul = Player_Experience - 28;
Player_Stamina = Player_Experience - 32;
Player_Capacity = Player_Experience - 36;
Player_FistPercent = $637BFC;
Player_ClubPercent = Player_FistPercent + 4;
Player_SwordPercent = Player_FistPercent + 8;
Player_AxePercent = Player_FistPercent + 12;
Player_DistancePercent = Player_FistPercent + 16;
Player_ShieldingPercent = Player_FistPercent + 20;
Player_FishingPercent = Player_FistPercent + 24;
Player_Fist = Player_FistPercent + 28;
Player_Club = Player_FistPercent + 32;
Player_Sword = Player_FistPercent + 36;
Player_Axe = Player_FistPercent + 40;
Player_Distance = Player_FistPercent + 44;
Player_Shielding = Player_FistPercent + 48;
Player_Fishing = Player_FistPercent + 52;
Player_SlotHead = $66FAC0;
Player_SlotNeck = Player_SlotHead + 12;
Player_SlotBackpack = Player_SlotHead + 24;
Player_SlotArmor = Player_SlotHead + 36;
Player_SlotRight = Player_SlotHead + 48;
Player_SlotLeft = Player_SlotHead + 60;
Player_SlotLegs = Player_SlotHead + 72;
Player_SlotFeet = Player_SlotHead + 84;
Player_SlotRing = Player_SlotHead + 96;
Player_SlotAmmo = Player_SlotHead + 108;
Player_MaxSlots = 11;
Player_DistanceSlotCount = 4;
Player_CurrentTileToGo = $637C60;
Player_TilesToGo = $637C64;
Player_GoToX = Player_Experience + 80;
Player_GoToY = Player_GoToX - 4;
Player_GoToZ = Player_GoToX - 8;
Player_RedSquare = $637C24;
Player_GreenSquare = Player_RedSquare - 4;
Player_WhiteSquare = Player_GreenSquare - 8;
Player_AccessN = 0;
Player_AccessS = 0;
Player_TargetId = Player_RedSquare;
Player_TargetBattlelistId = Player_TargetId - 8;
Player_TargetBattlelistType = Player_TargetId - 5;
Player_TargetType = Player_TargetId + 3;
Player_Z = $672428;
Player_X = Player_Z+8;
Player_Y = Player_Z+4;
Player_AttackCount = $635800;
Player_FollowCount = Player_AttackCount + $20;
TextDisplay_PrintName = $4F14F3;
TextDisplay_PrintFPS = $458778;
TextDisplay_ShowFPS = $6358FC;
TextDisplay_PrintTextFunc = $4B0F70;
TextDisplay_NopFPS = $4586B4;
Vip_Start = $635978;
Vip_StepPlayers = $2C;
Vip_MaxPlayers = 200;
Vip_DistanceId = 0;
Vip_DistanceName = 4;
Vip_DistanceStatus = 34;
Vip_DistanceIcon = 40;
Vip_End = Vip_Start + (Vip_StepPlayers * Vip_MaxPlayers);
implementation
end.
PIŻMAG
$n = 0;
for($i=0;$i<=40000;$i+=160)
{
$creature[n] = copy($battleist,$i+160); //jakaś funkcja, ktora do tablicy $creature skopiuje nam 160 bajtów z tablicy battleist
$n++;
// wyciągamy sobie poszczególne wartości wiedząc, że ID to 4 bajty, nick 32 i tak dalej i tak dalej i tak dalej.
}
Ostatnio zmieniony przez LGTK : 23-09-2010, 23:08
PIŻMAG
Ostatnio zmieniony przez LGTK : 25-09-2010, 10:12
PIŻMAG
.
PIŻMAG
Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)
Zakładki