OUTDATED
There is a legit concern with SMART which flags your Runescape account and puts you inline for a ban.
So there have been some nice releases in the past two years from Kasi, Patriq, and Brandon that take care of SMART's shortcomings while including most of its functionality.
Originally Posted by
Patriq
Pinput is both an include and a plugin which allows you to interact with any OSRS game client without the need of having it focused, nor taking over your I/O units.
Read more here:
Kinput - Kasi
Pinput - Patriq
This is a guide to setup RemoteInput developed by Brandon. It behaves like Pinput, but does not work with Runelite without bugs. However it is actively maintained. It's compatible with both color and reflection.
1. Download libRemoteInput-I686.dll from:
https://github.com/Brandon-T/Reflect...eases/tag/v0.9.
2. Rename it to LibRemoteInput so that it's LibRemoteInput.dll. Then place it in your plugin folder, that is located in your Simba folder.
3. Load the LibRemoteInput.dll by calling:
Simba Code:
{$loadlib LibRemoteInput}
4. Call this procedure that setups up RemoteInput. Make sure to input the OSRS client PID in RIINject or else it's not going to work. You can find the PID by running CMD and typing Tasklist. Make sure to call it in your main loop.
Simba Code:
Procedure RISetup;
var
EIOS: Pointer;
I, Count, PID: Int32;
begin
RIInject(6888);
Count := EIOS_GetClients(true);
for I := 0 to Count - 1 do
begin
PID := EIOS_GetClientPID(I);
if PID <> -1 then
begin
EIOS := EIOS_PairClient(PID);
if EIOS <> nil then
break;
end;
end;
if (PID = -1) or (EIOS = nil) then
raiseException('Cannot Pair EIOS.. No Clients Detected..');
SetEIOSTarget('libRemoteInput', IntToStr(PID));
end;
Alternatively (if not easier), you can just enter the clients name instead of the PID in RIInject:
Simba Code:
RIInject('JagexLauncher.exe');
Make sure the bit version of whatever client you're using matches the .dll. So a 32bit DLL should be used with a 32bit client.
I'm also sure that minimizing the client breaks the script, so run your scripts without minimizing the client