GUID...Need some help. menu

Shout-Out

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 27
  1. #1
    Pixion's Avatar Member
    Reputation
    59
    Join Date
    Jan 2008
    Posts
    289
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    GUID...Need some help.

    Hello everybody.

    I searched for long time, and maybe i didn't understand, but please, i need some help to understand some things...

    I started to learn what is Memory Reading this week, but i'm french and i couldn't find guids to help me.

    I saw you're, near all, using VB or C language.
    I'm personnaly using AutoIt and for the moment, my BOT can Save Waypoint list, load it, walk trough the waypoints and it can try to unstuck the character.

    So, for the moment, i only used these three-level pointer:
    EI = 0x127E014
    X = [[[[0x127E014] + 0x30] + 0x28] + 0x7D0]
    Y = [[[[0x127E014] + 0x30] + 0x28] + 0x7D4]
    Z = [[[[0x127E014] + 0x30] + 0x28] + 0x7D8]
    Rotation = [[[[0x127E014] + 0x30] + 0x28] + 0x7DC]

    First, i found others adresses on a forum, wich is, for X, 0x012E1B7C.
    Is it different ? Wich should i use ?

    Ok, now, i want my bot to "spam" TAB key to find mobs, and i want it to retrieve the X Y Z position of the mob.
    I found here [3.0.3] Offsets, Addresses, Etc, again, a Target GUID adress.
    But here is the problem: i can't understand WHAT TO DO with that long number.
    I saw and mmowned forums that i have to compare it to my GUID or something else, but i don't understand.

    So please, can someone tell me a bit more about this "GUID" ?

    Thanks for your help, and gratz for your help topics, but i don't understand ALL..

    And sorry for my bad english.

    Pixion.

    GUID...Need some help.
  2. #2
    arigity's Avatar Banned
    Reputation
    49
    Join Date
    Dec 2007
    Posts
    548
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    a GUID is a unique ID for a specific unit. and what their are probably talking about in that link is using the object manager to find the base address of the object by its GUID.

    the concept is simple, all objects are stored in a linked list, you loop through the list checking the current objects GUID with another GUID (such as your targets) til they match and then get more detailed information from them.

    i don't have any example of this but there are plenty on this forum which you can directly copy/paste

  3. #3
    Pixion's Avatar Member
    Reputation
    59
    Join Date
    Jan 2008
    Posts
    289
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ok, if i understood, a GUID is an ID, like an ID in a, for example, MySQL Database.
    And, for this GUID, there are specifics "columns" like ID (our GUID),X, Y, Z, Name, Faction, Health Max, Current Health... Is it right ?

    I prefere a confirmation, because if it's really not that, i will go in the wrong way.

    EDIT: Gave you +Rep because i can see you're name in many questions topics. Thanks for your help.
    Last edited by Pixion; 01-08-2009 at 03:46 PM.

  4. #4
    RawrSnarl's Avatar Member
    Reputation
    14
    Join Date
    May 2008
    Posts
    65
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Right. A GUID is basically the numerical, unique name for an object. But don't confuse the GUID for the object's base address, which is the actual address you'll be using to obtain the "column" data you specified.

  5. #5
    Pixion's Avatar Member
    Reputation
    59
    Join Date
    Jan 2008
    Posts
    289
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ok, and could you answer my first question please ?
    What is the difference between the different adress i found for XYZ ?

  6. #6
    arigity's Avatar Banned
    Reputation
    49
    Join Date
    Dec 2007
    Posts
    548
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    the difference between the static address and the dynamic one is that the static one is just used for reference, modifying it won't affect you. its good if you want to get your coords but not so useful if you want to modify them or get someone elses.

  7. #7
    Pixion's Avatar Member
    Reputation
    59
    Join Date
    Jan 2008
    Posts
    289
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Oh ok, understood.
    These adress, static and dynamic, change with patches ?

  8. #8
    arigity's Avatar Banned
    Reputation
    49
    Join Date
    Dec 2007
    Posts
    548
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    yeap they differ from patch to patch. but the offsets won't change (usually)

  9. #9
    Pixion's Avatar Member
    Reputation
    59
    Join Date
    Jan 2008
    Posts
    289
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ok, i won't keep attention on how to find theùm next time for the moment i think...

    So, for every GUID, i suppose there is an adress.
    And we can find X, Y, Z, doing so:

    TARGET GUID = 0xXXXXXX
    X TARGET = 0xXXXXXX + 0x4
    Y TARGET = 0xXXXXXX + 0x8
    Z TARGET = 0xXXXXXX + 0xC

    Is it right again ?

  10. #10
    Sillyboy72's Avatar Member
    Reputation
    13
    Join Date
    Jan 2009
    Posts
    66
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    First, let me say... I freakin HATE that we use the term guid. guid's are freakin' 16 bytes GLOBALLY unique id's. guids here... 8 bytes. grr.

    Anyway, given a GUID, you need to iterate over the object list to find the actual object associate with that guid. my code for that:

    Code:
    DWORD ObjectAddressFromGuid(LONGLONG Guid)
    {
    	DWORD First = ReadDword(Mgr + 0xAC);
    	DWORD Current = First;
    
    	while ( Current && (Current & 1) == 0 )
    	{
    		LONGLONG ObjGuid = ReadLongLong(Current + 0x30);
    
    		if (ObjGuid == Guid)
    			return Current;
    
    		Current = ReadDword(Current + 0x3C);
    		
    		if ( Current == First )
    			break;
    	}
    
    	return 0;
    }
    Not super sure where x,y,z are relative to start of object. I have this in my n00b code, but I am skeptical
    Code:
    		float x = ReadFloat(Current + 0x7d0);
    		float y = ReadFloat(Current + 0x7d4);
    		float z = ReadFloat(Current + 0x7d8);

  11. #11
    argh44z's Avatar Member
    Reputation
    19
    Join Date
    Nov 2007
    Posts
    93
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Sillyboy72 View Post

    First, let me say... I freakin HATE that we use the term guid. guid's are freakin' 16 bytes GLOBALLY unique id's. guids here... 8 bytes. grr.
    It is what Blizzard calls them.

    Anyways, not all types of GUID are necessarily of the UUID format/size/etc. That's what you're referring to.

  12. #12
    Pixion's Avatar Member
    Reputation
    59
    Join Date
    Jan 2008
    Posts
    289
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    DWORD ObjectAddressFromGuid(LONGLONG Guid) ; This is the function
    {
    DWORD First = ReadDword(Mgr + 0xAC); ; I can't understand what represent Mgr here, and where it was declared
    DWORD Current = First; ; Ok Current = First

    while ( Current && (Current & 1) == 0 ) ; This is where you're "scanning" to search the GUID we've got
    {
    LONGLONG ObjGuid = ReadLongLong(Current + 0x30); ; This is to read last adress, + 0x30 OK

    if (ObjGuid == Guid) ; if ObjGuid we found = our NPC GUID, then it's ok
    return Current;

    Current = ReadDword(Current + 0x3C);

    if ( Current == First ) ; if it did'nt change, nothing..
    break;
    }

    return 0;

    }
    I hope i'm right, and thanks for you're help to.

    Pixion.

    PS: I'm not very well in C, but i think i understood here.
    There is just a problem with Mgr, i don't understan what is it.

  13. #13
    arigity's Avatar Banned
    Reputation
    49
    Join Date
    Dec 2007
    Posts
    548
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    object manager.
    see [Tut] Using Object Manager (or otherwise pick a random thread in this section and chances are its got a description there.)

  14. #14
    Pixion's Avatar Member
    Reputation
    59
    Join Date
    Jan 2008
    Posts
    289
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ok, thank you, i'll see that.

  15. #15
    Gamer's Avatar Active Member
    Reputation
    239
    Join Date
    Jan 2007
    Posts
    198
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Pixion View Post
    Ok, i won't keep attention on how to find theùm next time for the moment i think...

    So, for every GUID, i suppose there is an adress.
    And we can find X, Y, Z, doing so:

    TARGET GUID = 0xXXXXXX
    X TARGET = 0xXXXXXX + 0x4
    Y TARGET = 0xXXXXXX + 0x8
    Z TARGET = 0xXXXXXX + 0xC

    Is it right again ?
    Make sure you don't fall under the misapprehension that the GUID is an address or offset. It's simply a unique identifier, not a memory address so you never add anything to it or read from it.

    Each player character has a unique identifier that stays with the character until it is deleted (or transferred to a different account I believe). The actual memory address on the other hand will change every time you zone/log out etc.

Page 1 of 2 12 LastLast

Similar Threads

  1. Need some help =( fast!
    By Niko33 in forum Gaming Chat
    Replies: 4
    Last Post: 11-29-2006, 05:19 PM
  2. Need some help with fishing bot
    By ralphie123 in forum World of Warcraft Bots and Programs
    Replies: 3
    Last Post: 11-24-2006, 09:41 AM
  3. warrior head tier 2 --> tier 3 need some help please
    By katjenl in forum WoW ME Questions and Requests
    Replies: 1
    Last Post: 11-22-2006, 09:10 AM
  4. Need some help
    By _Shapes_ in forum World of Warcraft Model Editing
    Replies: 2
    Last Post: 11-11-2006, 02:18 PM
  5. NEED SOME HELP with Model Editing
    By Dwarf in forum World of Warcraft Model Editing
    Replies: 4
    Last Post: 09-12-2006, 08:12 PM
All times are GMT -5. The time now is 06:13 PM. 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