I searched LuaThreadLock, but failed. How is it find?
I searched LuaThreadLock, but failed. How is it find?
Ill add in these 2 just to avoid killing the old strucs:
Global $PlayerBaseStatic = 0x00CF7C00
Global $PlayerBaseOffsA = 0x34, $PlayerBaseOffsB = 0x24
Global $Playerbase_PBSpectate = 0x1BA0 ;Spectate Toggle
Global $Spec_SpectateX = 0x00A6ED6C
and for thoes interested:
; ::CAMERA OFFSETS::
Global $Cam_CameraStatic = 0x00B0C544
Global $Cam_CameraOffsA = 0x7E20
Global $Cam_CameraOffsB = 0x118 ;(aka CamZ)
Global $Cam_CameraParrentGUID = 0x84 ; CamZ - 0x84 !!!
Global $Cam_CameraRotZ = 0x8 ;CamZ + 0x8 (also for the next 3 offsets)
Global $Cam_CameraFOV = 0x20
Global $Cam_CameraAlt = 0x38
Global $Cam_CameraGUID = 0x88
; ::PROTECTION CHECKS::
Global $Cam_XProtection = 0x0059D7BB
Global $Cam_YProtection = 0x0059D7C2
Global $Cam_ZProtection = 0x0059D7D5
Global $Cam_FovNonoverwrite = 0x0059A125 ; Avoid Field Of View overwrite.
Global $Cam_ZoomProtection = 0x00596502 ; Remove the default 15-30 coords maximum zoom protection
Global $NPC_HighlightRED = 0x006D6A20
Global $NPC_HighlightGREEN = 0x006D6A2E
Global $NPC_HighlightBLUE = 0x00694420
Global $NPC_SelectionName = 0x006BC8E4
Global $NPC_SelectionCircle = 0x006D6B44
; ::TIME FUNCTIONS::
Global $Time_TimeMin = 0x00D573F0
Global $Time_TimeSpeed = $Time_TimeMin + 0x30
; ::VISUAL::
Global $Gen_ViewDist = 0x00CF6BA0
Global $Gen_RenderFlag = $Gen_ViewDist + 0x4
Global $Gen_FogColor = 0x00D57FE4
Global $Gen_FogNearclip = $Gen_FogColor + 0x4
Global $Gen_FogFarclip = $Gen_FogColor + 0x8
Global $Gen_FogDensity = $Gen_FogColor + 0xc
Global $Gen_diffuseColor = $Gen_FogColor + 0x48
Global $Gen_ambientColor = $Gen_FogColor + 0x4c
Global $Gen_ColorSky1 = $Gen_FogColor + 0x54
Global $Gen_ColorSky2 = $Gen_FogColor + 0x58
Global $Gen_ColorSky3 = $Gen_FogColor + 0x5c
Global $Gen_ColorSky4 = $Gen_FogColor + 0x60
Global $Gen_ColorSky5 = $Gen_FogColor + 0x64
Global $Gen_ColorSky6 = $Gen_FogColor + 0x68
Global $Gen_ColorSunHalo = $Gen_FogColor + 0x6c
Global $Gen_ColorCloud1 = $Gen_FogColor + 0x70
Global $Gen_ColorCloud2 = $Gen_FogColor + 0x74
Global $Gen_ColorCloud3 = $Gen_FogColor + 0x78
Global $Gen_ColorWaterSeaEdge = $Gen_FogColor + 0x80
Global $Gen_ColorWaterSeaMid = $Gen_FogColor + 0x84
Global $Gen_ColorWaterEdge = $Gen_FogColor + 0x88
Global $Gen_ColorWaterMid = $Gen_FogColor + 0x8C
Global $Gen_CloudDensity = $Gen_FogColor + 0xA8
(to change the Gen_ offsets you need to patch the following:
$FCO_FG = 0x007C640A
$FCO_FG + 0x5 + (0x6 * 0)
$FCO_FG + 0x5 + (0x6 * 1)
$FCO_FG + 0x5 + (0x6 * 2)
$FCO_FG + 0x5 + (0x6 * 3)
$FCO_FG + 0x5 + (0x6 * 4)
$FCO_FG + 0x5 + (0x6 * 5)
$FCO_FG + 0x5 + (0x6 * 6)
$FCO_FG + 0x5 + (0x6 * 7)
$FCO_FG + 0x5 + (0x6 *
$FCO_FG + 0x5 + (0x6 * 9)
$FCO_FG + 0x5 + (0x6 * 10)
$FCO_FG + 0x5 + (0x6 * 11)
$FCO_FG + 0x5 + (0x6 * 12)
$FCO_FG + 0x5 + (0x6 * 13)
$FCO_FG + 0x5 + (0x6 * 14)
$FCO_FG + 0x5 + (0x6 * 15)
$FCO_FG + 0x5 + (0x6 * 16)
$FCO_FG + 0x5 + (0x6 * 17)
$FCO_FG + 0x5 + (0x6 * 1
$FCO_FG + 0x5 + (0x6 * 23)
)
As for chat,
chatStart = 0x00B0D948
nextChat = 0x17C0
lalaloop
chatStart + (i * 0x17C0) + 0x0bf4
It seems to miss most chattypes, except players chatting, system messages are moved elsewhere?
My own looting method stopped working with the new patch. Previously (3.2.2) I've set the byte at [playerbase+d8]+1020 to 0x1 and called CGUnit_C__OnRightClick to interact with the unit and consequently autoloot. Here I give you my current method with some sample code:Code:CGUnit_C__CanAttack 0x006BC2F0 CGPlayer_C__LootUnit 0x0066D950
p.s.: I don't know if the method at 0x0066D950 is just LootUnit. It maybe InteractWithXYZ or DoSomethingWithUnitIDontF___ingCareAbout, but this is the function wow uses to set and loot a target when you rightclick it. Call me lazy...Code:void CGPlayer_C::LootUnit(CGUnit_C *unit, DWORD unknown /* = 0x1 */) { PVOID func = (PVOID)CGPlayer_C__LootUnit; PBYTE autoLoot = (PBYTE)((DWORD)this + 0x18d8); *autoLoot = 0x1; __asm { push unknown push unit mov ecx, this call func } }
Last edited by Flowerew; 12-12-2009 at 08:36 AM.
DBCs
Code:#ifndef __DATABASE_ENUM_H__ #define __DATABASE_ENUM_H__ // Version: 3.3.0 Build number: 10958 Build date: Dec 1 2009 enum eClientDB { DB_Achievement = 0x0EB, // 0x005C8A80 DB_Achievement_Criteria = 0x0EC, // 0x005C8A91 DB_Achievement_Category = 0x0ED, // 0x005C8AA2 DB_AnimationData = 0x0EE, // 0x005C8AB3 DB_AreaGroup = 0x0EF, // 0x005C8AC4 DB_AreaPOI = 0x0F0, // 0x005C8AD5 DB_AreaTable = 0x0F1, // 0x005C8AE6 DB_AreaTrigger = 0x0F2, // 0x005C8AF7 DB_AttackAnimKits = 0x0F3, // 0x005C8B08 DB_AttackAnimTypes = 0x0F4, // 0x005C8B19 DB_AuctionHouse = 0x0F5, // 0x005C8B2A DB_BankBagSlotPrices = 0x0F6, // 0x005C8B3B DB_BannedAddOns = 0x0F7, // 0x005C8B4C DB_BarberShopStyle = 0x0F8, // 0x005C8B5D DB_BattlemasterList = 0x0F9, // 0x005C8B6E DB_CameraShakes = 0x0FA, // 0x005C8B7F DB_Cfg_Categories = 0x0FB, // 0x005C8B90 DB_Cfg_Configs = 0x0FC, // 0x005C8BA1 DB_CharBaseInfo = 0x0FD, // 0x005C8BB2 DB_CharHairGeosets = 0x0FE, // 0x005C8BC3 DB_CharStartOutfit = 0x100, // 0x005C8BE5 DB_CharTitles = 0x101, // 0x005C8BF6 DB_CharacterFacialHairStyles = 0x102, // 0x005C8C07 DB_ChatChannels = 0x103, // 0x005C8C18 DB_ChatProfanity = 0x104, // 0x005C8C29 DB_ChrClasses = 0x105, // 0x005C8C3A DB_ChrRaces = 0x106, // 0x005C8C4B DB_CinematicCamera = 0x107, // 0x005C8C5C DB_CinematicSequences = 0x108, // 0x005C8C6D DB_CreatureDisplayInfoExtra = 0x10A, // 0x005C8C8F DB_CreatureDisplayInfo = 0x109, // 0x005C8C7E DB_CreatureFamily = 0x10B, // 0x005C8CA0 DB_CreatureModelData = 0x10C, // 0x005C8CB1 DB_CreatureMovementInfo = 0x10D, // 0x005C8CC2 DB_CreatureSoundData = 0x10E, // 0x005C8CD3 DB_CreatureSpellData = 0x10F, // 0x005C8CE4 DB_CreatureType = 0x110, // 0x005C8CF5 DB_CurrencyTypes = 0x111, // 0x005C8D06 DB_CurrencyCategory = 0x112, // 0x005C8D17 DB_DanceMoves = 0x113, // 0x005C8D28 DB_DeathThudLookups = 0x114, // 0x005C8D39 DB_DestructibleModelData = 0x115, // 0x005C8D4A DB_DungeonEncounter = 0x116, // 0x005C8D5B DB_DungeonMap = 0x117, // 0x005C8D6C DB_DungeonMapChunk = 0x118, // 0x005C8D7D DB_DurabilityCosts = 0x119, // 0x005C8D8E DB_DurabilityQuality = 0x11A, // 0x005C8D9F DB_Emotes = 0x11B, // 0x005C8DB0 DB_EmotesTextData = 0x11D, // 0x005C8DD2 DB_EmotesTextSound = 0x11E, // 0x005C8DE3 DB_EmotesText = 0x11C, // 0x005C8DC1 DB_EnvironmentalDamage = 0x11F, // 0x005C8DF4 DB_Exhaustion = 0x120, // 0x005C8E05 DB_FactionGroup = 0x122, // 0x005C8E27 DB_Faction = 0x121, // 0x005C8E16 DB_FactionTemplate = 0x123, // 0x005C8E38 DB_FileData = 0x124, // 0x005C8E49 DB_FootprintTextures = 0x125, // 0x005C8E5A DB_FootstepTerrainLookup = 0x126, // 0x005C8E6B DB_GameObjectArtKit = 0x127, // 0x005C8E7C DB_GameObjectDisplayInfo = 0x128, // 0x005C8E8D DB_GameTables = 0x129, // 0x005C8E9E DB_GameTips = 0x12A, // 0x005C8EAF DB_GemProperties = 0x12B, // 0x005C8EC0 DB_GlyphProperties = 0x12C, // 0x005C8ED1 DB_GlyphSlot = 0x12D, // 0x005C8EE2 DB_GMSurveyAnswers = 0x12E, // 0x005C8EF3 DB_GMSurveyCurrentSurvey = 0x12F, // 0x005C8F04 DB_GMSurveyQuestions = 0x130, // 0x005C8F15 DB_GMSurveySurveys = 0x131, // 0x005C8F26 DB_GMTicketCategory = 0x132, // 0x005C8F37 DB_GroundEffectDoodad = 0x133, // 0x005C8F48 DB_GroundEffectTexture = 0x134, // 0x005C8F59 DB_gtBarberShopCostBase = 0x135, // 0x005C8F6A DB_gtCombatRatings = 0x136, // 0x005C8F7B DB_gtChanceToMeleeCrit = 0x137, // 0x005C8F8C DB_gtChanceToMeleeCritBase = 0x138, // 0x005C8F9D DB_gtChanceToSpellCrit = 0x139, // 0x005C8FAE DB_gtChanceToSpellCritBase = 0x13A, // 0x005C8FBF DB_gtNPCManaCostScaler = 0x13B, // 0x005C8FD0 DB_gtOCTClassCombatRatingScalar = 0x13C, // 0x005C8FE1 DB_gtOCTRegenHP = 0x13D, // 0x005C8FF2 DB_gtOCTRegenMP = 0x13E, // 0x005C9003 DB_gtRegenHPPerSpt = 0x13F, // 0x005C9014 DB_gtRegenMPPerSpt = 0x140, // 0x005C9025 DB_HelmetGeosetVisData = 0x141, // 0x005C9036 DB_HolidayDescriptions = 0x142, // 0x005C9047 DB_HolidayNames = 0x143, // 0x005C9058 DB_Holidays = 0x144, // 0x005C9069 DB_Item = 0x145, // 0x005C907A DB_ItemBagFamily = 0x146, // 0x005C908B DB_ItemClass = 0x147, // 0x005C909C DB_ItemCondExtCosts = 0x148, // 0x005C90AD DB_ItemDisplayInfo = 0x149, // 0x005C90BE DB_ItemExtendedCost = 0x14A, // 0x005C90CF DB_ItemGroupSounds = 0x14B, // 0x005C90E0 DB_ItemLimitCategory = 0x14C, // 0x005C90F1 DB_ItemPetFood = 0x14D, // 0x005C9102 DB_ItemPurchaseGroup = 0x14E, // 0x005C9113 DB_ItemRandomProperties = 0x14F, // 0x005C9124 DB_ItemRandomSuffix = 0x150, // 0x005C9135 DB_ItemSet = 0x151, // 0x005C9146 DB_ItemSubClassMask = 0x153, // 0x005C9168 DB_ItemSubClass = 0x152, // 0x005C9157 DB_ItemVisualEffects = 0x154, // 0x005C9179 DB_ItemVisuals = 0x155, // 0x005C918A DB_LanguageWords = 0x156, // 0x005C919B DB_Languages = 0x157, // 0x005C91AC DB_LfgDungeonExpansion = 0x158, // 0x005C91BD DB_LfgDungeonGroup = 0x159, // 0x005C91CE DB_LfgDungeons = 0x15A, // 0x005C91DF DB_LiquidType = 0x160, // 0x005C9245 DB_LiquidMaterial = 0x161, // 0x005C9256 DB_LoadingScreens = 0x162, // 0x005C9267 DB_LoadingScreenTaxiSplines = 0x163, // 0x005C9278 DB_Lock = 0x164, // 0x005C9289 DB_LockType = 0x165, // 0x005C929A DB_MailTemplate = 0x166, // 0x005C92AB DB_Map = 0x167, // 0x005C92BC DB_MapDifficulty = 0x168, // 0x005C92CD DB_Material = 0x169, // 0x005C92DE DB_Movie = 0x16A, // 0x005C92EF DB_MovieFileData = 0x16B, // 0x005C9300 DB_MovieVariation = 0x16C, // 0x005C9311 DB_NameGen = 0x16D, // 0x005C9322 DB_NPCSounds = 0x16E, // 0x005C9333 DB_OverrideSpellData = 0x171, // 0x005C9366 DB_Package = 0x172, // 0x005C9377 DB_PageTextMaterial = 0x173, // 0x005C9388 DB_PaperDollItemFrame = 0x174, // 0x005C9399 DB_ParticleColor = 0x175, // 0x005C93AA DB_PetPersonality = 0x176, // 0x005C93BB DB_PowerDisplay = 0x177, // 0x005C93CC DB_PvpDifficulty = 0x178, // 0x005C93DD DB_QuestFactionReward = 0x179, // 0x005C93EE DB_QuestInfo = 0x17A, // 0x005C93FF DB_QuestSort = 0x17B, // 0x005C9410 DB_QuestXP = 0x17C, // 0x005C9421 DB_RandPropPoints = 0x17E, // 0x005C9443 DB_Resistances = 0x17D, // 0x005C9432 DB_ScalingStatDistribution = 0x17F, // 0x005C9454 DB_ScalingStatValues = 0x180, // 0x005C9465 DB_ScreenEffect = 0x181, // 0x005C9476 DB_ServerMessages = 0x182, // 0x005C9487 DB_SheatheSoundLookups = 0x183, // 0x005C9498 DB_SkillCostsData = 0x184, // 0x005C94A9 DB_SkillLineAbility = 0x185, // 0x005C94BA DB_SkillLine = 0x187, // 0x005C94DC DB_SkillLineCategory = 0x186, // 0x005C94CB DB_SkillRaceClassInfo = 0x188, // 0x005C94ED DB_SkillTiers = 0x189, // 0x005C94FE DB_SoundAmbience = 0x18A, // 0x005C950F DB_SoundEmitters = 0x18B, // 0x005C9520 DB_SoundEntries = 0x18C, // 0x005C9531 DB_SoundProviderPreferences = 0x18D, // 0x005C9542 DB_SoundSamplePreferences = 0x18E, // 0x005C9553 DB_SoundWaterType = 0x18F, // 0x005C9564 DB_SpamMessages = 0x190, // 0x005C9575 DB_SpellCastTimes = 0x191, // 0x005C9586 DB_SpellCategory = 0x192, // 0x005C9597 DB_SpellChainEffects = 0x193, // 0x005C95A8 DB_Spell = 0x194, // 0x005C95B9 DB_SpellDescriptionVariables = 0x195, // 0x005C95CA DB_SpellDifficulty = 0x196, // 0x005C95DB DB_SpellDispelType = 0x197, // 0x005C95EC DB_SpellDuration = 0x198, // 0x005C95FD DB_SpellEffectCameraShakes = 0x199, // 0x005C960E DB_SpellFocusObject = 0x19A, // 0x005C961F DB_SpellIcon = 0x19B, // 0x005C9630 DB_SpellItemEnchantment = 0x19C, // 0x005C9641 DB_SpellItemEnchantmentCondition = 0x19D, // 0x005C9652 DB_SpellMechanic = 0x19E, // 0x005C9663 DB_SpellMissile = 0x19F, // 0x005C9674 DB_SpellMissileMotion = 0x1A0, // 0x005C9685 DB_SpellRadius = 0x1A1, // 0x005C9696 DB_SpellRange = 0x1A2, // 0x005C96A7 DB_SpellRuneCost = 0x1A3, // 0x005C96B8 DB_SpellShapeshiftForm = 0x1A4, // 0x005C96C9 DB_SpellVisualEffectName = 0x1A6, // 0x005C96EB DB_SpellVisualKit = 0x1A7, // 0x005C96FC DB_SpellVisualKitAreaModel = 0x1A8, // 0x005C970D DB_SpellVisualKitModelAttach = 0x1A9, // 0x005C971E DB_SpellVisual = 0x1A5, // 0x005C96DA DB_StableSlotPrices = 0x1AA, // 0x005C972F DB_Stationery = 0x1AB, // 0x005C9740 DB_StringLookups = 0x1AC, // 0x005C9751 DB_SummonProperties = 0x1AD, // 0x005C9762 DB_Talent = 0x1AE, // 0x005C9773 DB_TalentTab = 0x1AF, // 0x005C9784 DB_TaxiNodes = 0x1B0, // 0x005C9795 DB_TaxiPathNode = 0x1B2, // 0x005C97B7 DB_TaxiPath = 0x1B1, // 0x005C97A6 DB_TeamContributionPoints = 0x1B3, // 0x005C97C8 DB_TerrainType = 0x1B4, // 0x005C97D9 DB_TerrainTypeSounds = 0x1B5, // 0x005C97EA DB_TotemCategory = 0x1B6, // 0x005C97FB DB_TransportAnimation = 0x1B7, // 0x005C980C DB_TransportPhysics = 0x1B8, // 0x005C981D DB_TransportRotation = 0x1B9, // 0x005C982E DB_UISoundLookups = 0x1BA, // 0x005C983F DB_UnitBloodLevels = 0x1BC, // 0x005C9861 DB_UnitBlood = 0x1BB, // 0x005C9850 DB_Vehicle = 0x1BD, // 0x005C9872 DB_VehicleSeat = 0x1BE, // 0x005C9883 DB_VehicleUIIndSeat = 0x1C0, // 0x005C98A5 DB_VocalUISounds = 0x1C1, // 0x005C98B6 DB_WeaponImpactSounds = 0x1C3, // 0x005C98D8 DB_WeaponSwingSounds2 = 0x1C4, // 0x005C98E9 DB_Weather = 0x1C5, // 0x005C98FA DB_WorldMapArea = 0x1C6, // 0x005C990B DB_WorldMapContinent = 0x1C8, // 0x005C992D DB_WorldMapOverlay = 0x1C9, // 0x005C993E DB_WorldMapTransforms = 0x1C7, // 0x005C991C DB_WorldSafeLocs = 0x1CA, // 0x005C994F DB_WorldStateUI = 0x1CB, // 0x005C9960 DB_NamesProfanity = 0x16F, // 0x005C9344 DB_NamesReserved = 0x170, // 0x005C9355 DB_CharSections = 0x0FF, // 0x005C8BD4 DB_ZoneIntroMusicTable = 0x1CC, // 0x005C9971 DB_ZoneMusic = 0x1CD, // 0x005C9982 DB_WorldStateZoneSounds = 0x1CE, // 0x005C9993 DB_WorldChunkSounds = 0x1CF, // 0x005C99A4 DB_SoundEntriesAdvanced = 0x1D0, // 0x005C99B5 DB_ObjectEffect = 0x1D1, // 0x005C99C6 DB_ObjectEffectGroup = 0x1D2, // 0x005C99D7 DB_ObjectEffectModifier = 0x1D3, // 0x005C99E8 DB_ObjectEffectPackage = 0x1D4, // 0x005C99F9 DB_ObjectEffectPackageElem = 0x1D5, // 0x005C9A0A DB_SoundFilter = 0x1D6, // 0x005C9A1B DB_SoundFilterElem = 0x1D7, // 0x005C9A2C DB_WMOAreaTable = 0x1C2, // 0x005C98C7 DB_LightSkybox = 0x15F, // 0x005C9234 DB_LightParams = 0x15E, // 0x005C9223 DB_Light = 0x15B, // 0x005C91F0 DB_LightIntBand = 0x15D, // 0x005C9212 DB_LightFloatBand = 0x15C, // 0x005C9201 DB_VehicleUIIndicator = 0x1BF, // 0x005C9894 DB_COUNT = 0x0F1 }; #endif //__DATABASE_ENUM_H__
Nice dumping ^^ many thanks to all, here is my contribution
3.3.0 mouseover = 0XC3F4C8 // 3.2.2 mousover = 0x121D768
Edit: Damn it has been posted... XD
Last edited by mordok; 12-14-2009 at 12:04 AM.
"I'm not going to expose my methods for time bending, as i don't want to do get nerfed!"-Kynox
C#'ified structs, for use with Marshal.PtrToStructure and similar.
Code:// Descriptors: 0x00A66C18 [StructLayout(LayoutKind.Explicit)] struct sObjectFields { [FieldOffset(0x0000)] public UInt64 OBJECT_FIELD_GUID; [FieldOffset(0x0008)] public UInt32 OBJECT_FIELD_TYPE; [FieldOffset(0x000C)] public UInt32 OBJECT_FIELD_ENTRY; [FieldOffset(0x0010)] public float OBJECT_FIELD_SCALE_X; [FieldOffset(0x0014)] public UInt32 OBJECT_FIELD_PADDING; }; // Descriptors: 0x00A66CB8 [StructLayout(LayoutKind.Explicit)] unsafe struct sItemFields { [FieldOffset(0x0018)] public UInt64 ITEM_FIELD_OWNER; [FieldOffset(0x0020)] public UInt64 ITEM_FIELD_CONTAINED; [FieldOffset(0x0028)] public UInt64 ITEM_FIELD_CREATOR; [FieldOffset(0x0030)] public UInt64 ITEM_FIELD_GIFTCREATOR; [FieldOffset(0x0038)] public UInt32 ITEM_FIELD_STACK_COUNT; [FieldOffset(0x003C)] public UInt32 ITEM_FIELD_DURATION; [FieldOffset(0x0040)] public fixed UInt32 ITEM_FIELD_SPELL_CHARGES[5]; [FieldOffset(0x0054)] public UInt32 ITEM_FIELD_FLAGS; [FieldOffset(0x0058)] public fixed UInt32 ITEM_FIELD_ENCHANTMENT_1_1[2]; [FieldOffset(0x0060)] public fixed byte ITEM_FIELD_ENCHANTMENT_1_3[4]; [FieldOffset(0x0064)] public fixed UInt32 ITEM_FIELD_ENCHANTMENT_2_1[2]; [FieldOffset(0x006C)] public fixed byte ITEM_FIELD_ENCHANTMENT_2_3[4]; [FieldOffset(0x0070)] public fixed UInt32 ITEM_FIELD_ENCHANTMENT_3_1[2]; [FieldOffset(0x0078)] public fixed byte ITEM_FIELD_ENCHANTMENT_3_3[4]; [FieldOffset(0x007C)] public fixed UInt32 ITEM_FIELD_ENCHANTMENT_4_1[2]; [FieldOffset(0x0084)] public fixed byte ITEM_FIELD_ENCHANTMENT_4_3[4]; [FieldOffset(0x0088)] public fixed UInt32 ITEM_FIELD_ENCHANTMENT_5_1[2]; [FieldOffset(0x0090)] public fixed byte ITEM_FIELD_ENCHANTMENT_5_3[4]; [FieldOffset(0x0094)] public fixed UInt32 ITEM_FIELD_ENCHANTMENT_6_1[2]; [FieldOffset(0x009C)] public fixed byte ITEM_FIELD_ENCHANTMENT_6_3[4]; [FieldOffset(0x00A0)] public fixed UInt32 ITEM_FIELD_ENCHANTMENT_7_1[2]; [FieldOffset(0x00A8)] public fixed byte ITEM_FIELD_ENCHANTMENT_7_3[4]; [FieldOffset(0x00AC)] public fixed UInt32 ITEM_FIELD_ENCHANTMENT_8_1[2]; [FieldOffset(0x00B4)] public fixed byte ITEM_FIELD_ENCHANTMENT_8_3[4]; [FieldOffset(0x00B8)] public fixed UInt32 ITEM_FIELD_ENCHANTMENT_9_1[2]; [FieldOffset(0x00C0)] public fixed byte ITEM_FIELD_ENCHANTMENT_9_3[4]; [FieldOffset(0x00C4)] public fixed UInt32 ITEM_FIELD_ENCHANTMENT_10_1[2]; [FieldOffset(0x00CC)] public fixed byte ITEM_FIELD_ENCHANTMENT_10_3[4]; [FieldOffset(0x00D0)] public fixed UInt32 ITEM_FIELD_ENCHANTMENT_11_1[2]; [FieldOffset(0x00D8)] public fixed byte ITEM_FIELD_ENCHANTMENT_11_3[4]; [FieldOffset(0x00DC)] public fixed UInt32 ITEM_FIELD_ENCHANTMENT_12_1[2]; [FieldOffset(0x00E4)] public fixed byte ITEM_FIELD_ENCHANTMENT_12_3[4]; [FieldOffset(0x00E8)] public UInt32 ITEM_FIELD_PROPERTY_SEED; [FieldOffset(0x00EC)] public UInt32 ITEM_FIELD_RANDOM_PROPERTIES_ID; [FieldOffset(0x00F0)] public UInt32 ITEM_FIELD_ITEM_TEXT_ID; [FieldOffset(0x00F4)] public UInt32 ITEM_FIELD_DURABILITY; [FieldOffset(0x00F8)] public UInt32 ITEM_FIELD_MAXDURABILITY; [FieldOffset(0x00FC)] public UInt32 ITEM_FIELD_CREATE_PLAYED_TIME; }; // Descriptors: 0x00A66C7C [StructLayout(LayoutKind.Explicit)] unsafe struct sContainerFields { [FieldOffset(0x0018)] public UInt32 CONTAINER_FIELD_NUM_SLOTS; [FieldOffset(0x001C)] public fixed byte CONTAINER_ALIGN_PAD[4]; [FieldOffset(0x0020)] public fixed UInt64 CONTAINER_FIELD_SLOT_1[36]; }; // Descriptors: 0x00A66FB0 [StructLayout(LayoutKind.Explicit)] unsafe struct sUnitFields { [FieldOffset(0x0018)] public UInt64 UNIT_FIELD_CHARM; [FieldOffset(0x0020)] public UInt64 UNIT_FIELD_SUMMON; [FieldOffset(0x0028)] public UInt64 UNIT_FIELD_CRITTER; [FieldOffset(0x0030)] public UInt64 UNIT_FIELD_CHARMEDBY; [FieldOffset(0x0038)] public UInt64 UNIT_FIELD_SUMMONEDBY; [FieldOffset(0x0040)] public UInt64 UNIT_FIELD_CREATEDBY; [FieldOffset(0x0048)] public UInt64 UNIT_FIELD_TARGET; [FieldOffset(0x0050)] public UInt64 UNIT_FIELD_CHANNEL_OBJECT; [FieldOffset(0x0058)] public fixed byte UNIT_FIELD_BYTES_0[4]; [FieldOffset(0x005C)] public UInt32 UNIT_FIELD_HEALTH; [FieldOffset(0x0060)] public UInt32 UNIT_FIELD_POWER1; [FieldOffset(0x0064)] public UInt32 UNIT_FIELD_POWER2; [FieldOffset(0x0068)] public UInt32 UNIT_FIELD_POWER3; [FieldOffset(0x006C)] public UInt32 UNIT_FIELD_POWER4; [FieldOffset(0x0070)] public UInt32 UNIT_FIELD_POWER5; [FieldOffset(0x0074)] public UInt32 UNIT_FIELD_POWER6; [FieldOffset(0x0078)] public UInt32 UNIT_FIELD_POWER7; [FieldOffset(0x007C)] public UInt32 UNIT_FIELD_MAXHEALTH; [FieldOffset(0x0080)] public UInt32 UNIT_FIELD_MAXPOWER1; [FieldOffset(0x0084)] public UInt32 UNIT_FIELD_MAXPOWER2; [FieldOffset(0x0088)] public UInt32 UNIT_FIELD_MAXPOWER3; [FieldOffset(0x008C)] public UInt32 UNIT_FIELD_MAXPOWER4; [FieldOffset(0x0090)] public UInt32 UNIT_FIELD_MAXPOWER5; [FieldOffset(0x0094)] public UInt32 UNIT_FIELD_MAXPOWER6; [FieldOffset(0x0098)] public UInt32 UNIT_FIELD_MAXPOWER7; [FieldOffset(0x009C)] public fixed float UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER[7]; [FieldOffset(0x00B8)] public fixed float UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER[7]; [FieldOffset(0x00D4)] public UInt32 UNIT_FIELD_LEVEL; [FieldOffset(0x00D8)] public UInt32 UNIT_FIELD_FACTIONTEMPLATE; [FieldOffset(0x00DC)] public fixed UInt32 UNIT_VIRTUAL_ITEM_SLOT_ID[3]; [FieldOffset(0x00E8)] public UInt32 UNIT_FIELD_FLAGS; [FieldOffset(0x00EC)] public UInt32 UNIT_FIELD_FLAGS_2; [FieldOffset(0x00F0)] public UInt32 UNIT_FIELD_AURASTATE; [FieldOffset(0x00F4)] public fixed UInt32 UNIT_FIELD_BASEATTACKTIME[2]; [FieldOffset(0x00FC)] public UInt32 UNIT_FIELD_RANGEDATTACKTIME; [FieldOffset(0x0100)] public float UNIT_FIELD_BOUNDINGRADIUS; [FieldOffset(0x0104)] public float UNIT_FIELD_COMBATREACH; [FieldOffset(0x0108)] public UInt32 UNIT_FIELD_DISPLAYID; [FieldOffset(0x010C)] public UInt32 UNIT_FIELD_NATIVEDISPLAYID; [FieldOffset(0x0110)] public UInt32 UNIT_FIELD_MOUNTDISPLAYID; [FieldOffset(0x0114)] public float UNIT_FIELD_MINDAMAGE; [FieldOffset(0x0118)] public float UNIT_FIELD_MAXDAMAGE; [FieldOffset(0x011C)] public float UNIT_FIELD_MINOFFHANDDAMAGE; [FieldOffset(0x0120)] public float UNIT_FIELD_MAXOFFHANDDAMAGE; [FieldOffset(0x0124)] public fixed byte UNIT_FIELD_BYTES_1[4]; [FieldOffset(0x0128)] public UInt32 UNIT_FIELD_PETNUMBER; [FieldOffset(0x012C)] public UInt32 UNIT_FIELD_PET_NAME_TIMESTAMP; [FieldOffset(0x0130)] public UInt32 UNIT_FIELD_PETEXPERIENCE; [FieldOffset(0x0134)] public UInt32 UNIT_FIELD_PETNEXTLEVELEXP; [FieldOffset(0x0138)] public UInt32 UNIT_DYNAMIC_FLAGS; [FieldOffset(0x013C)] public UInt32 UNIT_CHANNEL_SPELL; [FieldOffset(0x0140)] public float UNIT_MOD_CAST_SPEED; [FieldOffset(0x0144)] public UInt32 UNIT_CREATED_BY_SPELL; [FieldOffset(0x0148)] public UInt32 UNIT_NPC_FLAGS; [FieldOffset(0x014C)] public UInt32 UNIT_NPC_EMOTESTATE; [FieldOffset(0x0150)] public UInt32 UNIT_FIELD_STAT0; [FieldOffset(0x0154)] public UInt32 UNIT_FIELD_STAT1; [FieldOffset(0x0158)] public UInt32 UNIT_FIELD_STAT2; [FieldOffset(0x015C)] public UInt32 UNIT_FIELD_STAT3; [FieldOffset(0x0160)] public UInt32 UNIT_FIELD_STAT4; [FieldOffset(0x0164)] public UInt32 UNIT_FIELD_POSSTAT0; [FieldOffset(0x0168)] public UInt32 UNIT_FIELD_POSSTAT1; [FieldOffset(0x016C)] public UInt32 UNIT_FIELD_POSSTAT2; [FieldOffset(0x0170)] public UInt32 UNIT_FIELD_POSSTAT3; [FieldOffset(0x0174)] public UInt32 UNIT_FIELD_POSSTAT4; [FieldOffset(0x0178)] public UInt32 UNIT_FIELD_NEGSTAT0; [FieldOffset(0x017C)] public UInt32 UNIT_FIELD_NEGSTAT1; [FieldOffset(0x0180)] public UInt32 UNIT_FIELD_NEGSTAT2; [FieldOffset(0x0184)] public UInt32 UNIT_FIELD_NEGSTAT3; [FieldOffset(0x0188)] public UInt32 UNIT_FIELD_NEGSTAT4; [FieldOffset(0x018C)] public fixed UInt32 UNIT_FIELD_RESISTANCES[7]; [FieldOffset(0x01A8)] public fixed UInt32 UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE[7]; [FieldOffset(0x01C4)] public fixed UInt32 UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE[7]; [FieldOffset(0x01E0)] public UInt32 UNIT_FIELD_BASE_MANA; [FieldOffset(0x01E4)] public UInt32 UNIT_FIELD_BASE_HEALTH; [FieldOffset(0x01E8)] public fixed byte UNIT_FIELD_BYTES_2[4]; [FieldOffset(0x01EC)] public UInt32 UNIT_FIELD_ATTACK_POWER; [FieldOffset(0x01F0)] public fixed byte UNIT_FIELD_ATTACK_POWER_MODS[4]; [FieldOffset(0x01F4)] public float UNIT_FIELD_ATTACK_POWER_MULTIPLIER; [FieldOffset(0x01F8)] public UInt32 UNIT_FIELD_RANGED_ATTACK_POWER; [FieldOffset(0x01FC)] public fixed byte UNIT_FIELD_RANGED_ATTACK_POWER_MODS[4]; [FieldOffset(0x0200)] public float UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER; [FieldOffset(0x0204)] public float UNIT_FIELD_MINRANGEDDAMAGE; [FieldOffset(0x0208)] public float UNIT_FIELD_MAXRANGEDDAMAGE; [FieldOffset(0x020C)] public fixed UInt32 UNIT_FIELD_POWER_COST_MODIFIER[7]; [FieldOffset(0x0228)] public fixed float UNIT_FIELD_POWER_COST_MULTIPLIER[7]; [FieldOffset(0x0244)] public float UNIT_FIELD_MAXHEALTHMODIFIER; [FieldOffset(0x0248)] public float UNIT_FIELD_HOVERHEIGHT; [FieldOffset(0x024C)] public UInt32 UNIT_FIELD_PADDING; }; // Descriptors: 0x00A676A8 [StructLayout(LayoutKind.Explicit)] unsafe struct sPlayerFields { [FieldOffset(0x0250)] public UInt64 PLAYER_DUEL_ARBITER; [FieldOffset(0x0258)] public UInt32 PLAYER_FLAGS; [FieldOffset(0x025C)] public UInt32 PLAYER_GUILDID; [FieldOffset(0x0260)] public UInt32 PLAYER_GUILDRANK; [FieldOffset(0x0264)] public fixed byte PLAYER_BYTES[4]; [FieldOffset(0x0268)] public fixed byte PLAYER_BYTES_2[4]; [FieldOffset(0x026C)] public fixed byte PLAYER_BYTES_3[4]; [FieldOffset(0x0270)] public UInt32 PLAYER_DUEL_TEAM; [FieldOffset(0x0274)] public UInt32 PLAYER_GUILD_TIMESTAMP; [FieldOffset(0x0278)] public UInt32 PLAYER_QUEST_LOG_1_1; [FieldOffset(0x027C)] public UInt32 PLAYER_QUEST_LOG_1_2; [FieldOffset(0x0280)] public fixed byte PLAYER_QUEST_LOG_1_3[8]; [FieldOffset(0x0288)] public UInt32 PLAYER_QUEST_LOG_1_4; [FieldOffset(0x028C)] public UInt32 PLAYER_QUEST_LOG_2_1; [FieldOffset(0x0290)] public UInt32 PLAYER_QUEST_LOG_2_2; [FieldOffset(0x0294)] public fixed byte PLAYER_QUEST_LOG_2_3[8]; [FieldOffset(0x029C)] public UInt32 PLAYER_QUEST_LOG_2_5; [FieldOffset(0x02A0)] public UInt32 PLAYER_QUEST_LOG_3_1; [FieldOffset(0x02A4)] public UInt32 PLAYER_QUEST_LOG_3_2; [FieldOffset(0x02A8)] public fixed byte PLAYER_QUEST_LOG_3_3[8]; [FieldOffset(0x02B0)] public UInt32 PLAYER_QUEST_LOG_3_5; [FieldOffset(0x02B4)] public UInt32 PLAYER_QUEST_LOG_4_1; [FieldOffset(0x02B8)] public UInt32 PLAYER_QUEST_LOG_4_2; [FieldOffset(0x02BC)] public fixed byte PLAYER_QUEST_LOG_4_3[8]; [FieldOffset(0x02C4)] public UInt32 PLAYER_QUEST_LOG_4_5; [FieldOffset(0x02C8)] public UInt32 PLAYER_QUEST_LOG_5_1; [FieldOffset(0x02CC)] public UInt32 PLAYER_QUEST_LOG_5_2; [FieldOffset(0x02D0)] public fixed byte PLAYER_QUEST_LOG_5_3[8]; [FieldOffset(0x02D8)] public UInt32 PLAYER_QUEST_LOG_5_5; [FieldOffset(0x02DC)] public UInt32 PLAYER_QUEST_LOG_6_1; [FieldOffset(0x02E0)] public UInt32 PLAYER_QUEST_LOG_6_2; [FieldOffset(0x02E4)] public fixed byte PLAYER_QUEST_LOG_6_3[8]; [FieldOffset(0x02EC)] public UInt32 PLAYER_QUEST_LOG_6_5; [FieldOffset(0x02F0)] public UInt32 PLAYER_QUEST_LOG_7_1; [FieldOffset(0x02F4)] public UInt32 PLAYER_QUEST_LOG_7_2; [FieldOffset(0x02F8)] public fixed byte PLAYER_QUEST_LOG_7_3[8]; [FieldOffset(0x0300)] public UInt32 PLAYER_QUEST_LOG_7_5; [FieldOffset(0x0304)] public UInt32 PLAYER_QUEST_LOG_8_1; [FieldOffset(0x0308)] public UInt32 PLAYER_QUEST_LOG_8_2; [FieldOffset(0x030C)] public fixed byte PLAYER_QUEST_LOG_8_3[8]; [FieldOffset(0x0314)] public UInt32 PLAYER_QUEST_LOG_8_5; [FieldOffset(0x0318)] public UInt32 PLAYER_QUEST_LOG_9_1; [FieldOffset(0x031C)] public UInt32 PLAYER_QUEST_LOG_9_2; [FieldOffset(0x0320)] public fixed byte PLAYER_QUEST_LOG_9_3[8]; [FieldOffset(0x0328)] public UInt32 PLAYER_QUEST_LOG_9_5; [FieldOffset(0x032C)] public UInt32 PLAYER_QUEST_LOG_10_1; [FieldOffset(0x0330)] public UInt32 PLAYER_QUEST_LOG_10_2; [FieldOffset(0x0334)] public fixed byte PLAYER_QUEST_LOG_10_3[8]; [FieldOffset(0x033C)] public UInt32 PLAYER_QUEST_LOG_10_5; [FieldOffset(0x0340)] public UInt32 PLAYER_QUEST_LOG_11_1; [FieldOffset(0x0344)] public UInt32 PLAYER_QUEST_LOG_11_2; [FieldOffset(0x0348)] public fixed byte PLAYER_QUEST_LOG_11_3[8]; [FieldOffset(0x0350)] public UInt32 PLAYER_QUEST_LOG_11_5; [FieldOffset(0x0354)] public UInt32 PLAYER_QUEST_LOG_12_1; [FieldOffset(0x0358)] public UInt32 PLAYER_QUEST_LOG_12_2; [FieldOffset(0x035C)] public fixed byte PLAYER_QUEST_LOG_12_3[8]; [FieldOffset(0x0364)] public UInt32 PLAYER_QUEST_LOG_12_5; [FieldOffset(0x0368)] public UInt32 PLAYER_QUEST_LOG_13_1; [FieldOffset(0x036C)] public UInt32 PLAYER_QUEST_LOG_13_2; [FieldOffset(0x0370)] public fixed byte PLAYER_QUEST_LOG_13_3[8]; [FieldOffset(0x0378)] public UInt32 PLAYER_QUEST_LOG_13_5; [FieldOffset(0x037C)] public UInt32 PLAYER_QUEST_LOG_14_1; [FieldOffset(0x0380)] public UInt32 PLAYER_QUEST_LOG_14_2; [FieldOffset(0x0384)] public fixed byte PLAYER_QUEST_LOG_14_3[8]; [FieldOffset(0x038C)] public UInt32 PLAYER_QUEST_LOG_14_5; [FieldOffset(0x0390)] public UInt32 PLAYER_QUEST_LOG_15_1; [FieldOffset(0x0394)] public UInt32 PLAYER_QUEST_LOG_15_2; [FieldOffset(0x0398)] public fixed byte PLAYER_QUEST_LOG_15_3[8]; [FieldOffset(0x03A0)] public UInt32 PLAYER_QUEST_LOG_15_5; [FieldOffset(0x03A4)] public UInt32 PLAYER_QUEST_LOG_16_1; [FieldOffset(0x03A8)] public UInt32 PLAYER_QUEST_LOG_16_2; [FieldOffset(0x03AC)] public fixed byte PLAYER_QUEST_LOG_16_3[8]; [FieldOffset(0x03B4)] public UInt32 PLAYER_QUEST_LOG_16_5; [FieldOffset(0x03B8)] public UInt32 PLAYER_QUEST_LOG_17_1; [FieldOffset(0x03BC)] public UInt32 PLAYER_QUEST_LOG_17_2; [FieldOffset(0x03C0)] public fixed byte PLAYER_QUEST_LOG_17_3[8]; [FieldOffset(0x03C8)] public UInt32 PLAYER_QUEST_LOG_17_5; [FieldOffset(0x03CC)] public UInt32 PLAYER_QUEST_LOG_18_1; [FieldOffset(0x03D0)] public UInt32 PLAYER_QUEST_LOG_18_2; [FieldOffset(0x03D4)] public fixed byte PLAYER_QUEST_LOG_18_3[8]; [FieldOffset(0x03DC)] public UInt32 PLAYER_QUEST_LOG_18_5; [FieldOffset(0x03E0)] public UInt32 PLAYER_QUEST_LOG_19_1; [FieldOffset(0x03E4)] public UInt32 PLAYER_QUEST_LOG_19_2; [FieldOffset(0x03E8)] public fixed byte PLAYER_QUEST_LOG_19_3[8]; [FieldOffset(0x03F0)] public UInt32 PLAYER_QUEST_LOG_19_5; [FieldOffset(0x03F4)] public UInt32 PLAYER_QUEST_LOG_20_1; [FieldOffset(0x03F8)] public UInt32 PLAYER_QUEST_LOG_20_2; [FieldOffset(0x03FC)] public fixed byte PLAYER_QUEST_LOG_20_3[8]; [FieldOffset(0x0404)] public UInt32 PLAYER_QUEST_LOG_20_5; [FieldOffset(0x0408)] public UInt32 PLAYER_QUEST_LOG_21_1; [FieldOffset(0x040C)] public UInt32 PLAYER_QUEST_LOG_21_2; [FieldOffset(0x0410)] public fixed byte PLAYER_QUEST_LOG_21_3[8]; [FieldOffset(0x0418)] public UInt32 PLAYER_QUEST_LOG_21_5; [FieldOffset(0x041C)] public UInt32 PLAYER_QUEST_LOG_22_1; [FieldOffset(0x0420)] public UInt32 PLAYER_QUEST_LOG_22_2; [FieldOffset(0x0424)] public fixed byte PLAYER_QUEST_LOG_22_3[8]; [FieldOffset(0x042C)] public UInt32 PLAYER_QUEST_LOG_22_5; [FieldOffset(0x0430)] public UInt32 PLAYER_QUEST_LOG_23_1; [FieldOffset(0x0434)] public UInt32 PLAYER_QUEST_LOG_23_2; [FieldOffset(0x0438)] public fixed byte PLAYER_QUEST_LOG_23_3[8]; [FieldOffset(0x0440)] public UInt32 PLAYER_QUEST_LOG_23_5; [FieldOffset(0x0444)] public UInt32 PLAYER_QUEST_LOG_24_1; [FieldOffset(0x0448)] public UInt32 PLAYER_QUEST_LOG_24_2; [FieldOffset(0x044C)] public fixed byte PLAYER_QUEST_LOG_24_3[8]; [FieldOffset(0x0454)] public UInt32 PLAYER_QUEST_LOG_24_5; [FieldOffset(0x0458)] public UInt32 PLAYER_QUEST_LOG_25_1; [FieldOffset(0x045C)] public UInt32 PLAYER_QUEST_LOG_25_2; [FieldOffset(0x0460)] public fixed byte PLAYER_QUEST_LOG_25_3[8]; [FieldOffset(0x0468)] public UInt32 PLAYER_QUEST_LOG_25_5; [FieldOffset(0x046C)] public UInt32 PLAYER_VISIBLE_ITEM_1_ENTRYID; [FieldOffset(0x0470)] public fixed byte PLAYER_VISIBLE_ITEM_1_ENCHANTMENT[4]; [FieldOffset(0x0474)] public UInt32 PLAYER_VISIBLE_ITEM_2_ENTRYID; [FieldOffset(0x0478)] public fixed byte PLAYER_VISIBLE_ITEM_2_ENCHANTMENT[4]; [FieldOffset(0x047C)] public UInt32 PLAYER_VISIBLE_ITEM_3_ENTRYID; [FieldOffset(0x0480)] public fixed byte PLAYER_VISIBLE_ITEM_3_ENCHANTMENT[4]; [FieldOffset(0x0484)] public UInt32 PLAYER_VISIBLE_ITEM_4_ENTRYID; [FieldOffset(0x0488)] public fixed byte PLAYER_VISIBLE_ITEM_4_ENCHANTMENT[4]; [FieldOffset(0x048C)] public UInt32 PLAYER_VISIBLE_ITEM_5_ENTRYID; [FieldOffset(0x0490)] public fixed byte PLAYER_VISIBLE_ITEM_5_ENCHANTMENT[4]; [FieldOffset(0x0494)] public UInt32 PLAYER_VISIBLE_ITEM_6_ENTRYID; [FieldOffset(0x0498)] public fixed byte PLAYER_VISIBLE_ITEM_6_ENCHANTMENT[4]; [FieldOffset(0x049C)] public UInt32 PLAYER_VISIBLE_ITEM_7_ENTRYID; [FieldOffset(0x04A0)] public fixed byte PLAYER_VISIBLE_ITEM_7_ENCHANTMENT[4]; [FieldOffset(0x04A4)] public UInt32 PLAYER_VISIBLE_ITEM_8_ENTRYID; [FieldOffset(0x04A8)] public fixed byte PLAYER_VISIBLE_ITEM_8_ENCHANTMENT[4]; [FieldOffset(0x04AC)] public UInt32 PLAYER_VISIBLE_ITEM_9_ENTRYID; [FieldOffset(0x04B0)] public fixed byte PLAYER_VISIBLE_ITEM_9_ENCHANTMENT[4]; [FieldOffset(0x04B4)] public UInt32 PLAYER_VISIBLE_ITEM_10_ENTRYID; [FieldOffset(0x04B8)] public fixed byte PLAYER_VISIBLE_ITEM_10_ENCHANTMENT[4]; [FieldOffset(0x04BC)] public UInt32 PLAYER_VISIBLE_ITEM_11_ENTRYID; [FieldOffset(0x04C0)] public fixed byte PLAYER_VISIBLE_ITEM_11_ENCHANTMENT[4]; [FieldOffset(0x04C4)] public UInt32 PLAYER_VISIBLE_ITEM_12_ENTRYID; [FieldOffset(0x04C8)] public fixed byte PLAYER_VISIBLE_ITEM_12_ENCHANTMENT[4]; [FieldOffset(0x04CC)] public UInt32 PLAYER_VISIBLE_ITEM_13_ENTRYID; [FieldOffset(0x04D0)] public fixed byte PLAYER_VISIBLE_ITEM_13_ENCHANTMENT[4]; [FieldOffset(0x04D4)] public UInt32 PLAYER_VISIBLE_ITEM_14_ENTRYID; [FieldOffset(0x04D8)] public fixed byte PLAYER_VISIBLE_ITEM_14_ENCHANTMENT[4]; [FieldOffset(0x04DC)] public UInt32 PLAYER_VISIBLE_ITEM_15_ENTRYID; [FieldOffset(0x04E0)] public fixed byte PLAYER_VISIBLE_ITEM_15_ENCHANTMENT[4]; [FieldOffset(0x04E4)] public UInt32 PLAYER_VISIBLE_ITEM_16_ENTRYID; [FieldOffset(0x04E8)] public fixed byte PLAYER_VISIBLE_ITEM_16_ENCHANTMENT[4]; [FieldOffset(0x04EC)] public UInt32 PLAYER_VISIBLE_ITEM_17_ENTRYID; [FieldOffset(0x04F0)] public fixed byte PLAYER_VISIBLE_ITEM_17_ENCHANTMENT[4]; [FieldOffset(0x04F4)] public UInt32 PLAYER_VISIBLE_ITEM_18_ENTRYID; [FieldOffset(0x04F8)] public fixed byte PLAYER_VISIBLE_ITEM_18_ENCHANTMENT[4]; [FieldOffset(0x04FC)] public UInt32 PLAYER_VISIBLE_ITEM_19_ENTRYID; [FieldOffset(0x0500)] public fixed byte PLAYER_VISIBLE_ITEM_19_ENCHANTMENT[4]; [FieldOffset(0x0504)] public UInt32 PLAYER_CHOSEN_TITLE; [FieldOffset(0x0508)] public UInt32 PLAYER_FAKE_INEBRIATION; [FieldOffset(0x050C)] public UInt32 PLAYER_FIELD_PAD_0; [FieldOffset(0x0510)] public fixed UInt64 PLAYER_FIELD_INV_SLOT_HEAD[23]; [FieldOffset(0x05C8)] public fixed UInt64 PLAYER_FIELD_PACK_SLOT_1[16]; [FieldOffset(0x0648)] public fixed UInt64 PLAYER_FIELD_BANK_SLOT_1[28]; [FieldOffset(0x0728)] public fixed UInt64 PLAYER_FIELD_BANKBAG_SLOT_1[7]; [FieldOffset(0x0760)] public fixed UInt64 PLAYER_FIELD_VENDORBUYBACK_SLOT_1[12]; [FieldOffset(0x07C0)] public fixed UInt64 PLAYER_FIELD_KEYRING_SLOT_1[32]; [FieldOffset(0x08C0)] public fixed UInt64 PLAYER_FIELD_CURRENCYTOKEN_SLOT_1[32]; [FieldOffset(0x09C0)] public UInt64 PLAYER_FARSIGHT; [FieldOffset(0x09C8)] public UInt64 PLAYER__FIELD_KNOWN_TITLES; [FieldOffset(0x09D0)] public UInt64 PLAYER__FIELD_KNOWN_TITLES1; [FieldOffset(0x09D8)] public UInt64 PLAYER__FIELD_KNOWN_TITLES2; [FieldOffset(0x09E0)] public UInt64 PLAYER_FIELD_KNOWN_CURRENCIES; [FieldOffset(0x09E8)] public UInt32 PLAYER_XP; [FieldOffset(0x09EC)] public UInt32 PLAYER_NEXT_LEVEL_XP; [FieldOffset(0x09F0)] public fixed byte PLAYER_SKILL_INFO_1_1[1536]; [FieldOffset(0x0FF0)] public UInt32 PLAYER_CHARACTER_POINTS1; [FieldOffset(0x0FF4)] public UInt32 PLAYER_CHARACTER_POINTS2; [FieldOffset(0x0FF8)] public UInt32 PLAYER_TRACK_CREATURES; [FieldOffset(0x0FFC)] public UInt32 PLAYER_TRACK_RESOURCES; [FieldOffset(0x1000)] public float PLAYER_BLOCK_PERCENTAGE; [FieldOffset(0x1004)] public float PLAYER_DODGE_PERCENTAGE; [FieldOffset(0x1008)] public float PLAYER_PARRY_PERCENTAGE; [FieldOffset(0x100C)] public UInt32 PLAYER_EXPERTISE; [FieldOffset(0x1010)] public UInt32 PLAYER_OFFHAND_EXPERTISE; [FieldOffset(0x1014)] public float PLAYER_CRIT_PERCENTAGE; [FieldOffset(0x1018)] public float PLAYER_RANGED_CRIT_PERCENTAGE; [FieldOffset(0x101C)] public float PLAYER_OFFHAND_CRIT_PERCENTAGE; [FieldOffset(0x1020)] public fixed float PLAYER_SPELL_CRIT_PERCENTAGE1[7]; [FieldOffset(0x103C)] public UInt32 PLAYER_SHIELD_BLOCK; [FieldOffset(0x1040)] public float PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE; [FieldOffset(0x1044)] public fixed byte PLAYER_EXPLORED_ZONES_1[512]; [FieldOffset(0x1244)] public UInt32 PLAYER_REST_STATE_EXPERIENCE; [FieldOffset(0x1248)] public UInt32 PLAYER_FIELD_COINAGE; [FieldOffset(0x124C)] public fixed UInt32 PLAYER_FIELD_MOD_DAMAGE_DONE_POS[7]; [FieldOffset(0x1268)] public fixed UInt32 PLAYER_FIELD_MOD_DAMAGE_DONE_NEG[7]; [FieldOffset(0x1284)] public fixed UInt32 PLAYER_FIELD_MOD_DAMAGE_DONE_PCT[7]; [FieldOffset(0x12A0)] public UInt32 PLAYER_FIELD_MOD_HEALING_DONE_POS; [FieldOffset(0x12A4)] public float PLAYER_FIELD_MOD_HEALING_PCT; [FieldOffset(0x12A8)] public float PLAYER_FIELD_MOD_HEALING_DONE_PCT; [FieldOffset(0x12AC)] public UInt32 PLAYER_FIELD_MOD_TARGET_RESISTANCE; [FieldOffset(0x12B0)] public UInt32 PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE; [FieldOffset(0x12B4)] public fixed byte PLAYER_FIELD_BYTES[4]; [FieldOffset(0x12B8)] public UInt32 PLAYER_AMMO_ID; [FieldOffset(0x12BC)] public UInt32 PLAYER_SELF_RES_SPELL; [FieldOffset(0x12C0)] public UInt32 PLAYER_FIELD_PVP_MEDALS; [FieldOffset(0x12C4)] public fixed UInt32 PLAYER_FIELD_BUYBACK_PRICE_1[12]; [FieldOffset(0x12F4)] public fixed UInt32 PLAYER_FIELD_BUYBACK_TIMESTAMP_1[12]; [FieldOffset(0x1324)] public fixed byte PLAYER_FIELD_KILLS[4]; [FieldOffset(0x1328)] public UInt32 PLAYER_FIELD_TODAY_CONTRIBUTION; [FieldOffset(0x132C)] public UInt32 PLAYER_FIELD_YESTERDAY_CONTRIBUTION; [FieldOffset(0x1330)] public UInt32 PLAYER_FIELD_LIFETIME_HONORBALE_KILLS; [FieldOffset(0x1334)] public fixed byte PLAYER_FIELD_BYTES2[4]; [FieldOffset(0x1338)] public UInt32 PLAYER_FIELD_WATCHED_FACTION_INDEX; [FieldOffset(0x133C)] public fixed UInt32 PLAYER_FIELD_COMBAT_RATING_1[25]; [FieldOffset(0x13A0)] public fixed UInt32 PLAYER_FIELD_ARENA_TEAM_INFO_1_1[21]; [FieldOffset(0x13F4)] public UInt32 PLAYER_FIELD_HONOR_CURRENCY; [FieldOffset(0x13F8)] public UInt32 PLAYER_FIELD_ARENA_CURRENCY; [FieldOffset(0x13FC)] public UInt32 PLAYER_FIELD_MAX_LEVEL; [FieldOffset(0x1400)] public fixed UInt32 PLAYER_FIELD_DAILY_QUESTS_1[25]; [FieldOffset(0x1464)] public fixed float PLAYER_RUNE_REGEN_1[4]; [FieldOffset(0x1474)] public fixed UInt32 PLAYER_NO_REAGENT_COST_1[3]; [FieldOffset(0x1480)] public fixed UInt32 PLAYER_FIELD_GLYPH_SLOTS_1[6]; [FieldOffset(0x1498)] public fixed UInt32 PLAYER_FIELD_GLYPHS_1[6]; [FieldOffset(0x14B0)] public UInt32 PLAYER_GLYPHS_ENABLED; [FieldOffset(0x14B4)] public UInt32 PLAYER_FIELD_PADDING; }; // Descriptors: 0x00A68778 [StructLayout(LayoutKind.Explicit)] unsafe struct sGameObjectFields { [FieldOffset(0x0018)] public UInt64 OBJECT_FIELD_CREATED_BY; [FieldOffset(0x0020)] public UInt32 GAMEOBJECT_DISPLAYID; [FieldOffset(0x0024)] public UInt32 GAMEOBJECT_FLAGS; [FieldOffset(0x0028)] public fixed float GAMEOBJECT_PARENTROTATION[4]; [FieldOffset(0x0038)] public fixed byte GAMEOBJECT_DYNAMIC[4]; [FieldOffset(0x003C)] public UInt32 GAMEOBJECT_FACTION; [FieldOffset(0x0040)] public UInt32 GAMEOBJECT_LEVEL; [FieldOffset(0x0044)] public fixed byte GAMEOBJECT_BYTES_1[4]; }; // Descriptors: 0x00A68818 [StructLayout(LayoutKind.Explicit)] unsafe struct sDynamicObjectFields { [FieldOffset(0x0018)] public UInt64 DYNAMICOBJECT_CASTER; [FieldOffset(0x0020)] public fixed byte DYNAMICOBJECT_BYTES[4]; [FieldOffset(0x0024)] public UInt32 DYNAMICOBJECT_SPELLID; [FieldOffset(0x0028)] public float DYNAMICOBJECT_RADIUS; [FieldOffset(0x002C)] public UInt32 DYNAMICOBJECT_CASTTIME; }; // Descriptors: 0x00A68880 [StructLayout(LayoutKind.Explicit)] unsafe struct sCorpseFields { [FieldOffset(0x0018)] public UInt64 CORPSE_FIELD_OWNER; [FieldOffset(0x0020)] public UInt64 CORPSE_FIELD_PARTY; [FieldOffset(0x0028)] public UInt32 CORPSE_FIELD_DISPLAY_ID; [FieldOffset(0x002C)] public fixed UInt32 CORPSE_FIELD_ITEM[19]; [FieldOffset(0x0078)] public fixed byte CORPSE_FIELD_BYTES_1[4]; [FieldOffset(0x007C)] public fixed byte CORPSE_FIELD_BYTES_2[4]; [FieldOffset(0x0080)] public UInt32 CORPSE_FIELD_GUILD; [FieldOffset(0x0084)] public UInt32 CORPSE_FIELD_FLAGS; [FieldOffset(0x0088)] public UInt32 CORPSE_FIELD_DYNAMIC_FLAGS; [FieldOffset(0x008C)] public UInt32 CORPSE_FIELD_PAD; };
Last edited by Scorpiona; 12-14-2009 at 11:39 AM.
That can't be right O,o You're using the descriptor indices as field offsets?
Also, unsafe/fixed/explicit ieuw!
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
"I cried a little earlier when I had to poop" - Sku
New patch!
Just got a few of my own stash of offsets left to v-fy:
Code:public enum Luas { Lua_FullState = 0x00D5EBDC, // 3.3.0a (RE: lua_DoString[6th static] //Lua_DoString = 0x007F1F40, // 3.3.0a (RE: lua_RunScript[3rd call] Lua_GetTop = 0x00826680, // 3.3.0a (RE: lua_GetSpellLink[2nd call] Lua_ToString = 0x00826B90, // 3.3.0a (RE: lua_EnableAllAddOns[1st call] Lua_PushString = 0x00826E00, // 3.3.0a (RE: lua_GetServerName[2nd call] Lua_Type = 0x00826960, // 3.3.0a (RE: lua_PINEntered[1st call] Lua_SetTop = 0x008266A0, // 3.3.0a (RE: lua_EnumerateFrames[4th call] Lua_LoadWrapper = 0x00828310, // 3.3.0a (RE: lua_DoString[3rd call] Lua_PCall = 0x00827700, // 3.3.0a (RE: call right after Lua_LoadWrapper in lua_DoString, above) Lua_ToBoolean = 0x00826B60, // 3.3.0a (RE: lua_SetOptOutOfLoot[1st call]) } public enum GlobalOffsets { EnumVisibleObjects = 0x0047B630, // 3.3.0a (RE: lua_SetUIVisibility[3rd call]) ClntObjMgrGetActivePlayer = 0x0047A2B0, // 3.3.0a (RE: lua_SendAddonMessage[1st call]) GetObjectByGuid = 0x0047B8B0, // 3.3.0a -- aka ClntObjMgrObjectPtr (RE: lua_SendAddonMessage[2nd call]) LastTargetGuid = 0x00B68588, // 3.3.0a (RE: SelectTarget[3rd static]) FocusGuid = 0x00B685A0, // 3.3.0a (RE: lua_FocusUnit[3rd call]->(unnamed FN)[1st static]) MouseOverGuid = 0x00B68570, // 3.3.0a (RE: lua_InteractUnit, right after push string "mouseover" && call) SelectTarget = 0x004CA150, // 3.3.0a (RE: last call in lua_TargetLastEnemy) UnitGetThreat = 0x006CA410, // 3.3.0a (reverse from lua_UnitThreatSituation, look for 3 push 0's) UnitGetAura = 0x0056CB10, // 3.3.0a (reverse from lua_UnitDebuff, 3rd call, then 10th call (2nd call after first mov e*x, offset off_xxxxxx)) CGWorldFrame__Intersect = 0x0077D1A0, // 3.3.0a (RE: search for sequence of bytes: A9 FF 00 F3 40 (test eax, 40F300FFh), look for xref to containing function that is a jmp (short stub fn)) CInputControl = 0x00C3D11C, // 3.3.0a (first static in lua_IsMouseLooking) CInputControl__SetFlags = 0x005923D0, // 3.3.0a (RE: first call from lua_MouseLookStop->(unnamed fn), second xref to this fn (probably above lua_AscendStop) UnitSetAsMouseover = 0x006D6F90, // 3.3.0a (RE: look for where MouseoverGuid is *set*, then look for the second call after that set, following GetObjectByGuid) SetFacing = 0x0096E010, // 3.3.0a (RE: TBD) GetTimestamp = 0x008438B0, // 3.3.0a (RE: first call from lua_GetCorpseRecoveryDelay) GetObjectGuidByKeyword = 0x005A1120, // 3.3.0a (RE: second call in lua_FocusUnit, after lua_ToString) DBItemCache_GetInfoBlockByID = 0x006118F0, // 3.3.0a (RE: second call in lua_GetMacroItem) DBItemCache = 0x00C75F08, // 3.3.0a (RE: look for load ecx before call to GetInfoBlockByID :) //CGSpell__CreateSpellLink = 0x005B45F0, // 3.3.0a (RE: look for the spell link string (aSHspellDHSHS) DBSpellCache = 0x00A751FC, // 3.3.0a (RE: move ecx, [static] right before GetInfoBlockByID in CreateSpellLink above) ClientDb_GetLocalizedRow = 0x00476820, // 3.3.0a (RE: second call in CGSpell__CreateSpellLink) } public enum ObjectOffsets { DescriptorsOffset = 0x8, // 3.2.2a (RE: TBD) -- almost never changes ObjectTypeOffset = 0x14, // 3.2.2a (RE: TBD) MovementInfoOffset = 0xd8, // 3.2.2a (RE: TBD) AuraSpellID = 0x8, // 3.3.0 (RE: TBD) CastIDOffset = 0xa60, // 3.3.0 (RE: TBD) ChannelIDOffset = 0xa80, // 3.3.0 (RE: TBD) DBSpellCache_BlockSize = 0x2c0, // 3.3.0a (RE: see ClientDb_GetLocalizedRow, the only call, 2nd param) } public enum MagicValues : uint { TraceLineMagic = 0x100171, // 3.2.2a (RE: TBD) } public enum VFTableIndex : int { GetFacing = 12, // 3.3.0a (RE: lua_GetPlayerFacing, look for vf offset after GetObjectyByGuid) GetPosition = 11, // 3.3.0a (RE: lua_GetPlayerMapPosition, look for 3rd call from end before two lua_PushNumbers->call register right after GetObjectByGuid) InteractUnit = 42, // 3.3.0a (RE: lua_InteractUnit, look for call before PushNumber, PushNil->look for call register right after SelectTarget) GetName = 52 // 3.3.0a (RE: TBD) }
Don't believe everything you think.
3.3.0a - no static variable changes, except CorpsePoint.
[edit] as luciferc says, mostly only functions changed.
LastHardwareEventTicks: AE1B7C
CurMgrPointer: C923C0
CurMgrOffset: 2E04
VendorWindowGUID: B68578
ZoneID: B685DC
LootFrame: B7E2B0
CorpsePoint: B68810
CurrentTargetGUID: B68580
InboxMessagesCount: B6EBB8
AuctionListPageArray_Pointer: C27CD4
SelectedAuctionGUID: A6FDD4
AuctionListAllPagesLength: C27C98
AuctionListPageArrayLength: C27CD0
ItemCache: C75F08
MyGUID: CB97E8
ClickToMoveGoType: CB97A4
ClickToMoveTightness: CB9794
ClickToMoveGUID: CB97A8
ClickToMoveX: CB9814
CreatureObjectNamePointer1: 964
CreatureObjectNamePointer2: 5C
InterfaceOptionsMouse_Pointer: B686C4
InterfaceOptionsMouse_ClickToMove_Offset: 30
ClickToMoveUnk1: CB978C
fnFrameScript_Execute: 7F1F40
fnGetWoWTickCount: 8438B0
fnCache_GetInfoBlockById: 6118F0
Last edited by vulcanaoc; 12-14-2009 at 03:46 PM.
...aaaaand found it.
CGPlayer_C__ClickToMove: 0x006ba610
Should be mostly Functions changed so most statics should be okay
Lua_DoString = 0x007F1F40 // 3.3.0a
Spell_C__CastSpell = 0x007E6700 // 3.3.0a
Lua_GetLocalizedText = 0x006BD420 // 3.3.0a
CGUnit_Aura = 0x0056CB10 // 3.3.0a
GetTimestamp = 0x008438B0 // 3.3.0a
LastHardwareAction = 0xAE1B7C // 3.3.0a
CGPlayer_C__ClickToMove = 0x006BA610 // 3.3.0a
I need to update some of my patterns:
Code:[18:10:54]: Logging started at 2009-12-14 [18:10:54]: CFindPattern initialized: dwStart( 401000 ) dwLen( 5C2FFE ) [18:10:54]: UNKNOWN -> RenderScreen [18:10:54]: 0x00845275 -> GlueXML_AdditionalScan [18:10:54]: 0x00700570 -> UpdateGameTime2 [18:10:54]: 0x00B6852C -> CursorItemInfo [18:10:54]: UNKNOWN -> EquipCursorItem [18:10:54]: 0x00844D90 -> AdditionalCheck2 [18:10:54]: 0x007F0AE0 -> GetLuaState [18:10:54]: 0x00404680 -> AdditionalCheck1 [18:10:54]: 0x00C3E4C4 -> RepairMode [18:10:54]: 0x0057EE70 -> RepairItem [18:10:54]: 0x0047F3C0 -> DefaultServerLogin [18:10:54]: 0x006E0BF0 -> BroadcastCombatLogEvent [18:10:54]: 0x0077D1A0 -> TraceLine [18:10:54]: 0x0084AE70 -> LoadWardenModule [18:10:54]: 0x004C8240 -> CloseLoot [18:10:54]: 0x005C81B0 -> GetNetStats [18:10:54]: 0x00C923D4 -> NetClass [18:10:54]: 0x0047E1E0 -> CreateCurMgr [18:10:54]: 0x00C3BD70 -> ContainerGUIDBase [18:10:54]: 0x00667050 -> SellItem [18:10:54]: UNKNOWN -> GetSpellManaCostByID [18:10:54]: 0x004D9580 -> IsValidSpell [18:10:54]: 0x0051FE80 -> LootSlot [18:10:54]: 0x0051EED0 -> GetNumLootItems [18:10:54]: 0x004CA150 -> SelectUnit [18:10:54]: 0x00B68550 -> RealZoneText [18:10:54]: 0x00C3D11C -> CInputControl [18:10:54]: 0x005923D0 -> CInputControl::SetFlags [18:10:54]: UNKNOWN -> ModelEdit [18:10:54]: UNKNOWN -> NameplatePatch [18:10:54]: UNKNOWN -> CanAttack [18:10:54]: 0x006B86A0 -> GetUnitRelation [18:10:54]: 0x00700660 -> UpdateGameTime [18:10:54]: 0x007007BA -> TimeSetPatch [18:10:54]: 0x006FF2C7 -> TimeSetPatch2 [18:10:54]: 0x0096E010 -> SetFacing [18:10:54]: 0x006B29A0 -> GetUnitType [18:10:54]: 0x004810A2 -> GlueXML_SignaturePatch [18:10:54]: 0x004D00EB -> FrameXML_SignaturePatch [18:10:54]: 0x004D9130 -> GetSpellIdByName [18:10:54]: 0x0047B8B0 -> GetObjectByGUID [18:10:54]: 0x005A1120 -> GetGUIDByKeyword [18:10:54]: UNKNOWN -> TranslatePatch [18:10:54]: 0x0058B37F -> GlueXML_RenamePatch [18:10:54]: 0x0069D420 -> GetItemIDByName [18:10:54]: 0x0069C260 -> UseItem [18:10:54]: 0x0064E8D0 -> Checksum [18:10:54]: 0x00826F80 -> GetSpellCooldown [18:10:54]: 0x00C75D70 -> Base_DBCache [18:10:54]: 0x006118F0 -> DBCache::GetInfoBlockByID [18:10:54]: 0x007E1D50 -> GetItemCooldown [18:10:54]: 0x007F39E0 -> BroadcastEvent [18:10:54]: 0x00A1454F -> MountainClimbPatch [18:10:54]: 0x00670BE0 -> ObjectTracking [18:10:54]: 0x00670B50 -> UnitTracking [18:10:54]: UNKNOWN -> CastSpellById [18:10:54]: 0x00D573F0 -> TimePtr [18:10:54]: 0x00D5EC24 -> EventBase [18:10:54]: UNKNOWN -> Repop [18:10:54]: 0x005C8E00 -> RegisterBase_ClientDB [18:10:54]: 0x0043E8ED -> GetRow_ClientDB [18:10:54]: 0x004B3057 -> Language_Restriction [18:10:54]: UNKNOWN -> BuyItem [18:10:54]: 0x00B7CB00 -> MerchantItemBase [18:10:54]: 0x00B69700 -> InteractMerchantInfo [18:10:54]: 0x00585FDA -> AFK jump [18:10:54]: 0x008417D0 -> InputEvent [18:10:54]: 0x0049B700 -> GetCamera [18:10:54]: CFindPattern initialized: dwStart( 401000 ) dwLen( 5C2FFE ) [18:10:54]: 0x007F1F40 -> Lua_Dostring [18:10:54]: 0x007F0CC0 -> Lua_Register [18:10:54]: 0x00401B00 -> Lua_Reload [18:10:54]: 0x00826680 -> lua_gettop [18:10:55]: 0x00826AE0 -> lua_tonumber [18:10:55]: 0x00826B20 -> lua_tointeger [18:10:55]: 0x00826B90 -> lua_tostring [18:10:55]: 0x00826CC0 -> lua_touserdata [18:10:55]: 0x00826B60 -> lua_toboolean [18:10:55]: 0x00826D50 -> lua_pushnumber [18:10:55]: 0x00826D80 -> lua_pushinteger [18:10:55]: 0x00826DB0 -> lua_pushstring [18:10:55]: 0x00826F80 -> lua_pushboolean [18:10:55]: 0x00826EB0 -> lua_pushcclosure [18:10:55]: 0x00826D30 -> lua_pushnil [18:10:55]: 0x008273B0 -> lua_setfield [18:10:55]: 0x00827E60 -> lua_getfield [18:10:55]: 0x00826820 -> lua_replace