Getting Translated Names for Actors and UIs menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 16
  1. #1
    st0724's Avatar Member
    Reputation
    2
    Join Date
    Feb 2007
    Posts
    60
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Getting Translated Names for Actors and UIs

    I'm wondering if anyone can shed some lights on how to reliably read actor and UI names. Ofc, I'm talking about the actual on-screen name and not the name buffer in the ractor and acd, and UI structs.

    I have it sort of figured out by looking at the "Translate" function at 0x887820. But this only can get the names for monsters (at least I think) and is not reliable all the time. Sometimes it just gives me the "!!! Missing..." string.

    I'm actually more interested in getting the on-screen names for the UIs since it'll make my code much cleaner.

    Thanks guys!

    Getting Translated Names for Actors and UIs
  2. #2
    Valtharak's Avatar Master Sergeant
    Reputation
    51
    Join Date
    Feb 2011
    Posts
    105
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    for the ui, in a UIElement the pointer to the text should be at around 0xAD0 offset . could have changed a bit i havent updated my code

    for the actor name for item name and such i havent look into it so i can't help you with that

  3. #3
    st0724's Avatar Member
    Reputation
    2
    Join Date
    Feb 2007
    Posts
    60
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Valtharak View Post
    for the ui, in a UIElement the pointer to the text should be at around 0xAD0 offset . could have changed a bit i havent updated my code

    for the actor name for item name and such i havent look into it so i can't help you with that
    Great thanks, it's at 0xAD8 now =)
    Last edited by st0724; 05-30-2012 at 09:41 AM. Reason: typo

  4. #4
    xzidez's Avatar Member
    Reputation
    12
    Join Date
    Dec 2007
    Posts
    135
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by st0724 View Post
    Great thanks, it's at 0xAD8 now =)

    Did you solve it? (for actors ? )

    Im kinda stuck at same problem as you.. Trying to identify where portals are leading :/

  5. #5
    st0724's Avatar Member
    Reputation
    2
    Join Date
    Feb 2007
    Posts
    60
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You should be able to get the name of portals using the function (or the one it calls) I mentioned in the first post. When I tested further, i found out that it was used for monsters and UIs so it should also work for gizmos.

    Btw the address was for retail 1.0.1

  6. #6
    xzidez's Avatar Member
    Reputation
    12
    Join Date
    Dec 2007
    Posts
    135
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by st0724 View Post
    You should be able to get the name of portals using the function (or the one it calls) I mentioned in the first post. When I tested further, i found out that it was used for monsters and UIs so it should also work for gizmos.

    Btw the address was for retail 1.0.1
    Im probably doing something wrong here. But I only get the "!! Missing sno unknown.. ".
    I can see that further down your function its using "0x826590" which I use to get SNO names... Which leads me to believe that its the actual sno I shoud feed the function. Or?

    This is where Im looking at now as of 1.0.2.98.95

    int __cdecl GetTranslation_8877A0(int a1, int a2)

  7. #7
    st0724's Avatar Member
    Reputation
    2
    Join Date
    Feb 2007
    Posts
    60
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by xzidez View Post
    Im probably doing something wrong here. But I only get the "!! Missing sno unknown.. ".
    I can see that further down your function its using "0x826590" which I use to get SNO names... Which leads me to believe that its the actual sno I shoud feed the function. Or?

    This is where Im looking at now as of 1.0.2.98.95

    int __cdecl GetTranslation_8877A0(int a1, int a2)
    I also need to look at the function further. But there are 2 args, one is the "raw" string, the other one is some kind of ID. For getting monster names, I was hardcoding the value 0xCB35 (patch 1.0.1, it may or may not have changed). The raw string should be the SNO name. For example, for the blacksmith, it is something like "PT-Blacksmith" (from its snoMonster).

  8. #8
    xzidez's Avatar Member
    Reputation
    12
    Join Date
    Dec 2007
    Posts
    135
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by st0724 View Post
    I also need to look at the function further. But there are 2 args, one is the "raw" string, the other one is some kind of ID. For getting monster names, I was hardcoding the value 0xCB35 (patch 1.0.1, it may or may not have changed). The raw string should be the SNO name. For example, for the blacksmith, it is something like "PT-Blacksmith" (from its snoMonster).

    I think the string you are looking for can be found with.0x826590.. and using it like this.

    spacex4 space = new spacex4();
    Framework.GetSnoName(ref space, (int)SNOGroup.Actor, actor.SNO, 0x0);

    I still havent got it to work on the yellow portal "The slaughtered calf inn" :/.. And I do believe that the first argument is the SNO.. same used in this function. But if thats the case I dont think this func will provide the actual screen name? Because there are many yellow portals in the game ?... and all have same SNO, or at least some of them

    Edit:
    0x9E7AF0 seems to get the screenname for the hovered actor.
    Last edited by xzidez; 06-03-2012 at 05:12 AM.

  9. #9
    st0724's Avatar Member
    Reputation
    2
    Join Date
    Feb 2007
    Posts
    60
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yeah maybe I was wrong. Portals may be a bit weird. I was able to get accurate names for hostile monsters; Some NPCs (vendors) would return "!! Missing ...". Also, the value 0xCB35 that I was using was not the actorSNO or monsterSNO. But I agree that it does look like some snoID.

    There is another function for getting the color-coded names like "Chupa Khazra{c_purple}". But I lost the address, can't find it in my notes. If I remember correctly I originally found it by looking at some ASCII values on the stack frame near the GetTranslation function.

  10. #10
    xzidez's Avatar Member
    Reputation
    12
    Join Date
    Dec 2007
    Posts
    135
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    int __cdecl GetScreenName_9E7AF0(int actor, void *textContainer, int a3)

    Here you have it. This is the one you are looking for (or at least the one I was looking for). Works for every actor and gives the displayed string.

    Edit: Every actor that got a display string when hovered.
    Last edited by xzidez; 06-03-2012 at 02:13 PM.

  11. #11
    RamirezX's Avatar Member
    Reputation
    2
    Join Date
    Apr 2012
    Posts
    28
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Trying to find this function in 1.0.3.100235. I found functions they writes/reads names ( structure with id and color) of items on the ground, under cursor.
    It can be achieved simply by [[pObjMan] + 0x934]+0x20].

    But cant find function GetScreenNameByActorId .. is 0x09EBAD0 right address?

  12. #12
    st0724's Avatar Member
    Reputation
    2
    Join Date
    Feb 2007
    Posts
    60
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by RamirezX View Post
    Trying to find this function in 1.0.3.100235. I found functions they writes/reads names ( structure with id and color) of items on the ground, under cursor.
    It can be achieved simply by [[pObjMan] + 0x934]+0x20].

    But cant find function GetScreenNameByActorId .. is 0x09EBAD0 right address?
    Yea that is the right address. The first arg is the RActor pointer. You may be confusing it with the ACD ptr.

    And xzidez, I forgot to thank you for the find. It works pretty well. +rep

  13. #13
    hb123220's Avatar Sergeant
    Reputation
    8
    Join Date
    Mar 2012
    Posts
    40
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Valtharak View Post
    for the ui, in a UIElement the pointer to the text should be at around 0xAD0 offset . could have changed a bit i havent updated my code

    for the actor name for item name and such i havent look into it so i can't help you with that
    UI text is at 0xAC8 [1.03.10235],,, 0x54C is Click handler,( thanks , st0724..)
    i call [UI+0x54c] to click buttons like changeQuest, it works fine.. however, i got problem with Waypoint,,afer i click the button like "The Old Ruins", its hash and name change,
    the first time i click ,its name is
    Code:
    Root.NormalLayer.waypoints_dialog_mainPage.tree.stackpanel.folder 0.stackpanel.entry 1.wrapper.button
    the second time i click ,its name change to
    Code:
    Root.NormalLayer.waypoints_dialog_mainPage.tree.stackpanel.folder 6.stackpanel.entry 1.wrapper.button
    so i cant get the right UI pointer,, anyone can help me a little bit? thx~

  14. #14
    Valtharak's Avatar Master Sergeant
    Reputation
    51
    Join Date
    Feb 2011
    Posts
    105
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    well you could get the ui object from Root.NormalLayer.waypoints_dialog_mainPage.tree.stackpanel

    then iterate the childs and look for the UI Text you want

  15. #15
    st0724's Avatar Member
    Reputation
    2
    Join Date
    Feb 2007
    Posts
    60
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Valtharak View Post
    well you could get the ui object from Root.NormalLayer.waypoints_dialog_mainPage.tree.stackpanel

    then iterate the childs and look for the UI Text you want
    To add to that, +0x444 is the index value for the waypoint.

Page 1 of 2 12 LastLast

Similar Threads

  1. Getting translated names via internal functions
    By aadidassler in forum Diablo 3 Memory Editing
    Replies: 0
    Last Post: 12-02-2012, 08:21 PM
  2. Get a FREE Name Change (Perfected and Reposted)
    By Ethan150 in forum WoW Scam Prevention
    Replies: 20
    Last Post: 12-05-2008, 02:38 PM
  3. Hate getting D/C?? -- Auto Login -- useful for bots and private servers
    By ADAMZY in forum World of Warcraft Bots and Programs
    Replies: 24
    Last Post: 11-05-2007, 05:06 PM
  4. Color name for emu and modeling experts
    By Dimmy353 in forum Suggestions
    Replies: 2
    Last Post: 06-18-2007, 03:52 PM
All times are GMT -5. The time now is 07:38 PM. 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