RHCP wrote: ↑28 Jun 2019, 00:18
The first string is unicode.
Try:
Code: Select all
Exile := poe.readString(0x7FFB69C3AE78,, encoding := "UTF-16")
What is this supposed to do, besides change the English text to look like Japanese characters instead? UFT-8 I understand as English, and reads perfectly for what I'm trying to accomplish.
It still refuses to show text beyond the first encountered null.
This is my code for the AOB scan to find the bytes for Hotbar.dat
Code: Select all
Hotbar:= XIV.hexStringtoPattern("48 4F 54 42 41 52 2E 44 41 54 00 00 01 00 00 00 70")
I'll save the address starting at HOTBAR.DAT. and then read subsequent text up to 1000 characters
which will cover all the skills/keybinds on the hotbars.
Reading all these hotkeys, quite simply informs the program I'm writing, what all the keybinds are and what to press for said abilities.
In this example here, I simply want to read all the Abilities on my Final Fantasy 14 hotbar?
Lol, I don't understand why that Length size is there is null completely negates it.
AHK will absolutely display the string HOTBAR.DAT with the readString(address,, encoding :="UTF-8") function.
Japanese if its UTF-16.
However, it will not read beyond the 0 byte after that.
So what's the point of specifying length?
Is it possible to read all the hotkey text, even across the encountered nulls between the skills?
AOB scan isn't optimal, because it won't read changes to the hotbar in real-time.
People change hotkeys and move skills around all the time. The pattern won't be the same, and the bot will press wrong buttons.
What other function ignores nulls, reads between a range of addresses, and obeys specified byte length?
AOB scans take too damn long, because I have to write AOB patters for every single spell/skill keybind in Final Fantasy.
@rommmcek
Currently, I am using an increment of =+1 from the base address to read all the bytes individually and parse each character/letter in order, and paste all that text file, and read from file.
But that's so exhausting. If only it can read it all.
A readstring function that ignores the nulls and obeys the length would be simple, if it exists.
@RHCP
Any solution you can give just to read text across the range of 2 specified addresses would be invaluable. Please HALP! Thanks