1. Originally Posted by slacky
@Flight: I hope to see some scripts or projects by my next time I come in here
You're not someone I would want to disappoint; consider it done.

Edit:
@Olly: I mentioned before that using RemoteInput prohibits WindowOverlay from working correctly; do you know of a work-around for this? Or might it simply be a choice between the two going forward? It's really too bad because both are extremely useful.
Last edited by Flight; 06-20-2021 at 12:48 PM.

2. Originally Posted by Flight
I mentioned before that using RemoteInput prohibits WindowOverlay from working correctly; do you know of a work-around for this? Or might it simply be a choice between the two going forward? It's really too bad because both are extremely useful.
RemoteInput actually supports drawing. I just never added it to SRL until now.

Also, to install SRL you can just click the package on the toolbar, add "ollydev/srl-development" and install. You seem to manually download and install the zip on your script posts:

3. Originally Posted by Olly
RemoteInput actually supports drawing. I just never added it to SRL until now.

Also, to install SRL you can just click the package on the toolbar, add "ollydev/srl-development" and install. You seem to manually download and install the zip on your script posts:
That's wonderful, thanks a million Olly. I did notice Simba's package manager and how it should be used instead of manually downloading, unzipping and renaming the include. I'll have to revise that post and reroute people to the appropriate installation method. Good advice.

4. Registered User
Join Date
Jun 2021
Posts
4
Mentioned
0 Post(s)
Quoted
1 Post(s)
Hey guys, since the latest version is 1.4, I'll ask you guys here. I'm having problems with 1.4 but not 1.1 for a long time now. I have no idea why...

With 1.4, (when i run the "time.simba file), I get: "Error: Unknown declaration "GetTickCount64" at line".

What I've done:
- Copied the 1.1 entire SRL directory to simba 1.4 directory
- Even Replaced the time.simba file with Olly's latest one.. but still error

But with 1.1, it runs fine. So i'm stuck with 1.1... Seems like upgrading is giving me way more errors and headaches than not.

Any ideas? Am i missing some functions, or are there problems with version 1.1 -1.4?
So close to getting it working

Thank you for keeping this alive!
Last edited by Blue Fox; 07-01-2021 at 08:23 AM.

5. Originally Posted by Blue Fox
Hey guys, since the latest version is 1.4, I'll ask you guys here. I'm having problems with 1.4 but not 1.1 for a long time now. I have no idea why...

With 1.4, (when i run the "time.simba file), I get: "Error: Unknown declaration "GetTickCount64" at line".

What I've done:
- Copied the 1.1 entire SRL directory to simba 1.4 directory
- Even Replaced the time.simba file with Olly's latest one.. but still error

But with 1.1, it runs fine. So i'm stuck with 1.1... Seems like upgrading is giving me way more errors and headaches than not.

Any ideas? Am i missing some functions, or are there problems with version 1.1 -1.4?
So close to getting it working

Thank you for keeping this alive!
I'm assuming you're referring to Simba when you mention 1.1/1.4. Try using the latest auto-build from this link (I personally recommend 32-bit) and placing it in your main Simba folder, run as administrator. Next click on the "Simba Packages" button (yellow box), click the "Add package" button (plus sign) and paste this in the URL box: https://github.com/ollydev/SRL-Development. Press "OK", some info on the repository should appear now on the package manager. Confirm that "Basic" is selected under "Installation" and hit the large "Install" button on the bottom. This should install what you need, where you need, and overwrite older, outdated versions of SRL-OSR. Now to make sure everything installed correctly, do a simple compile of the include as such:
Simba Code:
program new;{\$I SRL/OSR.simba}beginend.
Keep in mind you're running the script, not any individual file in the include. I noticed you said you tried running "time.simba", and that may have been what was giving you errors.

6. Registered User
Join Date
Jun 2021
Posts
4
Mentioned
0 Post(s)
Quoted
1 Post(s)
Thanks for the help; really appreciate it!

Everything runs successfully when i do the simple compile of the above include with a fresh 1.4 simba, as well as its SRL-Development package. Running both time & math individually works fine too.

However,the newest version of SRL-OSR libraries, like the .time library, are way too different than that of SRL-6 time.simba. Basically, I just want to use Srl-6 time.simba, as it also has the old TTimeMarker functions. When i try to add the SRL-6's TTimeMarker function to the SRL-OSR time file, everything breaks even more when i run my script. It now even gives a tbox array error message..

What I've also tried again:
- Moved the entire SRl-6 include into the 1.4 Simba directory, and ran the time.simba file, but this still gives the "Unknown declaration "GetTickCount64" error message. This entire line gets highlighted:

Code:
T := GetTickCount64() + MaxTime;
Full function where the error starts appearing:
Code:
function waitTypeFunc(Func: function: Boolean of object; WaitPerLoop, MaxTime: Integer; Value: Boolean = True): Boolean;
var
T: UInt64;
begin
T := GetTickCount64() + MaxTime;
while (GetTickCount64() < T) do
begin
if (Func() = Value) then
begin
exit(True);
end;
wait(WaitPerLoop);
end;
end;

No problems with Simba 1.1 though. Maybe i remove the 64? Or Could it possibly be that the updated version does not support previous, older functions/ syntax?

I know it's not good practice running individual files, but it allows me to confirm there's nothing wrong with these individual files or its functions. Any other ideas?
Last edited by Blue Fox; 07-03-2021 at 06:08 AM.

7. I'd recommend as an alternative checking out SRL-OSR's time.simba to see if it accomplishes what you're looking for. You'll find it in SRL/utils/time.simba. If you're looking for the equivalent of waitTypeFun then I suggest using WaitUntil(Condition: Expression; Interval, Timeout: Int32): Boolean;. An example:
Simba Code:
if WaitUntil(Minimap.IsPlayerMoving(300), 75, 2300) then    Minimap.WaitFlag(0);
In which case the script will wait for a total of 2300ms for IsPlayerMoving(300) to return true, checking every 75ms.

In SRL-OSR's time.simba there's two new tools to utilize: TCountDown and TStopWatch. The first is as the name suggests; you initially set a time limit and it will count down. You're also able to pause and reset it at any point during it's countdown.
Simba Code:
T.Init(Random(900,1300));  while (not T.IsFinished) do // or T.TimeRemaining > 0  begin    if Condition.IsMet then break;    Wait(50);  end;
On the other hand a TStopWatch counts up upon initialization. You may also use it in the same manner such as pausing/resuming/resetting and getting elapsed time.
Simba Code:
StopWatch.Start();  Wait(1000);  WriteLn(StopWatch.ElapsedTime());  StopWatch.Pause();  Script.DoSomeStuff();  StopWatch.Resume();

If you have some more info about what exactly you're trying to accomplish then I could probably help you further. But in any case, whichever part of SRL6's time.simba you're requiring, chances are SRL-OSR (or Simba 1.4 with further built-in functions) already has it. It might just be named differently.

8. Registered User
Join Date
Jun 2021
Posts
4
Mentioned
0 Post(s)
Quoted
1 Post(s)
After looking around, looks like simba 1.2+ doesn't support older functions, and it's a nightmare porting them over to 1.2, and others seem to have the same problems as me. So, I'll stick with 1.1 for now, and I'll test some of the stuff out you posted

One last thing:
I've been playing around with your "brakeWindMouse" functions and it's epic.

"Mouse movement based on distance to determine speed. Default slowed speed at 20% from destination, if 'double' is set to true then slowed speed also starts at origin and ends 80% to destination."

I don't know If I am calling this function correctly. At the top of the script, I've defined the global variable as so:

Code:
var mouseSpeed:= gaussRangeInt(90,100);
Why gauss range you may ask? Thought it's better to randomize it abit, instead of declaring a static speed.. Am i correct?

1) If "Mouse movement based on distance to determine speed" does it mean this function will take into account of the mouse speed var which i specified, between 90 and 100? Or does it automatically determine its own speed based on the distance it calculates, and ignores the fact the speed is 90-100?

2) I'm also not sure If the global variable is called through each loop, so i created additionally local mouse variables for the procedure incase. e.g:

