[Retail] How to use CGGameUI::OnSpriteLeftClick ? menu

User Tag List

Results 1 to 7 of 7
  1. #1
    hfc's Avatar Member
    Reputation
    1
    Join Date
    Feb 2021
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [Retail] How to use CGGameUI::OnSpriteLeftClick ?

    retail 9.0.5.37899
    Imagebase : 140000000
    __int64 __fastcall sub_1419DA540(__int128 *a1)

    I read the previous one and I tried to pass an object guid to it, but it didn't work.
    I call it like this.
    Code:
    var mgr = ReadInt64(baseModule + curMgrOffset);
    var objArr = ReadInt64(mgr + 0x120);
    var obj = ReadInt64(objArr); (It's a sample.In fact, I read a close object)
    var objGuid = ReadInt64(obj -0x28 + 0x18);
    
    var argsPtr = AllocateMemory(8);
    argsPtr.WriteInt64(objGuid);
    Asm.Add($"mov rcx,{argsPtr.ToString("X")}");
    Asm.Add($"mov rax,{(baseModule + 0x19DA540).ToString("X")}");
    Asm.Add("call rax");
    Please help me.I was stuck here so long.

    [Retail] How to use CGGameUI::OnSpriteLeftClick ?
  2. #2
    oiramario's Avatar Established Member
    Reputation
    85
    Join Date
    Mar 2021
    Posts
    133
    Thanks G/R
    36/51
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Code:
    var argsPtr = AllocateMemory(8);
    argsPtr.WriteInt64(objGuid);
    guid is 128bits that means 16 bytes.

  3. #3
    hfc's Avatar Member
    Reputation
    1
    Join Date
    Feb 2021
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by oiramario View Post
    Code:
    var argsPtr = AllocateMemory(8);
    argsPtr.WriteInt64(objGuid);
    guid is 128bits that means 16 bytes.
    Thanks for reply.

    So, It means I need to read guid like:
    Code:
    var objGuid = ReadInt128(obj -0x28 + 0x18);
    And write like:
    var argsPtr = AllocateMemory(16);
    argsPtr.WriteInt128(objGuid);
    But, I tried and failed. I remember guid is Int64.
    So, I don't really know how to get a correct Int128 param.

  4. #4
    xalcon's Avatar Contributor ふたなり
    Authenticator enabled
    Reputation
    198
    Join Date
    Oct 2008
    Posts
    291
    Thanks G/R
    20/58
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Its 128 since forever, i think it changed in MoP or WoD. But even if it were 2GB, it wouldnt matter, since you can just pass a pointer to the value.
    Last edited by xalcon; 03-19-2021 at 02:11 AM.
    "Threads should always commit suicide - they should never be murdered" - DirectX SDK

  5. #5
    _chase's Avatar Established Member
    Reputation
    95
    Join Date
    Dec 2019
    Posts
    58
    Thanks G/R
    17/49
    Trade Feedback
    0 (0%)
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    If you're trying to do the sprite left click, I don't think this will work on objects or at least you won't see any side effect.
    Because, when playing the game try to left click some mining node or whatever, it doesn't do anything in the actual game.
    But, try to left click a player or an npc and your ui updates with their face plate on screen.

    For testing this just pass in your own player guid and see if the ui sets your own player as target.

    For the argument, as Xalcon said it is a pointer to a 128 bit value / 16 byte value

  6. #6
    hfc's Avatar Member
    Reputation
    1
    Join Date
    Feb 2021
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks all guys for helping me.Sorry for my mistake. I pass a long guid to it.Because I think the guid is 64bit. So stupid.

  7. #7
    _chase's Avatar Established Member
    Reputation
    95
    Join Date
    Dec 2019
    Posts
    58
    Thanks G/R
    17/49
    Trade Feedback
    0 (0%)
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by hfc View Post
    Thanks all guys for helping me.Sorry for my mistake. I pass a long guid to it.Because I think the guid is 64bit. So stupid.
    No worries mate, reading around the forums it looks like a ton of people have made that mistake. Especially because alot of the older documented resources were created back when the guid was 64 bits / 8 bytes, so it's an honest mistake. Congratulations on getting it to work!

Similar Threads

  1. RETAIL How to use Spell_C_HandleTerrainClick
    By 34D in forum WoW Memory Editing
    Replies: 22
    Last Post: 12-26-2023, 05:35 AM
  2. GUIDE: HOW TO USE TORRENTS (Look inside)
    By Hounro in forum Community Chat
    Replies: 14
    Last Post: 01-22-2007, 09:04 PM
  3. How to use fish bot?
    By Pixo in forum World of Warcraft Guides
    Replies: 0
    Last Post: 01-04-2007, 07:01 PM
  4. Hunter Pets how to use them to gank lowbies
    By Demonicmaster in forum World of Warcraft Exploits
    Replies: 4
    Last Post: 12-21-2006, 04:35 PM
  5. How To: use .rar files.
    By raamoz in forum World of Warcraft Guides
    Replies: 3
    Last Post: 11-06-2006, 02:51 PM
All times are GMT -5. The time now is 06:23 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search