footballjds
2013-12-09 14:44:34

Follow this guide to setup RuneScape for botting
Setup:
- download SPS image and script
- place SPS image in img folder for SPS
- Setup lines script
ENJOY!
Get the script:
2013-12-09 14:44:34

2013-12-09 15:26:23
2013-12-09 18:46:25
From: hoodz
another rs3 script :D
gj!
edit: cant rep you for now.
2013-12-10 00:45:31
2013-12-10 01:57:28
From: footballjds
Thanks!
If anyone wants to try it, it is pretty efficent. It detects if the fishing spots moves, if your char randomly stops fishing and if you don't get a fish within x miliseconds.
pretty flawless, getting long runs. Sharks for 99 fishing and then 99 cooking :)
2013-12-10 09:49:36
From: Coh3n
Nice release, glad to see more RS3 scripts coming out. :) Unfortunately, I'm not a member, but if you made a F2P fisher I'd have to check it out.
2013-12-10 11:18:56
From: footballjds
I'll get something for f2p released soon. karamja fisher(certer) perhaps?
2013-12-10 13:20:35
From: sparkyownage
Love the script, its great!!
Can you add rocktails? :D
Karamja would be great aswell :)
2013-12-10 13:29:34
From: sparkyownage
Can you add rocktails? :D
2013-12-10 14:03:24
From: Kevin
Aren't rocktails done through some specific type of bait in only the LRC? That would probably be a different script to do that. And if you're looking for experience, there are better options (and there are also better options for gold anyway if that's your goal) :p
2013-12-10 15:19:57
From: footballjds
rocktails aren't really the best exp or $. but neither are sharks.
I was just making a script I hoped might be used
2013-12-10 18:50:08
From: footballjdsThat would be fantastic. :)
I'll get something for f2p released soon. karamja fisher(certer) perhaps?
2013-12-11 22:08:21
From: footballjds
rocktails aren't really the best exp or $. but neither are sharks.
I was just making a script I hoped might be used
2013-12-12 15:40:14
From: sparkyownage
Rocktails I thought were good money? I don't have much experience playing p2p but I thought it was good cash xD Maybe its not, dunno, I'm not p2p anyway so it doesn't really matter to me if rocktails are added or not, was just makin a suggestion ^_^
2013-12-12 18:54:23
2013-12-13 11:20:23
From: ganzo
when I try to run it dosent work and it markes an error
Exception in Script: File "sps/sps-rs3.simba" not found at line 4, column 5
when i download de image an put it in the foler, it dosent work eather
2013-12-13 14:02:33
From: footballjds
You need to get the latest SPS.
Is SPS not in the updater?
2013-12-13 15:24:21
From: Thanatos
I ran into the same issue and checking for updates for SPS returned with "No SPS update available." So I was going to try re-installing samba at some point to see if that fixed things.
2013-12-13 15:33:59
From: footballjds
do you have teamveiwer?
latest proggy with granite lobster:![]()
2013-12-13 15:35:17
From: Thanatos
unfortunately I do not. :(
2013-12-19 20:19:46
From: ganzo
when I try to run it dosent work and it markes an error
Exception in Script: File "sps/sps-rs3.simba" not found at line 4, column 5
when i download de image an put it in the foler, it dosent work eather
2013-12-20 10:59:01
From: fortier4
Ive come across this issue in a few of footballjds scripts and the issue is that the script looks under includes/SPS/XXXX but the file the script needs is one more folder down includes/SPS/lib/XXXXX i just copied and pasted the "sps-rs3" file to the SPS folder so it is in that and the lib folder. Seems to have fixed the issue.
2013-12-20 12:57:26
2013-12-20 12:59:08
From: fortier4
When fishing for sharks the script keeps looking and choosing a fishing spot every other second or so. I tried changing the min wait time for catching new fish, but it doesn't seem to affect that.
2013-12-20 15:26:33
From: footballjds
sharks aren't at every fishing hole.
2013-12-20 16:07:26
From: fortier4
I know they aren't. It'll start fishing at the correct spot, but right away it'll start searching for another spot.
2013-12-20 16:36:00
From: footballjds
it is actually an attempt to click on the same spot again to validate it's position so we can track it.
2013-12-20 17:20:36
From: fortier4
That makes sense, but my assumption is that it shouldn't be running from spot to spot continuously.
2013-12-21 15:31:06
From: footballjds
it shouldn't and it if did that during testing it wouldn't have been released
2013-12-21 21:14:35
From: fortier4
Good point there. Do you have a suggestion what might be wrong then? Or should I go on a wild goose chase?
2013-12-21 21:25:07
From: footballjds
I may need to update the script
2013-12-23 09:24:03
2013-12-23 13:17:47
2013-12-24 14:44:29
Exception in Script: Runtime error: "Access violation" at line 65, column 18 in file "C:\Simba\Includes\sps\sps-rs3.simba"
The following bitmaps were not freed: [Minimap Mask, SMART Debug Image, 2]
File[C:\Simba\Includes\SRL-6/logs/SRL log (24-12-13 at 02.40.58 PM).txt] has not been freed in the script, freeing it now.2013-12-25 05:18:20
From: zerocool99
TSPSArea.getPlayerPos(): result = {X = 146, Y = 102} took 31 ms
– TSPSArea.getPlayerPos(): result = {X = 146, Y = 102} took 47 ms
– TSPSArea.getPlayerPos(): result = {X = 146, Y = 102} took 31 ms
any ideas please
2013-12-29 14:55:10
2013-12-29 16:22:20
From: Wu-Tang Clan
Is there an ideal camera angle?
2013-12-30 09:05:09
2013-12-30 11:53:54
From: tehYosh
Been using this script a fair bit, was using it for tuna/swordies and never had many issues, now started on sharks but the first time I did when attempting to go back to deposit the shark the script moved to behind the bank and then wouldn't do anything, after putting it back into position I never saw it happen again, and it's worked fine. Also when fishing sometimes it will sometimes end up just going to another spot, is there a reason behind this?
tl;dr Moved behind bank and then stopped, why does it sometimes change fishing spot all of a sudden?
Also, thank you for the awesome script though, will get some proggies for sharks soon! :)
2013-12-30 16:55:29
2013-12-30 17:33:05
From: footballjds
tehYosh, we can make this script flawless yet! All i need is a little help from testers like yourself.
1. It should attempt to re-enter the bank if unable to open the bank. i'll take a look at that again.
2. It will change fishing spots if any of the following conditions are met:
- Fishing spot disappears
- No fish are caught in the specified min wait time
- There's no player animation(player stopped casting rod)
If the script chose another fishing spot for any other reason please let me know!
------ Entering username...
------ Entering password...
-------- Saving screenshot: IP_address.png
------ Found lobby screen
---- TPlayer.loginToLobby(): True
------ TRSLobby.findPlayButton(): result = False
So I'm not sure what all this is about, but it logs in with my details, and then fails to click the play now, if I disable smart, click the button, and re-enable, the script just idles, leaving the coded message as the last thing in simba. I did manage to work around it by pausing the script (I can't remember at what stage), input my details, logged in and went to the bank, resumed the script and it caught 2 lobsters to then tell me a bitmap couldn't be freed and stopped.From: KingMario111
the bot isnt working at all.
Exception in Script: File "sps/sps-rs3.simba" not found at line 4, column 5
Fix your bot pls.
From: tehYosh
You could just change the line "{$i sps/sps-rs3.simba}" to "{$i sps/lib/sps-rs3.simba}" so it searches in the right directory.
2013-12-31 03:37:52
From: footballjds
tehYosh, we can make this script flawless yet! All i need is a little help from testers like yourself.
1. It should attempt to re-enter the bank if unable to open the bank. i'll take a look at that again.
2. It will change fishing spots if any of the following conditions are met:
- Fishing spot disappears
- No fish are caught in the specified min wait time
- There's no player animation(player stopped casting rod)
If the script chose another fishing spot for any other reason please let me know!
2013-12-31 09:19:32
From: tehYosh
It's why I'm trying to help you by letting you know anything I come across! :)
1. It just sat there, idling away, it was on the grass just behind the bank, to the west on the compass, but like I say as soon as I moved it back it was fine, so not sure if it was just a one off by pure random luck.
2. I assume that the waiting time might have been what's causing that then, is there anyway to change it to give it a bit more time?
Update: This has only just started happening from earlier on,So I'm not sure what all this is about, but it logs in with my details, and then fails to click the play now, if I disable smart, click the button, and re-enable, the script just idles, leaving the coded message as the last thing in simba. I did manage to work around it by pausing the script (I can't remember at what stage), input my details, logged in and went to the bank, resumed the script and it caught 2 lobsters to then tell me a bitmap couldn't be freed and stopped.------ Entering username...
------ Entering password...
-------- Saving screenshot: IP_address.png
------ Found lobby screen
---- TPlayer.loginToLobby(): True
------ TRSLobby.findPlayButton(): result = False
tl;dr failing to click the 'Play Now' button, script won't run because of this error.
Maybe you should check up on some certain things before you call out the script writer, I posted in this thread telling you how to fix that problem…
2014-01-01 05:33:52
2014-01-02 12:29:00
2014-01-02 13:06:12
From: Fervidity
Really new to using Simba for bots but i dont know where to put image and simba gives me this when i try to start it
Exception in Script: File "SRL-6/SRL.simba" not found at line 3, column 5
I've doubled checked those lines and there all correct
From: tehYosh
Update: This has only just started happening from earlier on,So I'm not sure what all this is about, but it logs in with my details, and then fails to click the play now, if I disable smart, click the button, and re-enable, the script just idles, leaving the coded message as the last thing in simba. I did manage to work around it by pausing the script (I can't remember at what stage), input my details, logged in and went to the bank, resumed the script and it caught 2 lobsters to then tell me a bitmap couldn't be freed and stopped.------ Entering username...
------ Entering password...
-------- Saving screenshot: IP_address.png
------ Found lobby screen
---- TPlayer.loginToLobby(): True
------ TRSLobby.findPlayButton(): result = False
tl;dr failing to click the 'Play Now' button, script won't run because of this error.
From: Roko
I'm getting an error when it's banking. It enters the PIN correctly and pop-up my bank but it doesn't deposit anything and stays there until I manually deposit the fishes. Is there anything I'm doing wrong?
-- chooseOption._select():
---- chooseOption.isOpen(): result = true
---- Options found: [Bank Banker, Talk-to Banker, Collect Banker, Walk here, Examine Banker, Cancel]
---- Found option "Bank Banker" in "Bank Banker"
-- chooseOption.select() result = true
-- chooseOption._select():
---- chooseOption.isOpen(): result = true
---- Options found: [Cancel]
------ chooseOption.close(): Succesfully closed the menu
---- Failed to find any text matches
-- ChooseOption._select() result = false
-- chooseOption._select():
---- chooseOption.isOpen(): result = true
---- Options found: [Withdraw-1 Bronze nails, Withdraw-5 Bronze nails, Withdraw-10 Bronze nails, Withdraw-14 Bronze nails, Withdraw-X Bronze nails, Withdraw-All Bronze nails, Withdraw-All but one Bronze nails, Examine Bronze nails, Cancel]
------ chooseOption.close(): Succesfully closed the menu
---- Failed to find any text matches
-- ChooseOption._select() result = false
-- chooseOption._select():
---- chooseOption.isOpen(): result = true
---- Options found: [Cancel]
------ chooseOption.close(): Succesfully closed the menu
---- Failed to find any text matches
-- ChooseOption._select() result = false
-- Failed to handle banking
Now, I notice amongst that it's had a play with my Bronze nails in my bank, I have a picture here so as you can see, my bronze nails are nowhere near the deposit button, I think this has something to do with it not realising it's still in the bank menu, and trying to reuse the banker to open it up (but I could be wrong), but anyway I hope this helps!
2014-01-03 09:35:42
2014-01-03 23:38:30
2014-01-10 19:46:23
2014-01-10 20:03:11
2014-01-13 02:03:19
2014-01-15 16:18:36
2014-01-15 16:44:24
From: m-p
There is a problem when its trying to bank. can it be set up to just use the bank deposit box and then just empty into the bank. no need for pin.
2014-01-15 17:10:48
2014-01-16 10:05:44
From: m-p
in the bank at the fishing guild south wall
2014-01-16 17:23:07
2014-01-17 09:33:45
From: instagib2001
has not been freed in the script, freeing it now.
hi been getting this error alot still no reply its just comes up this this error The following bitmaps were not freed: [2] and dose not login at all i set up my simba right and runscape settinging plus updated my simba and sps files are up to date plus i reinstalled java plus i reinstalled simba still the same anoying error The following bitmaps were not freed: [2]
2014-01-25 20:17:02
2014-01-26 11:03:06
2014-01-30 16:19:04
2014-02-03 20:52:26
2014-02-05 00:35:50
2014-02-05 08:27:03
From: madhaggis
Just thought I'd let you know that I joined this community specifically for this script. Used it for a day or two after figuring out how to configure Simba and all that jazz. Runs very well, save for a couple things that have been mentioned:
Sometimes goes behind the bank and then hangs because it doesn't see the banker
Even after changing the wait time, searches for a new fishing spot much too soon. I don't think it sees the player animations at all. I tried playing around with Pixel Shift in it's own script with thoughts of trying to add that in but didn't have much luck with it. No surprise there as I haven't done any coding in over ten years.
Oh and I don't think this has been mentioned. Sometimes it right clicks (I'm guessing to see what type of spot it is) and then doesn't exit - this causes the menu box that is brought up to get in the way, and it sometimes hangs because no more spots are visible.
I haven't had any troubles with logging in, and the script started up just fine after editing line 4 and I think I may have added another include under that. It's really a great script and if you keep an eye on it a little bit then all is well. After finally making lvl 76 I started using your cooking script (been running about 30mins now) and I love it. Keep up the good work. Oh, and maybe add some notes in there so amateur scripters like myself can figure things out and mod it to our liking :thumbsup:
2014-02-05 08:46:28
From: fortier4
I know they aren't. It'll start fishing at the correct spot, but right away it'll start searching for another spot.
2014-02-05 14:48:01
2014-02-05 15:22:09
From: madhaggis
eagerly anticipating updated script so I can fish the hell outta some shark! :sasmokin:
2014-02-05 18:24:15
2014-02-05 20:26:27
From: blindout
hello, having issue with
FATAL ERROR: fishGuild.setup(): Unable to find map, searched path C:\Simba\Includes\SPS\img\fish_guild.png
—- Freeing the minimap mask
—- Succesfully freed SMART[2660]
Successfully executed.
so ive fixed your sps3 problem, well someone else ashaman from one of his scripts and i implemented it into your script anyways heres the fix for sps3 thingyyy just replace the top 3 lines with
{$DEFINE SMART}
{$I SRL-6/SRL.Simba}
{$I SPS/lib/SPS-RS3.Simba}
fixed it for me no problem but im sitll having issue with it not finding the map though its in the correct folder and says its looking inthe correct folder
2014-02-05 20:38:47
2014-02-05 22:28:57
2014-02-05 23:00:06
From: footballjds
something must be wrong…
2014-02-06 08:40:07
From: blindout
lol ya, what could be causing this?
2014-02-06 13:44:58
2014-02-06 15:33:41
2014-02-06 16:41:52
2014-02-06 16:50:15
2014-02-06 17:17:32
2014-02-06 22:00:57
2014-02-07 00:37:09
2014-02-07 11:19:45
2014-02-07 12:43:34
2014-02-07 13:55:08
From: madhaggis
yeah I'm on a pretty ancient pc running xp. I run Ubuntu on my laptop so no scripting there lol. Must say though, ran the script for about 8 hours straight and it stayed logged in which is awesome. Only getting an average of 75 sharks/hr so a bit slow but whatever.
2014-02-07 17:44:38
2014-02-07 17:45:18
From: yvan49
I am still having problems with banking at the depositbox. It will open the deposit box but never click to deposit my inventory.
2014-02-08 23:42:51
2014-02-09 10:41:01
From: yvan49
I made sure I had everything the same as the setup states but it still doesnt work. But your old script still works for me. The new one seems really slow at fishing and picking a spot as well as it doesnt bank into the deposit box.
2014-02-09 13:41:03
From: footballjds
the image not being in the correct place.
2014-02-10 11:40:18
From: blindout
it is not to mention i have it placed in 2 different folders under
simba/includes/img/RsSurface
" "
2014-02-10 16:02:16
2014-02-10 16:05:03
From: yvan49
I got it to work perfectly except for the depositbox. I have everything the same as the default setup that my screen should be. I get about 100 Sharks an hour.
2014-02-10 19:40:30
2014-02-11 05:32:58
From: yvan49
I don't know what is happening. The deposit box isnt working and then while it is fishing sharks it sometimes clicks top left corner but doesn't click again just over and over and over while i am fishing. Also when fishing the most north part it will click the most south of the north part to find another spot to fish. I can't pm you for some reason.
2014-02-20 22:37:29
2014-02-21 07:28:05
2014-02-22 15:20:04
2014-02-24 00:58:46
2014-02-24 09:39:01
2014-02-24 17:51:16
2014-02-25 10:31:12
2014-02-27 12:51:47
-- setupSRL()
---- Setting up SRL...
---- initSmart():
------ Attempting to pair to a previously spawned client
------ smartPairToExistingClient():
-------- Found 1 free client(s), attempting to pair to one...
---------- smartSetAsTarget(): Succesfully set SMART[6544] as Simba's target
-------- Succesfully paired to a existing client, SMART[6544]
------ smartPairToExistingClient(): result = true
------ Succesfully initialized via pairing to a previously spawned client
---- initSmart()
------ smartSetupDrawing(): Succesfully setup SMART drawing
---- Waiting up to 5 minutes for RS to load...
------ TRSActionBar.__findButton(): Found the actionbar button @ {X = 566, Y = 397}
------ TRSActionBar.__find(): result = true (height = 75)
------ Dynamic interfaces have been set.
---- Client is ready.
---- Setup SRL in 656ms.
-- setupSRL(): True
-- fishGuild.init()
---- Path exists (C:\Simba\Includes\SPS\img\fish_guild.png)
---- Setup area "fish_guild" in 0ms
-- fishGuild.init()
-- fishGuild.getPlayerPos(): result = {X = 70, Y = 94}, took 16 ms
---- TRSGameTab.__initTabs(): Setup gametab properties
-- fishGuild.getPlayerPos(): result = {X = 70, Y = 94}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 70, Y = 94}, took 15 ms
-- fishGuild.walkPath(): result = True
---- Waiting while the player is moving...
-- fishGuild.getPlayerPos(): result = {X = 70, Y = 94}, took 16 ms
-- fishGuild.walkPath(): result = True
-- TRSChooseOption._select():
---- Options found: [Bank Banker, Talk-to Banker, Collect Banker, Walk here, Examine Banker, Cancel]
---- Found option "Bank Banker" in "Bank Banker"
-- TRSChooseOption.select() result = true
---- bankScreen.quickDeposit(): Clicked quick deposit id 0
---- bankscreen.withdraw(): result = true
-- TRSBackpack.waitUnlocked(): Backpack is now unlocked
-- fishGuild.getPlayerPos(): result = {X = 70, Y = 94}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 70, Y = 94}, took 31 ms
---- Waiting while the player is moving...
-- fishGuild.walkPath(): result = True
---- Waiting while the player is moving...
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.walkPath(): result = True
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 31 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 32 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 31 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 31 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 31 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 31 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 32 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 32 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 32 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 32 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 31 ms2014-02-27 15:26:10
2014-03-03 04:34:06
2014-03-05 16:35:17
2014-03-29 17:52:24
2014-03-29 23:10:16
2014-03-30 11:08:35
2014-04-03 15:38:15

