jpeg2000
2019-06-01 05:18:15
2019-06-01 05:18:15
2019-12-28 17:05:47
2019-12-29 13:53:13
Where main goal is to find LocalPlayer. Without it nothing works and you have to be logged in.
Active objects on minimap:
NPCs:
2020-01-07 02:25:29
2020-01-08 09:04:59
From: alar82
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 :D Meh
It looks like further development of their old html5 client which was also javascript and webGl.
2020-01-13 04:17:13
2020-01-14 10:19:05
2020-01-25 16:44:05
2020-01-30 19:28:04
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.
2020-01-31 01:28:07
2020-01-31 02:04:16
2020-01-31 02:51:39
From: halfbreed9
Oh so if I were at x coord 1000 the actual value of that x coord would be 512,000 ?
00 88 C8 49 00 50 58 45
00 48 C9 49
2020-02-02 13:27:40
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.
2020-02-03 09:30:26
2020-02-04 17:56:03
2020-02-05 01:27:03
From: halfbreed9
Do you happen to have the link to his post ?
2020-02-05 19:30:40
2020-03-19 09:12:03
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.
2020-03-24 09:14:24
2020-03-25 11:58:49
From: go9090go
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.
2020-03-26 01:15:50
From: alar82
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.
2020-03-28 21:59:28
2020-04-02 13:31:08
2020-04-04 19:15:05
2020-05-13 16:47:01
if (not CheckPAnim(120)) then begin /code/ end; to check if players is animating. Number there is how many times to check vs 25 milliseconds. Some animations have huge caps between them.if (InveFull()) then begin /code/ end; to check if inventory is full or not.if (InveItemcount(item1)<3) then begin /code/ end; to count items in inventory, item1 is ID.if (InveFreecount()<9) then begin /code/ end; to check how many spots are free. ClickInv(item1,0); to click item in inventory. Warning there is no check if inventory is actually open. So yea some fail safes should be added.
2020-05-14 02:40:00
From: alar82
Dno… I like to keep it all to myself. Making it perfect and proper would lure lots of people here and it would paint huge red target onto it,… no thank you :)
But about FindAobj it works as FindNPC thing. Use AO debug to find thing to click. Things like portable fletchers are Active Objects.
Useto check if players is animating. Number there is how many times to check vs 25 milliseconds. Some animations have huge caps between them.if (not CheckPAnim(120)) then begin /code/ end;
Useto check if inventory is full or not.if (InveFull()) then begin /code/ end;
Useto count items in inventory, item1 is ID.if (InveItemcount(item1)<3) then begin /code/ end;
Useto check how many spots are free.if (InveFreecount()<9) then begin /code/ end;
Useto click item in inventory. Warning there is no check if inventory is actually open. So yea some fail safes should be added.ClickInv(item1,0);
2020-05-14 09:57:14
2020-05-18 09:37:33
2020-05-18 13:30:10
2020-05-30 16:19:48
2020-06-07 03:40:22
2020-06-10 15:00:45
From: alar82
Anyone know what bot those cursed energy bots use? I tried asking them but nothin, herders didn't wanto spill anything either.
2020-06-10 23:33:52
From: titandino
Hey, I am working on programming Herblore Habitat for my RSPS and I am in need of the actual spawns list of invisible jadinkos within the area. Your tool shows them on the minimap, but doesn't give the ID or location elsewhere or any way of looping over the list.
I would pay you for the simple source code just to retrieve a list of NPCs and their IDs/Positions that are being updated (whether or not they are being rendered or hidden via varbits).
2020-06-11 13:04:40
From: alar82
Had a look, yes there are invisible npcs. Can't add them to 3d world debug, they don't have clickbox. Added some more debug options to npc minimap, NPCInfoMap1 switches between name and id. Nothing is simple :D
Currently using it to watch seren spirit spawn. Clicking npcs is odd, needs rework. Found also booleans for inventory closed and open states.
2020-06-13 09:46:37
2020-06-13 10:04:06
2020-06-14 13:19:29
CheckInvOpen(); - to check if inventory is open or closed.OpenInv(); - to check if inventory is open and if not then try to open it with menu icon. Menu icon must be in front and not in slider menus. Slider menus are like labyrinth, I don't have no time and brainpower to dissect them.program Test;
{$loadlib MemoryError}
begin
wait(199);
SetupRSReading(True,0);
wait(100+random(1099));
repeat
wait(5000+random(1099));
Writeln(CheckInvOpen());
OpenInv();
//Writeln(BankOpen());
//Writeln('Coordinates: ',GetPCoords());
//Writeln('Floor: ',GetPFloorLv());
//Writeln('HP: ',GetHP());
until(false)
end.Edit: Crash Fixes. Now can open inventory tab if it is on wrong one.
That z goes to small numbers if camera is moved close to ground. That is funny, like it would be psychical camera. OverlayUtil.renderTextLocation( graphics, new Point(client.getCanvasWidth() / 11, 20), "x " + String.valueOf(client.getCameraX()), Color.WHITE);Osrs:
Dosent look similar numbers, maybe it would have diffrent values if I could directly read raw values of hooks.2020-07-03 22:38:43
2020-07-06 12:25:15
2020-07-14 13:29:04
GetAllNPCs; gets all npc into Simba.
program Test;
{$loadlib MemoryError}
var
i,hi: Integer;
store: Array of AllObjects;
begin
wait(199);
SetupRSReading(True,0);
wait(100+random(1099));
repeat
wait(5000+random(1099));
//Writeln(GetAllNPCs());
store:=GetAllNPCs();
hi := High(store);
for i := 0 to hi do
begin
writeln(
"Name:",store[i].Name,
". Hitpoints:",store[i].Life,
". ID:",store[i].Id,
". X:",store[i].TileX,
". Y:",store[i].TileY,
". Z:",store[i].TileZ
);
end;
until(false)
end.
2020-07-14 13:34:38
2020-07-14 13:38:25
From: userNote
hey yeah, found the viewmatrix, but i cant send links here :P nor images, so how am i about to send it?
2020-07-15 23:59:38
2020-07-19 07:05:04
2020-08-16 22:39:43
Yea it leads to here.
float screenW = entity.x * Mx.at(3) + entity.y * Mx.at(7) + entity.z * Mx.at(11) + Mx.at(15);
float screenX = (entity.x * Mx.at(0) + entity.y * Mx.at(4) + entity.z * Mx.at(8) + Mx.at(12)) / screenW;
float screenY = (entity.x * Mx.at(1) + entity.y * Mx.at(5) + entity.z * Mx.at(9) + Mx.at(13)) / screenW;
WPOINT rs = GetRsResolution2();
float camX = rs.x / 2.f;
float camY = rs.y / 2.f;
float screenx = (camX * screenX) + (screenX + camX);
float screeny = -(camY * screenY) + (screenY + camY);
return{ screenx, screeny };
2020-08-17 22:28:48
2020-08-18 02:33:47
From: userNote
You're in luck haha, I'm Rablidad, i said you before i had the viewmatrix, what happens is that runescape is a weird game and they use Row major with OpenGL
2020-08-19 04:19:44
2020-09-01 15:46:18
2020-09-10 23:36:40
Is there capability to right click NPCs to select an option that isnt left clickable? Can only see how to do it crass atm by mousemoving with TPoint of MouseLoc on right click.
Pos_xy:Tpoint;
//War Npc in wars retreat, opens up shop option.
if (FindNPCs1([26773],1,20,[0,0],[0,0],False,1,'Talk')) then
begin
Pos_xy:=MousePos();
Pos_xy.Y:=Pos_xy.Y+40;
MouseClick(Pos_xy,TRUE);
wait(5000);
end; Updated plug again. Hey added new method of interfaces thing stuff something.
2020-11-07 17:36:46
2020-11-07 17:44:46
From: willin275
How do i use your plugin? i have downloaded plugins.7z
2020-11-07 18:08:51
2020-11-07 18:20:46
From: willin275
thanks for the fast reply, now when i run a script i get a warning that the apps are not on the same scaling level?
2020-11-09 00:08:15
From: alar82
They must be at same size thing. Right click at simba exe and choose properties and from there compatibility. From there change high dpi setting and override dpi. Switch between application and system to see which one works.
2020-11-13 10:00:33
From: forest seed
hi alar82, do you have a discord i can add?, im attempting to develop the sauce into a standalone application.
2020-12-08 12:04:03
GetPCoords()2020-12-08 15:50:12
Writeln(GetPCoords());
It gives out those exact coordinates that are in upper corner of debug(rounded down).2020-12-08 22:02:50
From: alar82
Hmm I tested it at it looks fine.It gives out those exact coordinates that are in upper corner of debug(rounded down).
Writeln(GetPCoords());
At least it should.
What number are you getting from there?
Edit: updated plugin.
Removed all scripts and added up again.
2020-12-09 15:22:38
https://discord.gg/ywSDHbXmF5
2021-02-20 22:44:34
2021-02-21 13:36:47
2021-03-28 14:37:08

2021-06-18 00:52:58
Works fine.
2022-07-24 08:07:30