Hi guys got bored and fixed it somewhat. Currently using it for portables.
Now is wish Kompromaus would come back and explain some more about vtables =I
Edit:
Hey now messing around with x64dbg odd thing start happening when attaching to rs3 client. Mouse starts acting weird, like in slow-mo.
It seems there are some breakpoints added by client. Any comments?
When you debug, you should cancel the game's low-level mouse hook, or something strange will happen. The other two callback functions were added a long time ago. Acting on thread startup and thread stop, I haven't carefully looked at the two functions and guessed that you will be monitored when you start the thread inside the game. But this can be handled.
Is anyone still working on this? As Java support is gone, it would be amazing to be able to have access to the NPC list from memory so I can dump their spawn locations.
It still works and it is slow and fragile. Removed it, reason is: my code looks horrible
Current working one is uploaded here: https://github.com/pp9999/MemReading/releases/tag/0.1
To run it you put plugin into simba plugins folder and the run the Test script. Test.simba
Where it loads plugins and starts reading through memory. Open console window on simba and check the progress.
It should look something like this:
Where main goal is to find LocalPlayer. Without it nothing works and you have to be logged in.
After that it should finish about in 5 minutes and display debug window.
Decorative object on minimap:
Active objects on minimap:
There are invisible spider eggs at manor farm which are called invisible spider eggs
NPCs:
When looking trough rs2client.exe hex there is a lot of references to webGL. I wonder why they use webGL for rendering. For a browser game it would be ok but it is installed game.
WebGl doesn't seem to be efficient as well, from looking at wiki: all graphic commands are done by sending string text(javascript?) and compiled in run-time. Wouldn't pre-compiled be much faster?
Why not use normal windows opengl.lib sdk thing Meh
It looks like further development of their old html5 client which was also javascript and webGl.
You'l need 64 bit windows Simba. Download it from here: https://github.com/MerlijnWajer/Simb.../autobuild-421. Some explation how to use new version of Simba is here:https://villavu.com/forum/showthread.php?t=118470. Unzip it somewhere and then put MemoryError.dll into plugins folder.
Probably breaks again after todays Rs3 update :/
It is secret sauce now. For now.
Nah this source wouldn't help you as it is shit. If you wanna learn something do it yourself. Post here I wan to see how are you doing.
Well it is not total fail. Currently using this for afk event. Those brew hair caldrons give herb xps. Here is the script.
Someone openend and closed github issue to fix BankOpen bool, it would require rewrite interaces logic to get right info. Too much effort.Code:program Test; {$loadlib MemoryError} var Count:Int32; begin wait(random(199)); SetupRSReading(True,0); repeat wait(340+random(4500)); if (random(100)>90)then begin writeln('P');PlayerIdle(); end; Count:=Count+1; begin if (random(1000)>980)then begin if FindAobj([114106],1,4,[0,0],[0,0],False,0,'Brew') then begin wait(1900+random(5500)); end; end; end; until(Count>10000) end.
Well to get character location just use cheat engine.
Player coords are those x or y * 512 and search in float.
Oh so if I were at x coord 1000 the actual value of that x coord would be 512,000 ?
Yes it would be. Lumby castle in front of top bank booth would be. (Minus half tile 256)
X=3208*512-256=1642752
Y=3220*512-256=1648896
There is also Z but we don't have proper WorldToScreen calculation so it is worthless.
With hex view it looks in memory like this:
Code:00 88 C8 49 00 50 58 45 00 48 C9 49
It should. Used this script for pickpocket draynor master farmers.
Code:program Test; {$loadlib MemoryError} begin wait(199); SetupRSReading(True,0); repeat if (random(100)>98)then begin writeln('P');PlayerIdle(); end; wait(1100+random(1099)); if (FindNPCs1([2234],1,28,[0,0],[0,0],False,0,'Pickpocket')) then begin writeln('FF'); wait(1400+random(9500)); end; wait(1500+random(1099)); until(false) end.
Pointers will never work for rs. There is only 2 ways to get right spot. Dissecting executable somehow as some guy did here, or like me aob scan.
Do you happen to have the link to his post ?
I really wish this was open sourced so people can learn and contribute to it. Shame the same excitement that drives runelite doesn't drive RS3 developments. I am working on a 2012 remake of RS and there is a ton of information that I would be able to get saving me countless hours. NPC spawns, interface component animations, proj anims, spot anims, etc.
Finally some progress. Bank has been found, with slots for all the items.
It is part of interfaces new reading method. Much more powerfull than before now getting all interfaces. Only bad part is finding starting point which is bit shit now. Works only in nxt compability mode and is under test.
I used your code last summer and found that the Components/Widgets/Interfaces are in the same structure as in the java client. Widgets have components and components do have child components. This way i was able to find all interfaces the same way as in the java client.
Throw some code here :P I don't know nothing about java.
Main issue is that ReadProcessMemory is horribly slow and if lot is read it goes to snail pace. I wonder how much faster would be read from inside process. Then again I am afraid mess with it, maybe they check loaded stuff.
You able to run multiple accounts with this? Or just one ?
There are currently 3 users browsing this thread. (0 members and 3 guests)