2014-04-03 18:52:51
From: Coh3n
I don't think this script works anymore. The SPS image needs updating for the new symbols.
E: I made this one that's working well. Don't mind the HP thing, Idk how to get rid of it.
Nice script! :) Hopefully it won't take too long to get 99. :p
2014-04-05 11:46:20
===========================================================
Run Time: 12h 26m 01s
EXP/Hour: 35128
Total EXP: 436780
Swordfish: 2355
Tuna: 2516
===========================================================
Will take a while to get 99, but the script works really well. Thanks! :)
2014-04-07 08:42:59
From: Coh3n
Just replaced the SPS image in the OP with the one I posted.
E: @footballjds; I don't know if you're still maintaining this, but I've noticed a couple times that the script repeatedly moves the mouse to (0, 0) then moves away, then moves back to (0, 0). It eventually corrects itself, it just seems odd. I also made a small change to make it destroy spin tickets instead of claiming them. If a player has maxed out their tickets you can no longer claim new ones, and the script just keeps clicking the ticket in the inventory.
The drawing to SMART in DirectX doesn't really work for me, so I had the script print the progress report as well. I've had a few like this:Will take a while to get 99, but the script works really well. Thanks! :)
===========================================================
Run Time: 12h 26m 01s
EXP/Hour: 35128
Total EXP: 436780
Swordfish: 2355
Tuna: 2516
===========================================================
2014-04-07 14:39:36
From: footballjdsMost likely; I haven't actually taken a look at it. I've only seen it happen twice, and I've run the script for probably 50+ hours now. I wouldn't really call it a huge issue, but if I get time this week I'll take a look. :)
I'm seriously AFK at this point in time. I can't publicly post why.
Thank Coh3n, also, do you know why it moves the mouse there? I never spent enough time, I'm guessing logic error in a TPA loop?
2014-04-08 01:39:21
From: Coh3n
Most likely; I haven't actually taken a look at it. I've only seen it happen twice, and I've run the script for probably 50+ hours now. I wouldn't really call it a huge issue, but if I get time this week I'll take a look. :)
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 31 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 31 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms2014-04-08 12:56:34
From: blinkblinkThe debug has nothing to do with the map. That being spammed is just the SPS function being called (successfully, according to your debug). You have to disable SRL debug by putting this line before SetupSRL:
How did you fix it on your side the spamming-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 31 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 31 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 16 ms
-- fishGuild.getPlayerPos(): result = {X = 148, Y = 106}, took 15 ms
Even with replacing the map with yours it still spams that and every few seconds its constantly right-clicking on the fishing spot to fish. Also Deposit Box doesn't work as in after it clicks the deposit box in the Window that popups it doesn't do anything and it just goes back to fishing. And if you run it with that option disabled it still forces going to the deposit box but instead it right-clicks it and doesn't select it. For me it does this on DirectX.
Can you maybe post your version sharkFisher.simba, since I also want the progress report on the Simba log
disableSRLDebug := true;
Make sure you have the most up to date version of SRL as I fixed the deposit box issue when I started using this script.
program sharkGuild;
{$DEFINE SMART}
{$I SRL-6/SRL.simba}
{$I sps/lib/sps-rs3.simba}
{$I _sum_include.simba}
type
colorInfo = record
cts: TColorSettings;
color, tol, min: integer;
area: TBox;
end;
var
x, y: integer;
paths: T2DPointArray;
fishGuild: TSPSArea;
fishies: colorInfo;
CurrentSpot: TBox;
our_xy_loc: TPoint;
fishing_spots: TPointArray;
fish_spot2D: T2DPointArray;
need_pouch: boolean;
progyBmp, sharks_caught, swordfish_caught, tuna_caught: integer;
_sharks_caught, _swordfish_caught, _tuna_caught: integer;
fishing_fam: _familiar;
{
[SETUP BELOW]
}
const
USE_DirectX = true;
USE_Deposit_Box = true;//will use deposit box if set to true[deposits ALL]
_GLOBAL_DEBUG = false;
procedure declarePlayers;
begin
setLength(players, 1);
with players[0] do
begin
strings[0] := 'north';//platform [north or south]
strings[1] := 'swordfish';//fish[tuna, swordfish, sharks, random]
integers[0] := 25000;//min wait time for catching a new fish
strings[2] := '';//Familiar to summon(leave blank unless using a familiar)
{'granite crab'|'ibis'|'granite lobster'}
integers[1] := 1;//Familiar pouch slot in bank(have plenty!)
skillLevel[23] := 1;//Summoning level
loginName := '';
bankPin := '';
password := '';
isActive := true;
isMember := true;
world := -1;
end;
currentPlayer := 0;
end;
{
[END SETUP]
}
function invrtClr(clr: integer): integer;
var
r, g, b: integer;
begin
colorToRGB(clr, r, g, b);
result := RGBToColor(255-r, 255-g, 255-b);
end;
procedure initBmp;
begin
progyBmp := BitmapFromString(224, 79, 'meJztvdePXGeeJUj0++wb31RQD' +
'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' +
'/OvlNac3V7FXNaZYrfOHLvlFZZDTN4yzULn3UYq+iMRS+EaPO482l' +
'hu0QfMRmpTkZT3VF4c8Pnh2OrCJP88TT+iIUQX7/ft+quZ/iNkx55' +
'RwsKRYCVCcT/x9pisp+GT7v/NyejFvraujj5u4mdgZHt2fRWKbmBF' +
'J79rwJT+AK8GCCKGCyowBIdB1jXuNkH2lVUAlV+sYdVtoBtCnUAe+' +
'4GBiHE7w/rEFosf7Es23JtixXNHdv39rpZNgsOLTL8L//lv8KEsma' +
'FxtN0bIPVY3vE+/F5MfqZgfOSodQgmvjT33g61Vhqrt4bpuNGWYMF' +
'twhTRTiFzZmUodTMI0rWMqEFl0RPfZif/nio2N5rd8zuoUUFsqvH3' +
'7ZjfL3Yu1Wy+LPDXrlwdHLh6Pjzi50G0ReXun9/rP9iJPv42Pjzha' +
'69uXRXv/21vKXPjbbBOmKt+OGP0sqP1loH1E8ss4S4MopiplLyI8B' +
'nr+Xs5l5znv3MvltabqaxI21ZO97vPfhWr8uPsmiYHnwnbTBGm5V/' +
'Tabv8FulWtsASm3FWLGty+6/2f+7s8mDfz8idJlN2xkY3pqOHW//q' +
'7m5hRBmP8vjvqPvZHJjadnPlTGzugFz5bagLPLktbnG09G2N9fOhm' +
'/8xCedPwQmPHCyucmyXmVfZQl1wqkYEWt2I7yeD61PRjamvPiwwLZ' +
'RDmVec0+VQqzCzF1Jyn602DEyktNhPxJmLOM22BiELN22uNGybKXY' +
'7E3A4brzsjq3H5/nw59cCH9iKF2I/OlvPx1OMYVKbKMYtY9mCHRxr' +
'8XkxbjdlvUpXoMtE3a+LJ5cZ70aGTTt59ShUsnXe+xnzyvz3jiDUk' +
'v3EicDQNr8EeRHKp09W+j6/dG+i7Hs4rGJn672Pb/Y1T1o7yn87u3' +
'Spm+owfLs4Q8ZYb4LfLKYiaaqio12yCTCup7tU5u1ic9rf8yz+2+R' +
'qs9ykC9jrZ+9n/rs/d79+dGXp4ezf0CGwgqkT3m0sjP1po/R7VoKv' +
'zPTuzub2ptPnQp3CKL3BkZOvj3cyZT/mOU+KE/lm7ULw+fXf+zPjv' +
'sKZzM6l+Hz0Ptaa/Zx+lbO9Nr1o1aW9R881KXfKh4qVVk3O/yb/OG' +
'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' +
'As4a92s=');
end;
procedure initColors;
begin
with fishies do
begin
cts.CTS := 2;
cts.modifier.hue := 0.16;
cts.modifier.saturation := 0.46;
color := 13352368;
area := mainscreen.getBounds;
tol := 11;
min := 10;
end;
end;
procedure initPaths;
begin
fishGuild.setup('fish_guild', '', 6, 500, 0.5);
setLength(paths, 3);
//to bank
paths[0] := [Point(120, 131), Point(110, 128), Point(101, 117), Point(96, 104), Point(85, 99), Point(73, 100)];
//to the north dock
paths[1] := [Point(109, 128), Point(99, 113), Point(99, 105), Point(119, 106), Point(135, 104), Point(150, 107)];
//to the south dock
paths[2] := [Point(99, 108), Point(114, 138), Point(123, 148), Point(137, 163), Point(149, 158), Point(146, 142), Point(145, 121)];
end;
procedure initFamiliar;
begin
if players[currentPlayer].strings[2] <> '' then
begin
fishing_fam.name := lowercase(players[currentPlayer].strings[2]);
case fishing_fam.name of
'granite crab': begin fishing_fam.points_needed := 2; fishing_fam.timer_length := 1080000; end;
'ibis': begin fishing_fam.points_needed := 6; fishing_fam.timer_length := 2280000; end;
'granite lobster': begin fishing_fam.points_needed := 8; fishing_fam.timer_length := 2820000; end;
end;
end;
end;
function walk(dest: string): boolean;
var
path: TPointArray;
t: integer;
p: TPoint;
begin
case dest of
'bank': path := paths[0];
'south': path := paths[2];
else path := paths[1];
end;
if SPS_PosToMM(path[high(path)], fishGuild.getPlayerPos, p) then
if (distance(p, minimap.getCenterPoint()) < 5) then exit(true);
t := getSystemTime + randomRange(4000, 5000);
fishGuild.walkPath(path);
minimap.waitPlayerMoving();
result := fishGuild.walkPath(path);
end;
function searchBounds: TBox;
var
sDist, nDist: integer;
sps_Pos, mmX, msX: TPoint;
msB: TBox;
begin
sps_Pos := fishGuild.getPlayerPos;
//smartImage.clearArea(mainscreen.getBounds);
sDist := abs(sps_Pos.y - paths[2][high(paths[2])].y);
nDist := abs(sps_Pos.y - paths[1][high(paths[1])].y);
msB := mainscreen.getBounds;
result := msB;
if nDist < sDist then
begin
if SPS_PosToMM(paths[1][high(paths[1])], sps_Pos, mmX) then
begin
msX := minimap.pointToMainscreen(mmX);
if msB.isPointInside(msX) then
result := intToBox(msB.x1, msB.y1, msX.x + 65, msX.y + 65);
end;
end else
begin
if SPS_PosToMM(paths[2][high(paths[2])], sps_Pos, mmx) then
begin
msX := minimap.pointToMainscreen(mmX);
if msB.isPointInside(msX) then
result := intToBox(msX.x - 100, msX.y - 65, msB.x2, msB.y2);
end;
end;
result.setLimit(mainscreen.getBounds);
smartimage.drawBox(result, false, 656583);
end;
procedure addFishSpots(TPA: TPointArray);
var
tempATPA: T2DPointArray;
i: integer;
begin
tempATPA := fish_spot2D.copy;
for i := 1 to 14 do
fish_spot2D[i] := tempATPA[i-1];
fish_spot2D[0] := TPA;
end;
procedure updateFishSpots(tpa: TPointArray);
begin
if our_xy_loc.equals(fishGuild.getPlayerPos) then
begin
addFishSpots(tpa);
fishing_spots := fish_spot2D.merge;
fishing_spots.clearEquals;
end else
begin
our_xy_loc := fishGuild.getPlayerPos;
setLength(fish_spot2D, 0);
setLength(fish_spot2D, 15);
fishing_spots := tpa.copy;
end;
end;
procedure findFishSpots(searchArea: TBox);
var
tempTPA: TPointArray;
begin
findColorsTolerance(tempTPA, fishies.color, searchArea, fishies.tol, fishies.cts);
updateFishSpots(tempTPA);
end;
function fishSpots(minWait: integer; searchArea: TBox; out fish2D: T2DPointArray): boolean;
var
fishPoints: TPointArray;
findTime, i, h: integer;
testintarray: TIntegerArray;
begin
fish2D := [];
if chooseOption.isOpen then chooseOption.close;
findTime := getSystemTime + randomRange(minWait, round(minWait*1.3));
repeat
findFishSpots(searchArea);
if getSystemTime > findTime then exit;
wait(randomRange(100, 200));
until (length(fishing_spots) > 200);
fishPoints := fishing_spots.copy;
TPAPartitionWrap(fishPoints, 15, 15, fish2d);
result := true;
end;
function TPointArray.centerPoint(): TPoint;
var
tmpArray: TPointArray;
begin
if length(self) < 1 then exit;
tmpArray := self;
tmpArray.sortFromPoint(self.getMiddle);
result := tmpArray[0];
end;
procedure setSpot(spot: TPoint);
var
p: TPointArray;
begin
//Points to check for fishing
//Clockwise starting at the top
p := [[287, 172], [318, 202], [287, 230], [260, 202]];
p.sortFromPoint(spot);
CurrentSpot := [p[0].x-8, p[0].y-8, p[0].x+8, p[0].y+8];
end;
function fishChoice: boolean;
var
tOptions: __TOptionArray;
options: TStringArray;
i: integer;
begin
if chooseOption.optionsExist(['Harpoon']) then
begin
tOptions := chooseOption.__getOptions;
if not(length(tOptions) > 0)then exit;
for i := 0 to high(tOptions) do insert(tOptions[i].str, options);
options.invert;
case lowercase(players[currentPlayer].strings[1]) of
'tuna', 'swordfish': begin
for i := 0 to high(options) do
begin
if (pos('Harpoon', options[i]) > 0) then
if i > 0 then if pos('Cage', options[i-1]) then
begin
mouseBox(tOptions[i].bounds, Mouse_Left);
exit(true);
end;
end;
end;
'sharks': begin
for i := 0 to high(options) do
begin
if (pos('Harpoon', options[i]) > 0) then
if i > 0 then if pos('Net', options[i-1]) then
begin
mouseBox(tOptions[i].bounds, Mouse_Left);
exit(true);
end;
end;
end;
'random': result := chooseOption.select(['Harpoon']);
end;
end;
wait(randomRange(1, 100)); chooseOption.close;
end;
function goFishing: boolean;
var
fish: TPointArray;
spots: T2DPointArray;
i, h: integer;
sps_Pos: TPoint;
begin
if tabBackpack.isFull then exit;
CurrentSpot := [0, 0];
if fishSpots(1000, searchBounds, spots) then
begin
h := high(spots);
for i := 0 to h do
insert(spots[i].centerPoint, fish);
fish.sortFromPoint(mainscreen.playerPoint);
for i := 0 to h do
begin
mouse(fish[i].randRange(-3, 3), Mouse_Right);
if fishChoice then
begin
sps_Pos := fishGuild.getPlayerPos;
if minimap.isFlagPresent(randomRange(1500, 3000)) then
begin
wait(randomRange(500, 800));
minimap.waitPlayerMoving();
wait(randomRange(500, 800));
if sps_Pos.equals(fishGuild.getPlayerPos) then setSpot(fish[i]);
exit(true);
end;
end;
wait(randomRange(1, 200));
end;
end;
end;
function shift50: boolean;
var
shift: integer;
begin
smartImage.drawBox(mainscreen.playerbox, false, 7058322);
shift := getPixelShift(mainscreen.playerbox, 50);
result := (shift > 400);
end;
function spotGone: boolean;
var
tmpRay: TPointArray;
begin
if tabBackpack.isFull then exit(true);
result := currentSpot.equals([0, 0]);
if not result then
begin
tmpRay := fishing_spots.copy;
tmpRay.filterPointsBox(CurrentSpot);
result := length(tmpRay) < 1;
end;
end;
procedure waitWhileFishing;
var
threshold, invCount, shiftTime, spotTime: integer;
wtime: integer;
spinPoint: TPoint;
sumInfo: string;
begin
smartImage.clearArea(mainscreen.getBounds);
smartImage.drawBox(CurrentSpot, false, 656583);
wtime := players[currentPlayer].integers[0];
threshold := getSystemTime + randomRange(wtime, round(wtime*1.3));
shiftTime := getSystemTime + gaussRangeInt(4200, 6000);
spotTime := getSystemTime + randomRange(2000, 3000);
invCount := tabBackpack.count;
while (threshold > getSystemTime) and (shiftTime > getSystemTime) and (spotTime > getSystemTime) do
begin
need_pouch := (not fishing_fam.isSummoned(true, false) and (players[currentPlayer].strings[2] <> ''));
wait(gaussRandom(300));
if findTicket(spinPoint) then
destroyTicket(tabBackpack.pointToSlot(spinPoint));
if (fishing_fam.name <> '') then sumInfo := ' - ' + fishing_fam.name + ' timer: '+msToTime(fishing_fam.getRemaining, TIME_SHORT);
status('Threshold: '+toStr(threshold-getSystemTime)+' - Shift: '+toStr(shiftTime-getSystemTime)+' - Location: '+players[currentPlayer].location+sumInfo);
findFishSpots(searchBounds);
wait(gaussRandom(300));
if not spotGone then spotTime := getSystemTime + randomRange(2000, 3000);;
if shift50 then shiftTime := getSystemTime + gaussRangeInt(4200, 6000);
if invCount <> tabBackpack.count then
begin
invCount := tabBackpack.count;
threshold := getSystemTime + randomRange(wtime, round(wtime*1.3));
end;
end;
end;
function findObelisk: T2DPointArray;
var
threshold: integer;
tempTPA: TPointArray;
begin
threshold := getSystemTime + randomRange(1500, 2000);
while threshold > getSystemTime do
begin
wait(100);
if findColorsTolerance(tempTPA, 10789748, mainscreen.getBounds,
14, colorSetting(2, 0.04, 0.20)) then insert(tempTPA, result);
end;
setLength(tempTPA, 0);
if length(result) > 0 then
begin
tempTPA := result.merge;
tempTPA.clearEquals;
TPAPartitionWrap(tempTPA, 25, 25, result);
result.sortFromMidPoint(mainscreen.playerPoint);
end;
end;
function renew_points: boolean;
var
t2dObelisk: T2DPointArray;
i, h: integer;
begin
if not fishGuild.walkToPos(point(106, 97), fishGuild.getPlayerPos) then exit;
minimap.waitPlayerMoving();
t2dObelisk := findObelisk;
if length(t2dObelisk) < 1 then exit;
h := high(t2dObelisk);
for i := 0 to h do
begin
mouse(t2dObelisk[i].centerPoint, Mouse_Right, Mouse_human);
if chooseOption.select(['Renew-', '-points', 'points Small'], randomRange(1000, 3000)) then
begin
minimap.waitPlayerMoving();
wait(randomRange(100, 500));
exit(true);
end else chooseOption.close;
end;
end;
function getDepositBox: TPoint;
var
depositPoints: TPointArray;
depositBoxes: T2DPointArray;
i, h: integer;
begin
result := [-1, -1];
if findColorsTolerance(depositPoints, 609645, mainscreen.getBounds, 5, colorSetting(2, 0.06, 0.46)) then
begin
TPAPartitionWrap(depositPoints, 28, 28, depositBoxes);
depositBoxes.sortBySize();
if (length(depositBoxes[0]) > 100) then
result := depositBoxes[0].getMiddle else exit();
if _GLOBAL_DEBUG then smartImage.drawCross(result, 5, invrtClr(getColor(result)));
end;
end;
function findBankers: TPointArray;
var
grayPoints: TPointArray;
bankers: T2DPointArray;
i, h: integer;
begin
if findColorsTolerance(grayPoints, 8027271, mainscreen.getBounds, 7, colorSetting(2, 0.59, 0.21)) then
begin
TPAPartitionWrap(grayPoints, 30, 30, bankers);
h := high(bankers);
for i := 0 to h do
if length(bankers[i]) > 25 then insert(bankers[i].centerPoint, result);
result.sortFromPoint(mainscreen.playerPoint);
end;
end;
function HandleBanking: boolean;
var
bankPoints: TPointArray;
i: integer;
threshold, timer: integer;
begin
threshold := getSystemTime + randomRange(25000, 45000);
if walk('bank') then
begin
repeat
bankPoints := findBankers;
if length(bankPoints) > 0 then
begin
for i := 0 to high(bankPoints) do
begin
mouse(bankPoints[i], Mouse_Right);
if chooseOption.select(['Bank Banker', 'ank Banker', 'Bank Bank'], randomRange(2500,3500)) then
begin
timer := getSystemTime + randomRange(3000, 5000);
while (timer > getSystemTime) do
begin
if bankscreen.isOpen or pinscreen.isOpen then break;
wait(randomRange(100,200));
end;
end;
if bankscreen.isOpen or pinscreen.isOpen then break;
end;
end;
until (bankscreen.isOpen) or (pinscreen.isOpen) or (getSystemTime > threshold);
end;
if pinscreen.isOpen then pinscreen.enter(players[currentPlayer].bankPin);
if not bankscreen.isOpen then exit;
if bankscreen.quickDeposit(QUICK_DEPOSIT_INVENTORY) then
begin
if need_pouch then bankscreen.withdraw(players[currentPlayer].integers[1], 1, ['']);
while threshold > getSystemTime do
begin
wait(randomRange(250, 400));
if bankscreen.close then
begin
tabBackpack.waitWhileLocked;
exit(true);
end;
end;
end;
end;
function handleDepositing: boolean;
var
depositBoxPoint: TPoint;
boxOpen: boolean;
i: integer;
begin
if not walk('bank') then
begin
print('Failed to walk to bank... [00231]');
exit;
end;
for i := 0 to 3 do
begin
depositBoxPoint := getDepositBox;
if depositBoxPoint.x < 1 then exit;
mouse(depositBoxPoint, MOUSE_MOVE, MOUSE_HUMAN);
wait(gaussRandom(25));
if (pos('Deposit Bank', getMouseOverText) > 0) then
begin
fastClick(MOUSE_LEFT);
boxOpen := depositBox.isOpen(randomRange(1000, 3000));
if boxOpen then break;
end else mouseBox(chatBox.getBounds, MOUSE_MOVE, MOUSE_HUMAN);
end;
if not boxOpen then exit();
depositBox.quickDeposit(QUICK_DEPOSITBOX_INVENTORY);
result := depositBox.close;
end;
procedure countFish;
var
bcnts: TPointArray;
i: integer;
begin
sharks_caught := 0;
swordfish_caught := 0;
tuna_caught := 0;
if not tabBackpack.open then exit;
for i := 1 to 28 do
begin
findColors(bcnts, ITEM_OUTLINE_BLACK, tabBackpack.getSlotBox(i));
case length(bcnts) of
113: inc(sharks_caught);
91: inc(swordfish_caught);
81: inc(tuna_caught);
end;
end;
end;
procedure printProgress;
var
secondsElapsed, expPHour, totalEXP: extended;
begin
clearDebug;
_sharks_caught := _sharks_caught + sharks_caught;
_swordfish_caught := _swordfish_caught + swordfish_caught;
_tuna_caught := _tuna_caught + tuna_caught;
totalEXP := (_sharks_caught * 110) + (_swordfish_caught * 100) + (_tuna_caught * 80);
secondsElapsed := (getTimeRunning/1000);
expPHour := (totalEXP * 60 * 60) / secondsElapsed;
smartImage.clearArea(intToBox(576, 200, 798, 278));
smartImage.drawBitmap(progyBmp, point(576, 200));
smartImage.DrawText('Run Time: ' + msToTime(GetTimeRunning, TIME_SHORT), Point(618, 224), upchars, false, 1376386);
smartImage.DrawText('EXP/Hour: ' + toString(round(expPHour)), Point(618, 234), upchars, false, 1376386);
smartImage.DrawText('Total EXP: ' + toString(totalEXP), Point(618, 244), upchars, false, 1376386);
case lowercase(players[currentPlayer].strings[1]) of
'random': smartImage.DrawText('Sharks: ' + toString(_sharks_caught) + ' Swordys: ' + toString(_swordfish_caught) + ' Tuna: ' + toString(_tuna_caught), Point(618, 254), upchars, false, 1376386);
'sharks': smartImage.DrawText('Sharks caught: ' + toString(_sharks_caught), Point(618, 254), upchars, false, 1376386);
'tuna', 'swordfish': smartImage.DrawText('Swordfish: ' + toString(_swordfish_caught) + ' - Tuna: ' + toString(_tuna_caught), Point(618, 254), upchars, false, 1376386);
end;
writeln('===========================================================');
writeln('Run Time: ' + msToTime(GetTimeRunning, TIME_SHORT));
writeln('EXP/Hour: ' + toString(round(expPHour)));
writeln('Total EXP: ' + toString(totalEXP));
case lowercase(players[currentPlayer].strings[1]) of
'random': writeln('Sharks: ' + toString(_sharks_caught) + ' Swordys: ' + toString(_swordfish_caught) + ' Tuna: ' + toString(_tuna_caught));
'sharks': writeln('Sharks caught: ' + toString(_sharks_caught), Point(618, 254), upchars, false, 1376386);
'tuna', 'swordfish':
begin
writeln('Swordfish: ' + toString(_swordfish_caught));
writeln('Tuna: ' + toString(_tuna_caught));
end;
end;
writeln('===========================================================');
end;
procedure prepareSelf;
begin
wait(random(500, 1500));
minimap.clickCompass;
wait(random(500, 1500));
mainscreen.setAngle(MS_ANGLE_HIGH);
wait(random(1, 1500));
exitTreasure;
end;
procedure setLocation;
var
sps_Pos: TPoint;
places: TPointArray;
dist: TIntegerArray;
begin
sps_Pos := fishGuild.getPlayerPos;
if sps_Pos.equals([-1, -1]) then exit;
//bank, north, south
dist := [distance(sps_Pos, paths[0][high(paths[0])]), abs(sps_Pos.y - paths[1][high(paths[1])].y), abs(sps_Pos.y - paths[2][high(paths[2])].y)];
if dist[0] < 10 then
begin
players[currentPlayer].location := 'bank';
exit;
end;
case dist.returnInArray(min(dist[1], dist[2])) of
1: players[currentPlayer].location := 'north_dock';
2: players[currentPlayer].location := 'south_dock';
else players[currentPlayer].location := 'lost';
end;
end;
procedure mainLoop;
var
bankingIt: function: boolean;
begin
if not isLoggedIn then
begin
print('We''re not logged in. respawning client.');
wait(randomRange(5000, 10000));
smartReloadClient((5 * 60000) + random(15000));
if (waitClientReady()) then
begin
print('Client succesfully loaded after reload');
end else
begin
print('Client never reloaded after restart..', TDebug.FATAL);
terminateScript;
end;
if not players[currentPlayer].isActive then players.next(false);
if players[currentPlayer].login then prepareSelf;
if not isLoggedIn then
begin
writeln('Terminating, not logged in.');
terminateScript;
end;
end;
setLocation;
if tabBackpack.isFull or need_pouch then
begin
countFish;
//I use a function pointer here for fun
if (not(need_pouch) and USE_Deposit_Box) then
bankingIt := @handleDepositing else bankingIt := @HandleBanking;
if bankingIt then
begin
wait(randomRange(600, 1000));
if need_pouch then
begin
if fishing_fam.points_needed > fishing_fam.getPoints then renew_points;
if fishing_fam.summon(1, true) then need_pouch := false;
end;
printProgress;
if walk(players[currentPlayer].strings[0]) then
begin
end else
print('Failed to walk to: '+players[currentPlayer].strings[0]);
end else print('Failed to handle banking');
end;
if (players[currentPlayer].location = 'bank') then walk(players[currentPlayer].strings[0]);
if goFishing then waitWhileFishing else if not(tabBackpack.isFull) then
walk(players[currentPlayer].strings[0]);
end;
begin
if USE_DirectX then smartPlugins := ['d3d9.dll'];
smartEnableDrawing := true;
smartShowConsole := false;
disableSRLDebug := true;
disableIPScreenshots := true;
setupsrl;
declarePlayers;
initPaths;
initColors;
initBmp;
initFamiliar;
need_pouch := players[currentPlayer].strings[2] <> '';
setLength(fish_spot2D, 15);
if not isLoggedIn then if players[currentPlayer].login then prepareSelf;
while players.getActive > 0 do mainLoop;
end.
2014-04-08 15:47:22
From: Coh3n
Most likely; I haven't actually taken a look at it. I've only seen it happen twice, and I've run the script for probably 50+ hours now. I wouldn't really call it a huge issue, but if I get time this week I'll take a look. :)
2014-04-08 19:34:13
From: Coh3n
The debug has nothing to do with the map. That being spammed is just the SPS function being called (successfully, according to your debug). You have to disable SRL debug by putting this line before SetupSRL:Make sure you have the most up to date version of SRL as I fixed the deposit box issue when I started using this script.
disableSRLDebug := true;
Here's my version; although there really isn't anything that's changed, other than the progress report.
SNAP
2014-04-08 19:54:33
From: blinkblinkYou need to make sure SRL is up to date, not SPS.
What I did was I re-downloaded again the script(erased the content of my old folder and replaced it, kept your Map version in the Includes/SPS/img/), Yes I had checked for Extensions/SRL/SPS updates, didn't need any(already had the latest) and tested the script again and that is when I decided to go here posting about the issues :P
Thanks for posting yours, will re-test in a bit and update this post… now if it acts the same then I have no idea what is wrong. My ingame settings are exactly as the Ash tutorial setup which I've used on several scripts suicide runs.
2014-04-09 08:16:47
From: blinkblink
Yes I had checked for Extensions/SRL/SPS updates, didn't need any(already had the latest) and tested the script again and that is when I decided to go here posting about the issues :P
From: Coh3n
You need to make sure SRL is up to date, not SPS.
2014-04-09 12:57:49
2014-04-09 14:14:46
From: Coh3n
Alright well I can't say anything about going to the deposit box even when that option isn't checked, but opening the deposit box works fine for me. I would just double check your settings are correct. Sometimes interfaces like that can be moved slightly which messes up SRL, so make sure the deposit box interface is in the default position.
2014-04-16 16:47:12
2014-04-20 21:05:44
2014-04-21 11:55:58
—— smartSetupDrawing(): Succesfully setup SMART drawing
—- Waiting up to 5 minutes for RS to load…
—- WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—— TRSActionBar.__find(): result = false
—- Client is ready.
—- Setup SRL in 109ms.
– setupSRL(): True
– fishGuild.init()
—- Path exists (C:\Simba\Includes\SPS\img\fish_guild.png)
—- Setup area "fish_guild" in 31ms
– fishGuild.init()
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
—- TRSMinimap.clickCompass(): Clicked compass
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– fishGuild.getPlayerPos(): Angle is at 252.897271030948, Setting angle to 0 degrees
– TRSChooseOption._select():
—- ERROR: ChooseOption menu never appeared
– TRSChooseOption.select() result = false
—- TRSMinimap.clickCompass(): Clicked compass
– WARNING: fishGuild.getPlayerPos(): Didn't find enough matches accurately calc your postion
– fishGuild.getPlayerPos(): result = {X = -1, Y = -1}, took 2453 ms
—- TRSGameTab.__initTabs(): Setup gametab properties
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– fishGuild.getPlayerPos(): Angle is at 252.897271030948, Setting angle to 0 degrees
—- TRSMinimap.clickCompass(): Clicked compass
– WARNING: fishGuild.getPlayerPos(): Didn't find enough matches accurately calc your postion
– fishGuild.getPlayerPos(): result = {X = -1, Y = -1}, took 2297 ms
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– fishGuild.getPlayerPos(): Angle is at 252.897271030948, Setting angle to 0 degrees
– TRSChooseOption._select():
—- ERROR: ChooseOption menu never appeared
– TRSChooseOption.select() result = false
—- TRSMinimap.clickCompass(): Clicked compass
– WARNING: fishGuild.getPlayerPos(): Didn't find enough matches accurately calc your postion
– fishGuild.getPlayerPos(): result = {X = -1, Y = -1}, took 2547 ms
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– fishGuild.getPlayerPos(): Angle is at 252.897271030948, Setting angle to 0 degrees
—- TRSMinimap.clickCompass(): Clicked compass
– WARNING: fishGuild.getPlayerPos(): Didn't find enough matches accurately calc your postion
– fishGuild.getPlayerPos(): result = {X = -1, Y = -1}, took 2344 ms
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– fishGuild.getPlayerPos(): Angle is at 252.897271030948, Setting angle to 0 degrees
—- TRSMinimap.clickCompass(): Clicked compass
– WARNING: fishGuild.getPlayerPos(): Didn't find enough matches accurately calc your postion
– fishGuild.getPlayerPos(): result = {X = -1, Y = -1}, took 2187 ms
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– fishGuild.getPlayerPos(): Angle is at 252.897271030948, Setting angle to 0 degrees
– TRSChooseOption._select():
—- ERROR: ChooseOption menu never appeared
– TRSChooseOption.select() result = false
—- TRSMinimap.clickCompass(): Clicked compass
– WARNING: fishGuild.getPlayerPos(): Didn't find enough matches accurately calc your postion
– fishGuild.getPlayerPos(): result = {X = -1, Y = -1}, took 2454 ms
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– fishGuild.getPlayerPos(): Angle is at 252.897271030948, Setting angle to 0 degrees
—- TRSMinimap.clickCompass(): Clicked compass
– WARNING: fishGuild.getPlayerPos(): Didn't find enough matches accurately calc your postion
– fishGuild.getPlayerPos(): result = {X = -1, Y = -1}, took 1843 ms
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– fishGuild.getPlayerPos(): Angle is at 252.897271030948, Setting angle to 0 degrees
—- TRSMinimap.clickCompass(): Clicked compass
– WARNING: fishGuild.getPlayerPos(): Didn't find enough matches accurately calc your postion
– fishGuild.getPlayerPos(): result = {X = -1, Y = -1}, took 1968 ms
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– fishGuild.getPlayerPos(): Angle is at 252.897271030948, Setting angle to 0 degrees
—- TRSMinimap.clickCompass(): Clicked compass
– WARNING: fishGuild.getPlayerPos(): Didn't find enough matches accurately calc your postion
– fishGuild.getPlayerPos(): result = {X = -1, Y = -1}, took 2156 ms
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– fishGuild.getPlayerPos(): Angle is at 252.897271030948, Setting angle to 0 degrees
—- TRSMinimap.clickCompass(): Clicked compass
– WARNING: fishGuild.getPlayerPos(): Didn't find enough matches accurately calc your postion
– fishGuild.getPlayerPos(): result = {X = -1, Y = -1}, took 1984 ms
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– fishGuild.getPlayerPos(): Angle is at 252.897271030948, Setting angle to 0 degrees
—- TRSMinimap.clickCompass(): Clicked compass
– WARNING: fishGuild.getPlayerPos(): Didn't find enough matches accurately calc your postion
– fishGuild.getPlayerPos(): result = {X = -1, Y = -1}, took 2094 ms
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– fishGuild.getPlayerPos(): Angle is at 252.897271030948, Setting angle to 0 degrees
—- TRSMinimap.clickCompass(): Clicked compass
– WARNING: fishGuild.getPlayerPos(): Didn't find enough matches accurately calc your postion
– fishGuild.getPlayerPos(): result = {X = -1, Y = -1}, took 2266 ms
– fishGuild.walkPath(): result = False
—- Waiting while the player is moving…
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– fishGuild.getPlayerPos(): Angle is at 252.897271030948, Setting angle to 0 degrees
—- TRSMinimap.clickCompass(): Clicked compass
– WARNING: fishGuild.getPlayerPos(): Didn't find enough matches accurately calc your postion
– fishGuild.getPlayerPos(): result = {X = -1, Y = -1}, took 2000 ms
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– WARNING: TRSActionBar.__findButton(): Failed to find any vaild bounds
—- TRSActionBar.__find(): result = false
– fishGuild.getPlayerPos(): Angle is at 252.897271030948, Setting angle to 0 degrees
—- TRSMinimap.clickCompass(): Clicked compass
2014-04-21 16:36:28
From: Coh3n
Thanks @footballjds; just got 99 fishing today. :)
2014-04-22 01:29:09
2014-04-22 09:34:45
From: Thetruepatriot97
Having a problem, can anyone help, script works perfectly for about an hour then this happens -
Exception in Script: Runtime error: "Invalid floating point operation" at line 254, column 20 in file "C:\Simba\Includes\SRL-6\lib\core\mouse.simba"
The following bitmaps were not freed: [Minimap Mask, SMART Debug Image, 2, Gametab Bitmap[0], Gametab Bitmap[1], Gametab Bitmap[2], Gametab Bitmap[3], Gametab Bitmap[4], Gametab Bitmap[5], Gametab Bitmap[6], Gametab Bitmap[7], Gametab Bitmap[8], Gametab Bitmap[9], Gametab Bitmap[10], Gametab Bitmap[11], Gametab Bitmap[12], Gametab Bitmap[13]]
File[C:\Simba\Includes\SRL-6/logs/SRL log (22-04-14 at 05.34.27 AM).txt] has not been freed in the script, freeing it now.
2014-04-22 18:06:11
2014-04-23 10:17:32
From: Thetruepatriot97
Re downloaded the script numerous times, still get the same error occuring randomly:
Exception in Script: Runtime error: "Invalid floating point operation" at line 254, column 20 in file "C:\Simba\Includes\SRL-6\lib\core\mouse.simba"
The following bitmaps were not freed: [Minimap Mask, SMART Debug Image, 2, Gametab Bitmap[0], Gametab Bitmap[1], Gametab Bitmap[2], Gametab Bitmap[3], Gametab Bitmap[4], Gametab Bitmap[5], Gametab Bitmap[6], Gametab Bitmap[7], Gametab Bitmap[8], Gametab Bitmap[9], Gametab Bitmap[10], Gametab Bitmap[11], Gametab Bitmap[12], Gametab Bitmap[13]]
File[C:\Simba\Includes\SRL-6/logs/SRL log (22-04-14 at 10.53.19 PM).txt] has not been freed in the script, freeing it now.
2014-04-24 15:50:32
2014-04-24 16:23:30
2014-04-24 17:40:58
2014-04-25 11:45:05
2014-04-25 12:51:50
2014-05-22 12:15:40
2014-06-09 19:13:36
2014-06-11 12:41:31
From: b12hitman
—— smartSetupDrawing(): Succesfully setup SMART drawing
—- Waiting up to 5 minutes for RS to load…
the login screen just keeps flashing and it doesnt move on
2014-06-11 17:17:52
2014-06-12 11:22:38
2014-06-22 10:48:52
2014-06-24 22:19:58
2014-06-29 14:36:41
2014-06-30 02:56:00
2014-07-24 16:55:42
2014-07-25 14:13:33
2014-07-25 14:24:25
From: phillipl00
uh could some 1 please help me to get this working? its my first time using simba and if u could tell me over skype wat to do i would be very grateful
2014-07-25 14:33:20
2014-07-25 14:55:40
2014-07-25 15:00:37
2014-07-25 19:59:20
From: toxjq
post your log! did you update your SRL SPS and allow extensions? and you need to make sure your interpreter set to Leap (VERY IMPORTANT)
2014-07-25 20:15:43
2014-07-25 20:21:56
2014-07-25 23:06:25
2014-07-27 12:02:21
2014-07-27 15:43:52
2014-08-03 18:34:13
From: Jacob
Downloaded this script, the fishing works good but it doesn't bank correctly. It clicks right above the bank and gets stuck there. Any ideas what to do?
2014-08-07 00:43:31
2014-08-11 06:15:39
2014-08-11 07:30:01
From: speedcho159
i need help how to type the settings and the password can someone show me how to do it on this script ?
players.setup(playerForm.playerNames, playerForm.playerFile);
setLength(players, 1);
with players[0] do
begin
world := -1;
integers[0] := strToInt(playerForm.players[0].settings[0]);//Fish wait time
2014-08-11 10:06:27
2014-08-11 10:20:24
2014-08-11 10:28:02
2014-08-11 11:21:20
2014-08-14 08:20:23
2014-08-30 03:11:29
2014-09-04 21:39:13
2014-09-05 16:04:26
2014-09-05 19:09:17
2014-09-05 20:59:22
2014-09-05 21:08:21
2014-09-15 16:06:54
2014-09-24 06:42:48
2014-09-24 18:27:23
2014-10-02 09:38:02
TPAPartitionWrap(fishPoints, 15, 15, fish2d);Error: Unknown declaration "TPAPartitionWrap" at line 850
Compiling failed.2014-10-08 10:18:05
From: Note
TPAPartitionWrap(fishPoints, 15, 15, fish2d);Error: Unknown declaration "TPAPartitionWrap" at line 850
Compiling failed.
Anyone know how to fix this ?
2014-10-09 16:10:05
2014-10-10 10:00:27
From: rillu
I'm getting this error when trying to start.
Error: Unknown declaration "PartitionWrap" at line 870
Compiling failed.
2014-10-10 10:30:58
From: footballjds
Yes, change that line from: TPAPartitionWrap(fishPoints, 15, 15, fish2d);
To: fish2d := PartitionWrap(fishPoints, 15, 15);
Error: Unknown declaration "PartitionWrap" at line 850
Compiling failed.
function fishSpots(minWait: integer; searchArea: TBox; out fish2D: T2DPointArray): boolean;
var
fishPoints: TPointArray;
findTime, i, h: integer;
testintarray: TIntegerArray;
begin
fish2D := [];
if chooseOption.isOpen then chooseOption.close;
findTime := getSystemTime + randomRange(minWait, round(minWait*1.3));
repeat
findFishSpots(searchArea);
if getSystemTime > findTime then exit;
wait(randomRange(100, 200));
until (length(fishing_spots) > 200);
fishPoints := fishing_spots.copy;
fish2d := PartitionWrap(fishPoints, 15, 15);
result := true;
end;
2014-10-10 10:35:25
2014-10-10 13:59:02
2014-10-10 21:26:17
From: footballjds
@Note,
update your version of simba to the latest.
2014-10-12 23:43:50
2014-10-13 08:26:32
From: footballjds
lol,
Excuse my idiotic post…
change: TPAPartitionWrap(fishPoints, 15, 15, fish2d);
To: fish2d := PartitionTPA(fishPoints, 15, 15);
E:
I see Ashaman updated my script 4 days ago, he must have derped on that line ;)
Thank him though cause he fixed the other places I used TPA Partitioning. I just updated my script on github so new DL's should work.
Compiling failed.
Error: Unknown declaration "TPAPartitionWrap" at line 1088
Compiling failed.
Error: Unknown declaration "TPAPartitionWrap" at line 1108
Compiling failed.
Error: Too many parameters found at line 1052
Compiling failed.
Error: Too many parameters found at line 1052
Compiling failed.
2014-10-13 10:34:24
2014-10-13 11:09:04
2014-10-13 22:55:33
From: footballjds
idk if the script compiles or not. Let me briefly explain the issue so you can fix it.
TPAPartitionWrap(fishPoints, 15, 15, fish2d); is a procedure and a wrapper. Procedures only do things and do not return a anything.
PartitionTPA is a function. Functions can(do) return a result.
Basically, anywhere you see: TPAPartitionWrap(fishPoints, 15, 15, fish2d);
You take the last variable, in this case fish2d, and you assign the the result of PartitionTPA to that variable like so (and remove that parameter):
fish2d := PartitionTPA(fishPoints, 15, 15);
Here's another example…
Change: TPAPartitionWrap(points, 15, 15, resultOf);
to: resultOf := PartitionTPA(points, 15, 15);
2014-10-15 05:40:34
2014-10-15 11:22:21

