TaxiButtons - How to determine where they lead to? menu

User Tag List

Results 1 to 3 of 3
  1. #1
    Tanaris4's Avatar Contributor Authenticator enabled
    Reputation
    148
    Join Date
    Oct 2008
    Posts
    646
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    TaxiButtons - How to determine where they lead to?

    All-

    I'm trying to reverse UI Frames further, and right now I'm trying to determine where I can fly to once I interact w/a flight master. I can easily enough traverse through all of the UIFrames to find those named "TaxiButton," but I'm not sure how to determine where they lead.

    I've tried looking at the structure to see if maybe there is a pointer to a string of the location, but haven't found this. Anyone have any ideas or has anyone reversed this?

    Note: I am doing this out of process, but would even love some function names to reverse maybe? I'm just not sure how to continue further, I'm a bit stuck.

    Thanks,
    ~ Tanaris
    https://tanaris4.com

    TaxiButtons - How to determine where they lead to?
  2. #2
    TOM_RUS's Avatar Legendary
    Reputation
    914
    Join Date
    May 2008
    Posts
    699
    Thanks G/R
    0/52
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Related lua API's:
    GetNumRoutes
    TaxiGetDestY
    TaxiGetDestX
    TaxiGetSrcY
    TaxiGetSrcX
    TaxiNodeSetCurrent
    TaxiNodeGetType
    CloseTaxiMap
    TakeTaxiNode
    TaxiNodeCost
    TaxiNodePosition
    TaxiNodeName
    NumTaxiNodes
    SetTaxiMap

    Hint: all data stored in DBC files.

  3. #3
    Tanaris4's Avatar Contributor Authenticator enabled
    Reputation
    148
    Join Date
    Oct 2008
    Posts
    646
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yea I feel dumb, already got it:

    Code:
        MemoryAccess *memory = [[Controller sharedInstance] wowMemoryAccess];
        
        int32_t totalNodes = [memory readInt:0x12C06CC];    // 14354: lua_NumTaxiNodes
        int32_t tablePtr = [memory readInt:0x12C06C4];      // 14354: lua_TaxiNodeName
        
        if ( totalNodes > 0 && tablePtr > 0 ){
            
            int i = 0;
            for ( ; i < totalNodes; i++ ){
    
                UInt32 ptr = [memory readUInt:(0x30 * i) + tablePtr];
                
                UInt32 stringPtr = [memory readUInt:ptr + 0x14];
                
                NSString *location = [memory readString:stringPtr withLen:0x100];
                
                log(LOG_DEV, @"%d: 0x%X %@", i + 1, stringPtr, location);   // this id number (i+1) corresponds to the TaxiButton number
            }
        }
    What is strange, is I don't think 0x12C06C4 is actually a DBC, even though it looks like one. (I got the offset from TaxiNodeName)
    https://tanaris4.com

Similar Threads

  1. How to determine mine and herb?
    By starfish99 in forum WoW Memory Editing
    Replies: 19
    Last Post: 12-20-2018, 11:07 PM
  2. Replies: 4
    Last Post: 07-15-2010, 12:54 PM
  3. [Question] How to determine if a bg has started?
    By Deathvortex in forum WoW Memory Editing
    Replies: 32
    Last Post: 11-19-2009, 02:21 PM
  4. How the bleep do they do it!Halo
    By 30480 in forum Gaming Chat
    Replies: 5
    Last Post: 08-30-2007, 03:59 PM
  5. Omg, Wonder where they got their idea from?
    By Nolixz in forum World of Warcraft General
    Replies: 2
    Last Post: 02-15-2007, 07:36 AM
All times are GMT -5. The time now is 03:43 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