Code:
Procedure Click();
begin
mouseSpeed := gaussRangeInt(10,30);
Move();
Click();
end

else if so... then
begin
mouseSpeed := gaussRangeInt(10,30);
Move();
Click();

else if so... then
begin
mouseSpeed := gaussRangeInt(10,30);
Move();
Click();

end
Not sure if by additionally putting "mouseSpeed := gaussRangeInt(10,30);" inside a procedure before i move the mouse every time will break its functionality in which it calculates the distance automatically?

Do you get what i mean lol? Long post, and thanks again, Flight!
Last edited by Blue Fox; 07-05-2021 at 06:38 AM.

9. SRL Junior Member
Join Date
Nov 2012
Posts
153
Mentioned
2 Post(s)
Quoted
68 Post(s)
Man it is awesome to see so much activity! Excited to get back into OSRS after doing RS3 botting years back. Thanks so much for reviving it guys! Your effort got me back into it.

10. SRL Junior Member
Join Date
Nov 2011
Posts
66
Mentioned
0 Post(s)
Quoted
20 Post(s)
Originally Posted by Flight
Yes indeed. At least for the time being I'll stick to utilizing Runelite due to it's useful functions that can happily coexist with a color-based include. Also the fact that it's widely used amongst players may make it safer to use, depending on one's views towards client detection.

As far as SRL-OSR goes, works great for me so far. Reflection-style item-finding, fast and accurate positioning (not to mention an amazing web-walker), accurate MS object-finding routines, all tools to make scripter's job much easier. ASyncMouse + assigning finder procedures to RSWalker's walking event makes for a potent object-tracking system. Combining these two I've made a nifty master farmer picker, and it lays a path forward to creating an efficient combat script. Coupled with SRL-OSR's web-walker (would need to be multiple stage) and obstacle handling, a universal Slayer script (one of my ultimate goals) is certainly within reach.

One downside I've noticed at this point is the incompatibility of ASyncMouse & a (remote I guess?) input like KInput or PInput. Anywho, so far I've made basic versions of: a master farmer picker, a handful of mining scripts (Mining guild/TzHaar), minnow fisher (for the time being requires Runelite), fishing guild fisher, Rogues' Den cooker, Edgeville jewelry crafter, blast furnace smelter (currently requires Runelite), and a simple splasher/alcher/super-heater. All quite primitive at this point and need much polishing before release, such as multiple safeguards and fail safes for integrity, easy user interface such as start-up forms, attractive reporting (on-screen, ect...), and perhaps user config files.

A script manager and community script repo would be fantastic. But with so few users (that I know of) at this point in time it's a moot point. First thing's first, to revitalize the community we'll need to start putting out some public scripts, up-to-date user guides and scripting tutorials alike. I'd really love to see the place get back to its glory days.
Primitive as they may be I'd still be interested in them so I can look them over to get an idea of what to do to start making scripts with this. I've got a pretty basic understanding of Pascal programming itself but looking through the SLR documentation I can't even begin to think of how I'd implement it. I'm no super programmer, just a hobbyist who'd like to help.