2014-10-16 00:12:35
From: Note
has done around 20hours all up no problems at all , dunno why it doesn't count exp and such but idc xD works like a champ got around 5k+ sharks
2014-10-16 00:16:56
From: Cyanempire
how does yours bank fine?.
2014-10-16 01:08:41
From: Note
I have my banking set via deposit box :o
another proggie![]()
2014-10-16 04:49:24
From: Cyanempire
Tried It with True/False with the deposit box
it still walks outside of the bank after a full inventory.
2014-10-16 09:22:38
From: Note
all i can suggest is uninstall simba , complete clean install
update srl /sps/ plugins ect
download the script from the github for the latest version then
extract and run script ;o
if still not then post debug ?
edit : make sure you runescape is set up to simba needs eg brightness , and the oldschool layout ect ect
2014-10-19 23:57:42
#flawless mate @footballjds
2014-10-24 00:55:11
2014-10-26 17:59:24
– .getPlayerPos(): result = {X = 166, Y = 136}, took 31 ms
– .getPlayerPos(): result = {X = 166, Y = 136}, took 31 ms
– .getPlayerPos(): result = {X = 166, Y = 136}, took 31 ms
– .getPlayerPos(): result = {X = 166, Y = 136}, took 32 ms
– .getPlayerPos(): result = {X = 166, Y = 136}, took 31 ms
– .getPlayerPos(): result = {X = 166, Y = 136}, took 31 ms
– .getPlayerPos(): result = {X = 166, Y = 136}, took 31 ms
– .getPlayerPos(): result = {X = 166, Y = 136}, took 31 ms
– .getPlayerPos(): result = {X = 166, Y = 136}, took 31 ms
– .getPlayerPos(): result = {X = 166, Y = 136}, took 31 ms
– .getPlayerPos(): result = {X = 166, Y = 136}, took 31 ms
– .getPlayerPos(): result = {X = 166, Y = 136}, took 32 ms
– .getPlayerPos(): result = {X = 166, Y = 136}, took 16 ms
2014-10-30 12:44:50
2014-11-01 15:05:24
2014-11-01 16:41:17
From: Dark_Flame
I have the exact same issue as Nathgunner888, also tried with DirectX and OpenGL, changed "Use deposit box" as well. I have already done a fresh install, set the interface to Old School and set the brightness all the way up.
2014-11-09 21:31:33
2014-11-10 16:17:04
2014-11-13 13:48:22
From: masterBB
Moved to outdated
2014-11-23 17:34:46
From: footballjds
Thanks, I'll update it someday, I hope.
2014-11-23 18:59:19
last nights progress i don't know why people say it's not working?
2014-11-23 19:11:28
From: Note
last nights progress i don't know why people say it's not working?
2014-11-23 20:37:01
From: Cyanempire
Maybe you did a fix on yours that was never posted here?. It has problems looking for the Shark fish spot
and Fails banking (deposit box or not)
2014-11-23 20:38:36
From: Coh3n
I don't think this script works anymore. The SPS image needs updating for the new symbols.
E: I made this one that's working well. Don't mind the HP thing, Idk how to get rid of it.
Nice script! :) Hopefully it won't take too long to get 99. :p
2014-11-25 07:41:09
sexy or whut xD
2014-11-25 17:19:28
2014-11-25 17:22:30
From: bruinebanaan
mine just keeps misclicking i got the new image

