Changing LazyBot offsets menu

User Tag List

Page 2 of 2 FirstFirst 12
Results 16 to 28 of 28
  1. #16
    brotalnia's Avatar Elite User
    Reputation
    508
    Join Date
    Apr 2009
    Posts
    477
    Thanks G/R
    26/310
    Trade Feedback
    0 (0%)
    Mentioned
    14 Post(s)
    Tagged
    3 Thread(s)
    Originally Posted by Sandstrom View Post
    I suppose it also needs to print the actual log to somewhere and how do I make it interact with wow?
    When you run a project inside Visual Studio there is a debug window that you can print stuff to. When you use Debug.WriteLine it will appear there.

    Changing LazyBot offsets
  2. #17
    Sandstrom's Avatar Member
    Reputation
    2
    Join Date
    Nov 2015
    Posts
    21
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by brotalnia View Post
    When you run a project inside Visual Studio there is a debug window that you can print stuff to. When you use Debug.WriteLine it will appear there.
    It doesn't print any info about the offsets though..

    I'm still looking for help on this

    I've found a way to test offsets in another program and they seem right. The problem seems to lie elsewhere.
    Last edited by Sandstrom; 11-12-2015 at 11:21 PM.

  3. #18
    charles420's Avatar Elite User
    Reputation
    335
    Join Date
    Jun 2009
    Posts
    337
    Thanks G/R
    25/123
    Trade Feedback
    0 (0%)
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    I'd have to say open Ida and check offsets

  4. #19
    Sandstrom's Avatar Member
    Reputation
    2
    Join Date
    Nov 2015
    Posts
    21
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by charles420 View Post
    I'd have to say open Ida and check offsets
    I'm sure that the offsets are correct. They are the same as in another bot (which works) for 3.3.5. So It doesn't make any sense to me...

  5. #20
    WiNiFiX's Avatar Banned
    Reputation
    242
    Join Date
    Jun 2008
    Posts
    447
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    @lolp had a good suggestion to start on smaller bot projects, I wrote a basic fishbot for 1.12.1 (which can easily be updated to 3.3.5a by editing the offsets).
    Source: https://github.com/winifix/Fishbot-1.12.1 (Note that some of the source does say 3.3.5a - ignore this, i only noticed it after updating github, all of the code is only for 1.12.1)
    This bot will also help you understand offsets a little more and how to update them.

  6. #21
    Serializer's Avatar Member
    Reputation
    9
    Join Date
    Jan 2010
    Posts
    22
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ive adapted the 4.? version to run with 3.3.5a. Grinds and gathers without any major issues.
    Im currently trying to wrap my head around some kinks with ground mount gathering routines.

    Here is the offsets im using, there are a bunch of tweaks in the actual code to make some functions work.

    Some, if not most offsets are gathered from these forums. Thanks to everyone for those
    Code:
    /*
    This file is part of LazyBot - Copyright (C) 2011 Arutha
    
        LazyBot is free software: you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation, either version 3 of the License, or
        (at your option) any later version.
    
        LazyBot is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.
    
        You should have received a copy of the GNU General Public License
        along with LazyBot.  If not, see <http://www.gnu.org/licenses/>.
    */
    #region
    
    using System.Reflection;
    
    #endregion
    
    namespace LazyLib.Wow
    {
        [Obfuscation(Feature = "renaming", ApplyToMembers = true)]
        public class PublicPointers
        {
            #region Globals enum
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            public enum Globals
            {
                PlayerName = 0x879D18,
            };
    
            #endregion
    
            #region InGame enum
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            public enum InGame
            {
                InGame = 0x7D0792,
            }
    
            #endregion
        };
    
        internal class Pointers
        {
            #region ActionBar enum
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            public enum ActionBar
            {
                ActionBarFirstSlot = 0x81E358,
                ActionBarBonus = 0xB44324,
            };
    
            #endregion
    
            #region AutoLoot enum
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            public enum AutoLoot
            {
                Pointer = 0x7D0914,
                Offset = 0x30,
            };
    
            #endregion
    
            #region CgUnitCGetCreatureRank enum
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            public enum CgUnitCGetCreatureRank
            {
                GetCreatureRank = 0x718A00,     // 3.3.5a 12340
                Offset1 = 0x964,
                Offset2 = 0x18,
            };
    
            #endregion
    
            #region CgUnitCGetCreatureType enum
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            public enum CgUnitCGetCreatureType
            {
                GetCreatureType = 0x71F300,     // 3.3.5a 12340
                Offset1 = 0x964,
                Offset2 = 0x10,
            };
    
            #endregion
    
            #region CgWorldFrameGetActiveCamera enum
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            public enum CgWorldFrameGetActiveCamera
            {
                // CGWorldFrame__GetActiveCamera = 0x4F5960,
                CameraPointer = 0x77436C,
                CameraOffset = 0x7E20,
                CameraX = 0x8,
                CameraY = 0xC,
                CameraZ = 0x10,
                CameraMatrix = 0x14,
            };
    
            #endregion
    
            /// <summary>
            ///   4.3
            /// </summary>
            public enum Quests
            {
                ActiveQuests = 0x274,
                SelectedQuestId = 0xB436F0,
                TitleText = 0xB434D0,
                GossipQuests = 0xB70F08,
                GossipQuestNext = 0x214,
            };
    
            #region ClickToMove enum
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            public enum ClickToMove
            {
                Pointer = 0x7D08F4,
                Offset = 0x30,
            };
    
            #endregion        
    
            #region Nested type: AutoAttack
    
            /// <summary>
            ///   4.3
            /// </summary>
            internal enum AutoAttack
            {
                AutoAttackFlag = 0x9E8,
                AutoAttackMask = 0x9EC,
            };
    
            #endregion
    
            #region Nested type: CastingInfo
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum CastingInfo
            {
                IsCasting = 0xA6C,
                ChanneledCasting = 0xA80,
            };
    
            #endregion
    
            #region Nested type: Chat
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum Chat : uint
            {
                ChatStart = 0x775A60 + 0x3C,
                OffsetToNextMsg = 0x17C0,
            };
    
            #endregion
    
            #region BlueChat
            /// <summary>
            ///   4.2  - Not updated
            /// </summary>
            internal enum Messages
            {
                EventMessage = 0xA98068
            };
    
            #endregion
    
            #region Nested type: ComboPoints
    
            /// <summary>
            ///   4.3
            /// </summary>
            internal enum ComboPoints
            {
                ComboPoints = 0xAD7361, // 
            };
    
            #endregion
    
            #region Nested type: Container
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum Container
            {
                EquippedBagGUID = 0x8DBF40, // 3.3.5a  823540
            };
    
            #endregion
    
            #region Nested type: Globals
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum Globals
            {
                RedMessage = 0x7CFB90,    // 3.3.5a
                MouseOverGUID = 0x7D07A0, // 3.3.5a
                LootWindow = 0x7FA8D8, // 3.3.5a
                IsBobbing = 0xBC,         // 3.3.5a
                ArchFacing = 0x1c8, 	
                ChatboxIsOpen = 0xAC6C58,
                CursorType = 0x93D0E0,
            };
    
            #endregion
    
            #region Nested type: Items
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum Items : uint
            {
                Offset = 0x708C20,
            };
    
            #endregion
    
            #region Nested type: KeyBinding
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum KeyBinding
            {
                NumKeyBindings = 0x7EADD8,
                First = 0xb8,
                Next = 0xb0,
                Key = 0x14,
                Command = 0x28,
            };
    
            #endregion
    
            #region Nested type: ObjectManager
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum ObjectManager
            {
                CurMgrPointer = 0x879CE0,                 // 3.3.5a
                CurMgrOffset = 0x2ED0,                      // 3.3.5a
                NextObject = 0x3C,                          // 3.3.5a
                FirstObject = 0xAC,                         // 3.3.5a
                LocalGUID = 0xc0,                            // 3.3.5a
            };
    
            #endregion
    
            #region Nested type: Reaction
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum Reaction : uint
            {
                FactionStartIndex = 0x6D3894 - 0x638, //3.3.5a
                FactionPointer = FactionStartIndex + 0x8, //3.3.5a
                FactionTotal = FactionStartIndex - 0x4, //3.3.5a
                HostileOffset1 = 0x14,
                HostileOffset2 = 0xc,
                FriendlyOffset1 = 0x10,
                FriendlyOffset2 = 0xc,
            };
    
            #endregion
    
            #region Nested type: Runes
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum Runes
            {
                RunesOffset = 0x824388, //0xC24304
                RuneState = 0x824388,
                RuneType = 0x824304,
                RuneCooldown = 0x824364
    
    
            };
    
            #endregion
    
            #region Nested type: ShapeshiftForm
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum ShapeshiftForm
            {
                // CGUnit_C__GetShapeshiftFormId = 0x0071AF70, // 3.3.5a 12340
                BaseAddressOffset1 = 0xD0,
                BaseAddressOffset2 = 0x1D3,
            };
    
            #endregion
    
            #region Nested type: SpellCooldown
    
            /// <summary>
            ///   4.3
            /// </summary>
            internal enum SpellCooldown : uint
            {
                CooldPown = 0xACD584,
            };
    
            #endregion
    
            #region Nested type: Swimming
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum Swimming
            {
                Pointer = 0x100, // not used in 3.3.5a
                Offset = 0xA30, //3.3.5a
                Mask = 0x200000, // 3.3.5a
            };
    
            #endregion
    
            #region IsFlying enum
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            public enum IsFlying
            {
                // Reversed from Lua_IsFlying
                Pointer = 0x100, // not used in 3.3.5a
                Offset1 = 0xd8, // 3.3.5a
                Offset2 = 0x44, // 3.3.5a
                Mask = 0x2000000, 
    
            };
    
            #endregion
    
            #region Nested type: UnitAuras
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum UnitAuras : uint
            {
                // CGUnit_Aura = 0x00556E10,
                AuraCount1 = 0xDD0, // 3.3.5a
                AuraCount2 = 0xC54, // 3.3.5a
                AuraTable1 = 0xC50, // 3.3.5a
                AuraTable2 = 0xC58, // 3.3.5a
                AuraSize = 0x18,    // 3.3.5a
                AuraSpellId = 0x8,  // 3.3.5a
                AuraStack = 0xF, // needs testing
                TimeLeft = 0x14, // needs testing
            };
    
            #endregion
    
            #region Nested type: UnitName
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum UnitName : uint
            {
                ObjectName1 = 0x1A4,
                ObjectName2 = 0x90,
                UnitName1 = 0x964,
                UnitName2 = 0x5c,
                PlayerNameCachePointer = 0x85D938 + 0x8,
                PlayerNameMaskOffset = 0x24,
                PlayerNameBaseOffset = 0x1c,
                PlayerNameStringOffset = 0x20,
            };
    
            #endregion
    
            #region Nested type: UnitSpeed
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum UnitSpeed
            {
                Pointer = 0x6F14A8, // not sure about this one but it gets the job done.
                Pointer1 = 0x814,
                Pointer2 = 0x8,
            };
    
            #endregion
    
            #region Nested type: WowObject
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum WowObject
            {
                X = 0x798,
                Y = X + 0x4,
                Z = X + 0x8,
                RotationOffset = X + 0x10,
                GameObjectX = 0xE8,
                GameObjectY = GameObjectX + 0x4,
                GameObjectZ = GameObjectX + 0x8,
            };
    
            #endregion
    
            #region Nested type: Zone
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum Zone : uint
            {
                ZoneText = 0x7D0788,
                ZoneID = 0x7D080C,
            };
    
            #endregion
    
    
            #region Nested type: UiFrame
    
            /// <summary>
            ///   3.3.5a
            /// </summary>
            internal enum UiFrame
            {            
                CurrentFramePtr = 0x7499A8, // 3.3.5a   
                CurrentFrameOffset = 0x78, // 3.3.5a
                FrameBase = 0x7499A8, // 3.3.5a 
                FirstFrame = 0xCD4, // 3.3.5a
                NextFrame = 0xCCC, // 3.3.5a
                ScrHeight = 0x6C0CB8, // 3.3.5a
                ScrWidth = 0x6C0CB4,  // 3.3.5a
                FrameLeft = 0x68, // 3.3.5a
                FrameRight = 0x70, // 3.3.5a
                FrameBottom = 0x64, // 3.3.5a            
                FrameTop = 0x6C, // 3.3.5a
                ParentPtr = 0x94,           // 3.3.5a
                EffectiveScale = 0x7C,      // 3.3.5a
                Name = 0x1C, // 3.3.5a
                Visible = 0xDC, // 3.3.5a DC
                RegionsFirst = 0x214, // 3.3.5a
                RegionsNext = 0x20C, // 3.3.5a 
                LabelText = 0xF4, // 3.3.5a            
                Visible1 = 0x16, //  3.3.5a
                Visible2 = 1, //  3.3.5a 
                ButtonEnabledPointer = 0xB4, // 3.3.5a
                ButtonEnabledMask = 0x400, // 3.3.5a
                ButtonChecked = 0x2F5, // 3.3.5a
                EditBoxText = 0x2B4, // 3.3.5a
            };
    
            #endregion
        }
    }
    Last edited by Serializer; 11-21-2015 at 09:56 AM. Reason: Some oopsies corrected

  7. #22
    Sandstrom's Avatar Member
    Reputation
    2
    Join Date
    Nov 2015
    Posts
    21
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Serializer View Post
    Ive adapted the 4.? version to run with 3.3.5a. Grinds and gathers without any major issues.
    Im currently trying to wrap my head around some kinks with ground mount gathering routines.

    Here is the offsets im using, there are a bunch of tweaks in the actual code to make some functions work.

    Some, if not most offsets are gathered from these forums. Thanks to everyone for those
    Hey!
    That's a very good job updating all of those offsets. Which source did you use to compile? I'm getting an error when trying to compile.

    Error 5 'LazyLib.Wow.Pointers.IsFlying' does not contain a definition for 'Offset' C:\LazyLib\Manager\Wow\PUnit.cs 711 74 LazyLib "
    I just pasted your pointers.cs into mine and replaced everything in there.
    Last edited by Sandstrom; 11-13-2015 at 08:26 PM.

  8. #23
    Sandstrom's Avatar Member
    Reputation
    2
    Join Date
    Nov 2015
    Posts
    21
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by WiNiFiX View Post
    @lolp had a good suggestion to start on smaller bot projects, I wrote a basic fishbot for 1.12.1 (which can easily be updated to 3.3.5a by editing the offsets).
    Source: https://github.com/winifix/Fishbot-1.12.1 (Note that some of the source does say 3.3.5a - ignore this, i only noticed it after updating github, all of the code is only for 1.12.1)
    This bot will also help you understand offsets a little more and how to update them.
    Thank you for linking me. It's for sure interesting to look over other open source bots and learn from them.

  9. #24
    Corthezz's Avatar Elite User Authenticator enabled
    Reputation
    386
    Join Date
    Nov 2011
    Posts
    325
    Thanks G/R
    191/98
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    To be honest you dont "learn" anything at all the way you work. You think about memory editing without being comfortable with the very basics like hex format:
    0x00B6A9E0 compared to 0xB6A9E0 where the first two 00 are removed and the rest remains. Are they the same offsets?
    To be honest I dont understand the rude reaction towards Know-it-all posts when he just trys to explain you how it really is. Programming in SQL, PHP, HTML or any other web development language gives no big benefits here since those have no elements where you have to manage raw memory.

    I dont know if you are just interested in having a 3.3.5a bot or if you want to learn something but I would definetly do it different.
    Just pasting offsets into the source and hoping it will work is not the best idea.

    My suggestion:
    1. Debug the source step by step and locate the first method where it has an interaction with the WoW client that fails.
    2. Extract the code into a single test project together with all other fields it needs (pointers etc.)
    3. Run your test project. Add some debug output here and there
    4. It was a logic error inside the code? Great! You solved it!
    5. The pointers are wrong? Open up CE and check them manually. You could obtain the value you neded? Great! Even tho two pointers might give information about the same thing (like IsIngame) they can be utilised different: First pointer refers to a byte with value 0 or 1 depending if ingame or not. The other one is a pointer combined with an offset and referring to an int value either being 0 or 1.
    6. Got it working finally? Maybe do some more research: Boot up IDA and OllyDBG. Find cross references to your final address. Maybe you can extract more useful information!
    7. Rinse and repeat til you have a working bot.
    Check my blog: https://zzuks.blogspot.com

  10. Thanks culino2 (1 members gave Thanks to Corthezz for this useful post)
  11. #25
    Sandstrom's Avatar Member
    Reputation
    2
    Join Date
    Nov 2015
    Posts
    21
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks for the "guide" Corthezz. I've decided to start with some more simple things such as a simple autoit bot. In the future it might read wow memory.

  12. #26
    princer007's Avatar Member
    Reputation
    1
    Join Date
    Mar 2015
    Posts
    2
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Sandstrom View Post
    Thanks for the "guide" Corthezz. I've decided to start with some more simple things such as a simple autoit bot. In the future it might read wow memory.
    Soz for necroposting, but i couldn't fine LazyBot source code, assenmbla gives my empty page, can anyone share it? I'd be glad if you add me on skype: arcane.maniac

  13. #27
    dvamaster's Avatar Member
    Reputation
    1
    Join Date
    Jun 2012
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by princer007 View Post
    Soz for necroposting, but i couldn't fine LazyBot source code, assenmbla gives my empty page, can anyone share it? I'd be glad if you add me on skype: arcane.maniac
    I used dnSpy, after corrections in the receipt code and it works fine.

  14. #28
    charles420's Avatar Elite User
    Reputation
    335
    Join Date
    Jun 2009
    Posts
    337
    Thanks G/R
    25/123
    Trade Feedback
    0 (0%)
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

Page 2 of 2 FirstFirst 12

Similar Threads

  1. Replies: 3
    Last Post: 02-27-2018, 09:36 PM
  2. Did they change the offsets order of XYZ in ClickToMove ?
    By natt_ in forum WoW Memory Editing
    Replies: 2
    Last Post: 10-12-2015, 10:53 AM
  3. Making an exe wich changes offsets?
    By yubiyoy2 in forum WoW Bots Questions & Requests
    Replies: 6
    Last Post: 02-16-2012, 05:08 PM
  4. Offsets changing at cataclysm release?
    By Alisamix in forum WoW Memory Editing
    Replies: 3
    Last Post: 11-16-2010, 10:36 PM
  5. 3.2.2 Unit Faction offset changed?
    By Reconsider in forum WoW Memory Editing
    Replies: 2
    Last Post: 10-06-2009, 09:43 AM
All times are GMT -5. The time now is 01:55 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search