Home
Resources
Latest reviews
Search resources
Forums
New posts
Search forums
Members
Current visitors
New profile posts
Search profile posts
What's new
New posts
New resources
New profile posts
Latest activity
Rules
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Menu
Log in
Register
Install the app
Install
Home
Forums
Community
Spammm
[Fixed] Problem - memory
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="ajom" data-source="post: 104506" data-attributes="member: 56907"><p>Looks like that pointer you are trying to read stores the address value of a certain string? And it might be returning address 0 I think.</p><p></p><p>Looking about info regarding base pointer 0xBAACC0, <a href="https://gtaforums.com/topic/194199-documenting-gta-sa-memory-addresses/page/4/" target="_blank">this</a> website says something about:</p><p></p><p>And within this base pointer needs an offset index with 0x80 in size. Im not sure yet I assume that The number of index depends on how many GXT you have been using in you GTA SA I think:</p><p></p><p></p><p></p><p>I have seen an <a href="https://pastebin.com/hKQkHCKX" target="_blank">example</a> in AHK format :</p><p>[CODE]; Autohotkey Function</p><p>getGameText() {</p><p>if (!checkHandles())</p><p>return ""</p><p>Loop, 7 {</p><p>dwAddress := 0xBAACC0 + (A_Index - 1) * 0x80</p><p>gameText := readString(hGTA, dwAddress, 128)</p><p>if (ErrorLevel)</p><p>return ""</p><p>if (gameText != "")</p><p>break</p><p>}[/CODE]</p><p>He is inspecting 7 gametext, and you just need the 6th index I think. This is my function based on this(untested yet since I Don't have PC with me):</p><p>[CODE]{$CLEO .cs}</p><p>0000: gxt examiner</p><p></p><p>wait 10000 // not necessary</p><p></p><p>while true</p><p> wait 0</p><p> if 04B1: @getgxt 1 _gxt_index 5 _return_string 1@ // gets gametext 0x200</p><p> then 0ACD: show_text_highpriority 1@ time 1000</p><p> else 0ACD: show_text_highpriority "no string found" time 1000</p><p> end</p><p>end</p><p></p><p>:getgxt // 04B1: @getgxt 1 _gxt_index 0@ _return_string 31@ // index starts at 0(0 to n)</p><p>0@ *= 0x80 // size per index</p><p>0@ += 0xBAACC0 // base pointer for Center, Center, Orange, Black Outline+Medium+Fade Out+Cool FadeIn/Out Effect, "Mission Complete"</p><p>31@ = -1 // supporting value in case that the read memory fails</p><p>0A8D: 31@ = read_memory 0@ size 0x80 virtual_protect 0 // turn virtual protect to 1 if crashing</p><p>if 31@ > 0 // if there is a string, this will return the address of the gxt</p><p>then 0485: return_true</p><p>else 059A: return_false // returns -1 or 0 if there is no string or if it fails</p><p>end</p><p>ret 1 31@ // return the gxt pointer[/CODE]</p></blockquote><p></p>
[QUOTE="ajom, post: 104506, member: 56907"] Looks like that pointer you are trying to read stores the address value of a certain string? And it might be returning address 0 I think. Looking about info regarding base pointer 0xBAACC0, [URL='https://gtaforums.com/topic/194199-documenting-gta-sa-memory-addresses/page/4/']this[/URL] website says something about: And within this base pointer needs an offset index with 0x80 in size. Im not sure yet I assume that The number of index depends on how many GXT you have been using in you GTA SA I think: I have seen an [URL='https://pastebin.com/hKQkHCKX']example[/URL] in AHK format : [CODE]; Autohotkey Function getGameText() { if (!checkHandles()) return "" Loop, 7 { dwAddress := 0xBAACC0 + (A_Index - 1) * 0x80 gameText := readString(hGTA, dwAddress, 128) if (ErrorLevel) return "" if (gameText != "") break }[/CODE] He is inspecting 7 gametext, and you just need the 6th index I think. This is my function based on this(untested yet since I Don't have PC with me): [CODE]{$CLEO .cs} 0000: gxt examiner wait 10000 // not necessary while true wait 0 if 04B1: @getgxt 1 _gxt_index 5 _return_string 1@ // gets gametext 0x200 then 0ACD: show_text_highpriority 1@ time 1000 else 0ACD: show_text_highpriority "no string found" time 1000 end end :getgxt // 04B1: @getgxt 1 _gxt_index 0@ _return_string 31@ // index starts at 0(0 to n) 0@ *= 0x80 // size per index 0@ += 0xBAACC0 // base pointer for Center, Center, Orange, Black Outline+Medium+Fade Out+Cool FadeIn/Out Effect, "Mission Complete" 31@ = -1 // supporting value in case that the read memory fails 0A8D: 31@ = read_memory 0@ size 0x80 virtual_protect 0 // turn virtual protect to 1 if crashing if 31@ > 0 // if there is a string, this will return the address of the gxt then 0485: return_true else 059A: return_false // returns -1 or 0 if there is no string or if it fails end ret 1 31@ // return the gxt pointer[/CODE] [/QUOTE]
Name
Verification
Name a popular topic discussed in the ugbase.eu community
Post reply
Home
Forums
Community
Spammm
[Fixed] Problem - memory
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.
Accept
Learn more…
Top