2014-11-26 06:24:25
2014-12-03 03:40:10
From: Cyanempire
[ATTACH=CONFIG]24495[/ATTACH]
Ran for almost 24 hours just wondering why the other
counters isnt working :)
2014-12-03 18:10:53
2014-12-04 16:10:53
2014-12-05 20:02:50
2014-12-10 15:25:57
2014-12-16 00:08:12
2014-12-16 17:58:54
2014-12-16 19:41:08
2014-12-16 21:43:36
2014-12-28 10:33:10
2014-12-31 10:31:23
2014-12-31 10:35:01
From: BanditBob
Uhm there's two simba files?
2014-12-31 10:39:38
From: KeepBotting
Open 'em both and figure out which one is the script, the other is probably one of football's custom includes
2014-12-31 10:51:22
From: BanditBob
Alright, what does "Socket Disconnected; unpairing" mean?
2014-12-31 10:54:32
From: KeepBotting
Means a Simba has disconnected from a SMART
2014-12-31 12:27:32
2014-12-31 14:01:37
From: BanditBob
—— smartSetupDrawing(): Succesfully setup SMART drawing
—- Waiting up to 5 minutes for RS to load…
—- 1 minute(s) have passed, client is not ready yet
Client is open? .-.
2014-12-31 14:29:51
From: J_R
Check your graphics mode on the client. Try switching it to DirectX / OpenGL (your computer uses one of these) since there's a chance it defaulted to Safe Mode.
2014-12-31 14:47:42
2014-12-31 22:25:40
2015-01-25 09:13:38
2015-01-26 00:39:15
2015-01-26 08:19:45

2015-01-26 09:38:51
2015-01-26 18:05:23
From: prostaker
What options do you use? also DirectX or OpenGl
2015-02-15 12:19:33
2015-02-15 18:08:18
2015-02-16 15:30:34
2015-02-17 14:49:47
2015-02-18 14:02:36
2015-02-18 17:46:10
2015-02-21 20:29:42
From: Coh3n
I don't think this script works anymore. The SPS image needs updating for the new symbols.
E: I made this one that's working well. Don't mind the HP thing, Idk how to get rid of it.
Nice script! :) Hopefully it won't take too long to get 99. :p
2015-02-22 00:33:40
2015-02-23 10:19:22
2015-02-26 01:23:05
2015-03-03 01:11:31
2015-03-03 08:40:40
2015-03-07 16:41:31
2015-03-18 07:16:02
2015-03-19 00:48:47
From: con75
I can't get it to work. Could someone point me in the right direction? I've already took a look at the faq. And what basic Java I've knew I've forgotten years ago.
What line do I need to edit to get this to work?
2015-03-27 09:22:40
From: Cubz
What is the error that you are getting? Kind of hard to help without knowing anything about the issue.
2015-04-07 22:39:12
2015-04-16 10:16:26
From: con75
I can't get it to work. Could someone point me in the right direction? I've already took a look at the faq. And what basic Java I've knew I've forgotten years ago.
What line do I need to edit to get this to work?
2015-04-24 14:36:31