SRL Archive - News and General

SRL Updates


Brandon

2012-06-11 05:44:13

News:


Last Updated: July 7th, 2012. @11:17 AM




Coming soon with the release of Simba v0.99x will be an update to SRL that will potentially break your scripts.
This update helps to keep smart undetectable by passing it the correct parameters.

The update will also require a new version of Smart which is currently released as Smart v7.1 and a new version of Simba released as Simba v0.99 and as such the following updates may take place:


  • Smart.Simba is completely removed as there is no need for wrappers anymore.
  • The Include is backwards compatible now so these changes do not affect old Simba/Smart users.
  • LibSmart.dll is replaced by LibSmartRemote although LibSmart.dll can still be loaded manually
  • Three Global Variables Added: Smart_FixSpeed, SRL_SixHourFix, and Smart_CurrentClient.
  • SmartParams.Simba has everything you need to load a new client.
  • Paint Smart Left Untouched. A new file "SmartGraphics.Simba" has been used instead. Still backwards compatible. See the examples section for more info.
  • A warning may be added to SRL's include for 1 month to allow scripters to get used to the changes and update their scripts. After 1 month, this warning may be removed and you may be forced to update.
  • The above is suppressed by the backwards compatibility. Not actually necessary.

Documentation:


SRL_SixHourFix: allow Scripts to restart Smart and continue running without the need of SmartManager or any third party software. Your scripts will start right where it left off. It is implemented using SRL_Procs[SRL_OnRSUpdate].

Usage:
SRL_SixHourFix:= True;
——————————————————————-


Smart_FixSpeed: fixes the speed of the loading for some users who experience a lag or delay when Smart is loading. It does this by waiting until Smart is enabled and then moving the mouse/refresh bar until a colour is detect on screen.

Usage:
Smart_FixSpeed:= True;
——————————————————————-


SetupSmart: Allows a user to setup a new remote client. This has one parameter which allows you to forcefully start a new client if true. If false, it will use a client that is already loaded. After calling this method, the controller and the client are automatically paired. This will allow you to have multiple smarts per simba process as smart now has it's own process: "SmartRemote.exe". Each Client Spawned has it's own Identifier.

Usage:
SetupSmart(ForceNewClient: Boolean);
——————————————————————-


Smart_CurrentClient: Returns the ID of the current running client (paired or unpaired).

Usage:

var
ID: Integer;

ID:= Smart_CurrentClient; //OR Writeln(Smart_CurrentClient); //etc..
SmartKillClient(ID);
——————————————————————-


SmartGetClientIDs: Gets a list of all running clients (paired and unpaired) and returns their IDs as a TIntegerArray.

Usage:

var
IDs: TIntegerArray;

IDs:= SmartGetClientIDs; //OR Writeln(SmartGetClientIDs); //etc..
——————————————————————-


SmartKillClients:
Kills All clients paired with the current controller. If a client is paired to another controller, that client is not killed.

Usage:
SmartKillClients;



PaintSmart.Simba Update:

PaintSmart.Simba has been changed to SmartGraphics for Simba 0.99+. If using Simba 0.98, it will use PaintSmart instead. Why two files? This is because with such a drastic change it was better to separate it rather than use a larger IFDEF. Simba 0.99+ uses Bitmaps from pointers and requires TMufasaBitmap. Simba 0.98 uses Integer Handles to create bitmaps and a TBitmap. It's completely different!
Now how does this affect you? Well it really doesn't. All the parameters are the exact same and the functions work the exact same except for 1! Smart_DrawBoxes now has an option to fill the box. That is the only change and it is only in 0.99+.


HowTo:


How to update your Simba and your Smart:

Latest Smart here: http://villavu.com/forum/showthread.php?t=84789
Latest Simba here: http://villavu.com/forum/showthread.php?t=85725

1. Create a backup of your Simba scripts, Includes folder and your Plugins folder.
2. Install Simba v0.99x from the link provided.
3. Place the plugins you just downloaded into your plugins folder; Usually located at C:/Simba/Plugins.


How to update your Script when the update hits:

  • Create a backup copy of the script.
  • Use IFDEF's for backwards compatibility if necessary. See the example below.


Sample Script:

Platform Specific Simba 0.98x:

{$DEFINE SMART}
{$I SRL/SRL.Simba}
{$I SRL/SRL/Misc/PaintSmart.Simba}

begin
Smart_Server := 72;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
end.

Platform Specific Simba 0.99x:

{$DEFINE SMART}
{$I SRL/SRL.Simba}
{$I SRL/SRL/Misc/SmartGraphics.Simba}

begin
SRL_SixHourFix := True;
Smart_FixSpeed := True;

SetupSRL;
end.

Backwards Compatibility:

{$DEFINE SMART}
{$I SRL/SRL.Simba}
{$IFDEF SIMBAMAJOR980}
{$I SRL/SRL/Misc/PaintSmart.Simba}
{$ELSE}
{$I SRL/SRL/Misc/SmartGraphics.Simba}
{$ENDIF}

begin
{$IFDEF SMART}
{$IFDEF SIMBAMAJOR980}
Smart_Server := 72;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
{$ELSE}
SRL_SixHourFix := True;
Smart_FixSpeed := True;
{$ENDIF}
{$ENDIF}

SetupSRL;
end.

Drawing On Smart Manually(No SmartGraphics):

{$DEFINE SMART}
{$I SRL/SRL.Simba}

procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colours: TIntegerArray);
var
Width, Height, bmp, I, B, H: Integer;
ATPA: T2DPointArray;
Canvas: Integer; //Canvas: TCanvas;
Colors: TIntegerArray;
begin
GetClientDimensions(Width, Height);
Bmp := BitmapFromString(22, 24, 'meJw9lEko/VEUx5+/OQobsraTIh' +
'bm9+OZp5ANKdkrGWIlpSgbJVmIDVlQYqXIApk2Ssos8/R4Hh4yJLz' +
'/p9837yxu5957zvd8z7n3HMMwUlJSSkpKMjIy0tPTc3JysrKybDZb' +
'ZmYmWw7ZGoaRnJzMyqFuWbOzsz1bvABJS0vLy8tjm5SUZDOFrUAwR' +
'gcBS7xyc3OtViu+HAqBq4KCAhQscSkqKmpsbBwbG1teXl5bW1taWp' +
'qYmGhqaiovL1cgcRC47U+44gQcLA8ODs7Pz+12+/39/ePj4/Pz8+v' +
'rq9Pp3N/f7+zsLC4uTk1NJTruKATFHVgwS0tLx8fH8cXR5XI9PT2h' +
'vLy83N7enp6egvPw8HB0dDQ3N1dbW0u4/Px8VQMhL9aZmRnFJRz2K' +
'Hd3d+Bw+Pv7+/X1BdrHxwchZmdnYaKsVUz4dHd3X19fu0zBEdqHh4' +
'fT09NDQ0N7e3tutxvf7+/vn58f2QwODlJV6gkO7pQInoQGhBXa6+v' +
'rZBoZGent7U36b29vgLy/v6OQCyEAqaqqwp3SQYP08YKkw+HAYHV1' +
'NSwszGKx/DOFW3zdpoAgMwLxRvjyjvylzc1NEMiX9fj4mHPcfXx8L' +
'KZER0cvLi7yKHiR19XVld5oZ2enuroaGjU1NTwfFaN6gFAlPz8/X1' +
'9fouPu7+8vnNDQUPSoqCiM4QmNm5ublpYWylhXV3dycqLUwBkYGAg' +
'JCbH8iZeXF2geKHRCQwB3KLW3t0MYBP0fTgAHgXA4kgVlFBNY6YT6' +
'bG1tqdrgtLW18RxkwT9hCwG4LSwsBAcHy0XuQUFBKNomJCSQheoAb' +
'T6/Ksnb6RUQwCsqKlRGD3NtgWpubnaaQrjd3V0elM9AIsPDw8Dyi8' +
'7OzqgGa0xMTEBAAEFFBvfAwMC4uDglCwEizs/P6zeCUFlZub29zS1' +
'vDcLl5SV5tba2xsbGRkREhIeHx8fHd3R04IWNyogN6YNAc4EADk3H' +
'OUwuLi4+Pz9Flf+8sbFBjpQa2uCr6VD6+/vpJs/ESExMLCsrGx0d5' +
'ZZc9GfUYqz4UjS7KSj8/KmpKRrZMEUIkGGlEXp7ewmnxmSFDy3pMA' +
'UcNc7IyAh9JBe1FQpNChT9jtLQ0LCysqLorEocYUtSXV1dJK55qEG' +
'niWo1hXMQNBXr6+t7enroqcnJSV6qr6+Pj1dYWIgLlpqTMhYZrphy' +
'nINMCPFhOKvImrGeeYixxjg2oqEOxUtjExxuxUfhsAEfe2a4nk+Tm' +
'Vsp/wHgCRiF');

SetArrayLength(ATPA, Length(TP));
for I := 0 to High(ATPA) do
begin
ATPA[i] := LoadTextTPA(TP[i], UpChars, H);
for B := 0 to High(ATPA[i]) do
ATPA[i][B].y := ATPA[i][B].y + i*(H);
end;
if Length(Colours) = 4 then
begin
SetArrayLength(Colors, Length(TP));
for i := 0 to High(Colors) do
Colors[i] := Colours[1];
end else
Colors := Colours;

DrawATPABitmapEx(bmp, ATPA, Colors);
//Canvas := TCANVAS.Create;
//Canvas.Handle := SmartGetDebugDC; //Smart 7.X++ No longer has Device Contexts aka DC's.
//DrawBitmap(bmp, Canvas, Placement.x, Placement.y);

Canvas := CreateBitmap(Width, Height); //Creates a bitmap using the client's dimensions.
SetPersistentMemoryBitmap(Canvas, SmartDebugArray, Width, Height); //Essentially Makes Our Bitmap Point To Smart's Debug Canvas.
FastDrawTransparent(Placement.X, Placement.Y, BMP, Canvas); //Draw Our Bitmap On Smart's Canvas at the specified Position.
ResetPersistentMemoryBitmap(Canvas); //Reset The Canvas Bitmap to point to NULL data. AKA Nothing. Prevents leaks.

FreeBitmap(Canvas); //Free Our Canvas Bitmap.
FreeBitmap(bmp); //Free The bitmap we drew on.
end;

begin
{$IFDEF SMART}
{$IFDEF SIMBAMAJOR980}
Smart_Server := 72;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
{$ELSE}
SRL_SixHourFix := True;
Smart_FixSpeed := True;
{$ENDIF}
{$ENDIF}

SetupSRL;
PrintOnSmart([''], Point(200, 200), [clWhite]); //SmartGraphics should contain everything you need to draw. This function is just for
//those who prefer manual drawing.
end.

Drawing On Smart Automatically(SmartGraphics):

{$DEFINE SMART}
{$I SRL/SRL.Simba}
{$I SRL/SRL/Misc/SmartGraphics.Simba}

procedure PrintOnSmart2(TP: TStringArray; Placement: TPoint; Colours: TIntegerArray);
var
Bmp: Integer;
I, H: Integer;
begin
Bmp := BitmapFromString(22, 24, 'meJw9lEko/VEUx5+/OQobsraTIh' +
'bm9+OZp5ANKdkrGWIlpSgbJVmIDVlQYqXIApk2Ssos8/R4Hh4yJLz' +
'/p9837yxu5957zvd8z7n3HMMwUlJSSkpKMjIy0tPTc3JysrKybDZb' +
'ZmYmWw7ZGoaRnJzMyqFuWbOzsz1bvABJS0vLy8tjm5SUZDOFrUAwR' +
'gcBS7xyc3OtViu+HAqBq4KCAhQscSkqKmpsbBwbG1teXl5bW1taWp' +
'qYmGhqaiovL1cgcRC47U+44gQcLA8ODs7Pz+12+/39/ePj4/Pz8+v' +
'rq9Pp3N/f7+zsLC4uTk1NJTruKATFHVgwS0tLx8fH8cXR5XI9PT2h' +
'vLy83N7enp6egvPw8HB0dDQ3N1dbW0u4/Px8VQMhL9aZmRnFJRz2K' +
'Hd3d+Bw+Pv7+/X1BdrHxwchZmdnYaKsVUz4dHd3X19fu0zBEdqHh4' +
'fT09NDQ0N7e3tutxvf7+/vn58f2QwODlJV6gkO7pQInoQGhBXa6+v' +
'rZBoZGent7U36b29vgLy/v6OQCyEAqaqqwp3SQYP08YKkw+HAYHV1' +
'NSwszGKx/DOFW3zdpoAgMwLxRvjyjvylzc1NEMiX9fj4mHPcfXx8L' +
'KZER0cvLi7yKHiR19XVld5oZ2enuroaGjU1NTwfFaN6gFAlPz8/X1' +
'9fouPu7+8vnNDQUPSoqCiM4QmNm5ublpYWylhXV3dycqLUwBkYGAg' +
'JCbH8iZeXF2geKHRCQwB3KLW3t0MYBP0fTgAHgXA4kgVlFBNY6YT6' +
'bG1tqdrgtLW18RxkwT9hCwG4LSwsBAcHy0XuQUFBKNomJCSQheoAb' +
'T6/Ksnb6RUQwCsqKlRGD3NtgWpubnaaQrjd3V0elM9AIsPDw8Dyi8' +
'7OzqgGa0xMTEBAAEFFBvfAwMC4uDglCwEizs/P6zeCUFlZub29zS1' +
'vDcLl5SV5tba2xsbGRkREhIeHx8fHd3R04IWNyogN6YNAc4EADk3H' +
'OUwuLi4+Pz9Flf+8sbFBjpQa2uCr6VD6+/vpJs/ESExMLCsrGx0d5' +
'ZZc9GfUYqz4UjS7KSj8/KmpKRrZMEUIkGGlEXp7ewmnxmSFDy3pMA' +
'UcNc7IyAh9JBe1FQpNChT9jtLQ0LCysqLorEocYUtSXV1dJK55qEG' +
'niWo1hXMQNBXr6+t7enroqcnJSV6qr6+Pj1dYWIgLlpqTMhYZrphy' +
'nINMCPFhOKvImrGeeYixxjg2oqEOxUtjExxuxUfhsAEfe2a4nk+Tm' +
'Vsp/wHgCRiF');

Smart_DrawBitmap(True, Bmp, Placement);

For I := 0 To High(TP) Do
begin
LoadTextTPA(TP[I], UpChars, H);
Placement.Y := Placement.Y + I*(H);
Smart_DrawTextEx(False, Placement.X, Placement.Y, 'UpChars', TP[I], Colours[I]);
end;

FreeBitmap(Bmp);
end;

begin
{$IFDEF SMART}
{$IFDEF SIMBAMAJOR980}
Smart_Server := 72;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
{$ELSE}
SRL_SixHourFix := True;
Smart_FixSpeed := True;
{$ENDIF}
{$ENDIF}

SetupSRL;
Smart_ClearCanvas;
PrintOnSmart2(['B', 'R'], Point(250, 250), [clWhite, clBlue]);
end.

In the above, It shows an example of how to draw on Smart 7.X++ Manually and Automatically. By Manually it means without SmartGraphics.Simba. Some scripts still use SmartGetDebugDC and TCanvases for drawing on Smart. Inorder to port those scripts to Simba 0.99 and draw on Smart Manually, you need to learn how to use SetPersistentMemoryBitmap and ResetPersistentMemoryBitmap. The first will make our bitmap use Smart's Canvas. Whatever is drawn on our bitmap will be drawn on Smart's canvas. The second function will reset the memory pointer. This will prevent leaks. It is recommended to use SmartGraphics for drawing on Smart if you are in-experienced. Smart_DrawBitmap and Smart_DrawTextMulti will do the same thing and is MUCH MUCH easier!

Note: The Automatic Drawing Example does the EXACT same thing as the Manual Drawing Example is it is much shorter and easier.


Platform Info:

Simba v0.98x + Smart v6.x:
As said before, Simba 0.98x does not support EIOS and Smart v6.x does not support it either. Thus it isn't possible for me to port the SixHourFix without external libraries or external software such as a batch file.

Simba 0.99x + Smart v7.x:
The only difference for you here is that you can use SixHourFix and the SmartFixSpeed. Now I know some of you may say: "Zomg!! Why doesn't 0.98x have the FixSpeed!" Well.. truth is, I didn't want to touch the include to implement it for the current Smart.
See when I started working on the updates with Mormanman, Kyle, Ben, Wiz, and the others, I made a copy of SRL and made two files I can work in. It just so happens those are SmartGraphics and SmartParams which is only included when Smart is defined and when Simba is 0.99x used.
To implement it, I'd have to edit the original Smart.Simba which is included when 0.98x is used; Something I didn't want to do. Someone else or myself may look into it eventually and implement it for the old Smart/Simba users eventually. At the time, my goal was to make as little changes to the actual include as possible, and it still is.


Notes & Recommendations:

Smart is backwards compatible and will still load if a user decides to do: {$LoadLib LibSmart32.Dll} instead of {$Define Smart}

For more details on the latest Smart and it's features, visit: http://villavu.com/forum/showthread.php?t=84789
For more details on the latest Simba and it's features, visit: http://villavu.com/forum/showthread.php?t=85725
For more details on the latest Pull Requests and Comments: https://github.com/SRL/SRL-5/pull/46

PaintSmart issue information[Fixed]

If I missed anything, anything was added, or something is to be added, let me know or else if you have the power, then edit the thread by all means.


Thank You's & Contributions:

Benland100, Wizzup, Mormanman, Kyle Undefined, Nava2.
Yohojo & Ashaman.

putonajonny

2012-06-11 05:48:28

Thanks for the Info…. :D

Le Jingle

2012-06-11 05:52:23

Those are some awesome updates, thanks for letting us know them!

Green Bay Packers

2012-06-11 05:55:15

Sweet! So excited! Great things coming!

[S]paz

2012-06-11 05:57:52

Awesome Post. Thanks devs!!

John

2012-06-11 06:07:21

I may of read this wrong, But can you now have 2 Clients running of the same Simba?

Justin

2012-06-11 06:33:35

Okay the feature that caught my eye was the "SRL_SixHourFix" with the ability to start scripts off where the stopped.. Now that is amazing

From: John
I may of read this wrong, But can you now have 2 Clients running of the same Simba?


AFAIK this is correct

Wizzup?

2012-06-11 08:33:28

Simba 0.99-rc6 should be recent enough to work with. (Use the static package though). I hope to release Simba 0.99 soon; but I have suddenly gotten a lot more work to do for the next two weeks so I'm not sure how soon I can add the debug bitmap thing for SMART. Maybe I'll get bored and quickly do it, perhaps Raymond will do it. ;)

Simba 0.99 has to wait until that is done though. (And so will this update :) )

BenLand100

2012-06-11 08:35:26

The client ID returning functions are a bit simplistic, but I presume if people want to write multi-smart stuff they're going to have to do it mostly on a per-script basis anyway. All in all, good summary, but just so people know, SMART will run out of the Simba process when invoked this way.

So, yes, @John

Flight

2012-06-11 08:42:32

The bitmap issues… That explains a lot. :rolleyes:

Wizzup?

2012-06-11 08:51:33

From: Flight
The bitmap issues… That explains a lot. :rolleyes:


https://github.com/MerlijnWajer/Simba/issues/117

momotron

2012-06-11 08:52:05

Thanks for the heads up! Really excited about not having to have a separate simba process for every script!

Kyle Undefined

2012-06-11 08:56:02

From: Wizzup?
Simba 0.99-rc6 should be recent enough to work with. (Use the static package though). I hope to release Simba 0.99 soon; but I have suddenly gotten a lot more work to do for the next two weeks so I'm not sure how soon I can add the debug bitmap thing for SMART. Maybe I'll get bored and quickly do it, perhaps Raymond will do it. ;)

Simba 0.99 has to wait until that is done though. (And so will this update :) )


Aww boo! :p That's fine, I know there's been a lot of discussion on the changes on GitHub.

Great thread Brandon! :)

Gala

2012-06-11 11:53:09

From: Brandon

Usage:
SRL_SixHourFix:= True;


Awesome. Thanks for the update. :)

Ashaman88

2012-06-11 12:16:19

Great explanation and work everyone!

The sixhourfix works like a charm btw!

litoris

2012-06-11 12:23:21

Nice, especially the six hour fix. This will be also aa nice anti-leech for scripts that are not getting updated :D

Silentcore

2012-06-11 13:48:01

Brandon thanks for letting us know about this wonderful update. Unfortunately I wonder how many people will post about their smart not working..

The Killer

2012-06-11 13:50:37

"SRL_SixHourFix" :)
great work!

CephaXz

2012-06-11 13:55:25

New anti leech for all da scriptz :D

I'm happy to see these 2:
Smart_FixSpeed:= True;
SRL_SixHourFix:= True;

Guess its time to clear out of script.

Prometheus

2012-06-11 20:00:13

Love the 6 hour restart fix :D Can't wait for the new update!

Overtime

2012-06-11 20:26:51

I dont like that your removed Smart_Server

There are certain servers that work and don't work for me.

I alternate between two different ip's one starting with 76.xxx.x.x
and another with 96.xxx.x.x

When I'm on certain Ip's a certain server will work with one but not the other so i have to change it.

Unless this will automatically continue trying different worlds till it works?

The error I get is that rectangle error that says smart could not be loaded blah blah blah.

Bobarkinator

2012-06-11 21:13:55

From: Overtime
I dont like that your removed Smart_Server

There are certain servers that work and don't work for me.

I alternate between two different ip's one starting with 76.xxx.x.x
and another with 96.xxx.x.x

When I'm on certain Ip's a certain server will work with one but not the other so i have to change it.

Unless this will automatically continue trying different worlds till it works?

The error I get is that rectangle error that says smart could not be loaded blah blah blah.


It's a completely different loading style. It's more in line with how the actual Runescape page loads it. Do you have those loading problems on the regular Runescape page?

Overtime

2012-06-11 21:42:39

From: Bobarkinator
It's a completely different loading style. It's more in line with how the actual Runescape page loads it. Do you have those loading problems on the regular Runescape page?


nope i never do.

Its only with smart that i have to change the different servers.

If its completely different and its going to load the game better, this is awesome as it will keep my bots running at all times.

Usually i wake up to the smart error because my IP changed over night from a disconnect. So that was always a problem.

I hope this fixes it.

Brandon

2012-06-11 22:47:41

From: Overtime
nope i never do.

Its only with smart that i have to change the different servers.

If its completely different and its going to load the game better, this is awesome as it will keep my bots running at all times.

Usually i wake up to the smart error because my IP changed over night from a disconnect. So that was always a problem.

I hope this fixes it.


See you can't actually load specific servers even if you wanted to. You can't choose members, unsigned or signed either. This loads runescape exactly how your browser would.

Flight

2012-06-11 22:48:41

From: Bobarkinator
It's a completely different loading style. It's more in line with how the actual Runescape page loads it. Do you have those loading problems on the regular Runescape page?


Yes but the way SMART 7.1 is loaded still does use a specific server while loading the client. I assume Ben's same example loader will be used in the newest SRL updates?


function InitSmart(force_new: boolean): integer;
var
i, count: integer;
begin
if (not force_new) then
begin
count:= SmartGetClients(true);
if (count > 0) then
begin
for i:= 0 to count do
begin
result:= SmartClientID(i);
if SmartPairClient(result) then
begin
SetEIOSTarget('libsmartremote',IntToStr(result));
exit;
end else
Writeln('Failed to pair current client');
end;
end;
end;

result:= SmartSpawnClient('./Plugins/','http://world86.runescape.com/',',f5',765,503,'','','/usr/lib/jvm/sun-jre-bin-1.6/lib/amd64/server/libjvm.so',-1);
SetEIOSTarget('libsmartremote',IntToStr(result));
end;

So why not:

function InitSmart(World: integer; force_new: boolean): integer;
var
i, count: integer;
begin
if (not force_new) then
begin
count:= SmartGetClients(true);
if (count > 0) then
begin
for i:= 0 to count do
begin
result:= SmartClientID(i);
if SmartPairClient(result) then
begin
SetEIOSTarget('libsmartremote',IntToStr(result));
exit;
end else
Writeln('Failed to pair current client');
end;
end;
end;

result:= SmartSpawnClient('./Plugins/','http://'+IntToStr(World)+'.runescape.com/',',f5',765,503,'','','/usr/lib/jvm/sun-jre-bin-1.6/lib/amd64/server/libjvm.so',-1);
SetEIOSTarget('libsmartremote',IntToStr(result));
end;

From: Wizzup?
https://github.com/MerlijnWajer/Simba/issues/117


Yep I was reading over that.

Brandon

2012-06-11 22:52:59

From: Flight

So why not..



'http://'+IntToStr(World)+'.runescape.com/',',f5'


Because there is no way to grab parameters for a specific world.. F5 is incorrect. Inorder to get the right parameters, everything was made dynamic so we have no control over what gets passed to the client other than what the client gives us from it's webpage.

Yes ben's loader was modified and used.

Flight

2012-06-11 22:58:21

From: Brandon
'http://'+IntToStr(World)+'.runescape.com/',',f5'


Because there is no way to grab parameters for a specific world.. F5 is incorrect. Inorder to get the right parameters, everything was made dynamic so we have no control over what gets passed to the client other than what the client gives us from it's webpage.

Yes ben's loader was modified and used.


Ok then that's something I didn't know.

Brandon

2012-06-11 23:08:07

From: Flight
Ok then that's something I didn't know.



There is one other way though.. by grabbing the world's page:

GetPage('http://world' + IntToStr(World) + '.runescape.com/'); and using a regex to figure out which one of the params are the right one.. such as an identifier like:

document.write(param = -1…….) or param = 0 or param = 24, etc..

That's the only other way to implement worlds and probably may not work all the time or at all.

It's also noteable that no other clients load specific worlds including the official rs client. Perhaps there is a reason behind this and it may be best to just let it load normally exactly how rs loads in a browser.

Google

2012-06-12 00:09:42

Thanks for the update Brandon really appreciate it, keep up the good work!

n00b? n00b?

2012-06-13 19:20:39

Amazing~ I've enjoyed watching SCAR/Simba's transformation along the years.

RuneDragon

2012-06-14 16:51:39

From: Brandon

GetPage('http://world' + IntToStr(World) + '.runescape.com/'); and using a regex to figure out which one of the params are the right one.. such as an identifier like:


Recently i see this in Smart.simba, i don't like this as no legit player will even load rs this way. They go to rs/game.ws, then load what ever content displayed on that page. Let the users choose the server they want to bot. Don't be too lazy, it help to improve safety of your account.

Waiting for this update :P

Olly

2012-06-14 17:04:42

Any idea when paint smart will return?

Brandon

2012-06-15 00:22:13

From: RuneDragon
Recently i see this in Smart.simba, i don't like this as no legit player will even load rs this way. They go to rs/game.ws, then load what ever content displayed on that page. Let the users choose the server they want to bot. Don't be too lazy, it help to improve safety of your account.

Waiting for this update :P


This is true but someone just left me a wall comment saying that there will be a problem with loading foreign worlds. This is true that you cannot load "foreign worlds" this way but I've stated already that if anyone needs that to be added to the include to be pushed, I can make it grab params from a direct server link given a world and execute a regex.. Might be a difficult or easy regex to write but I do not mind writing it if that many people need it. I believe smart also uses a regex or probably the exact one that foreign worlds would require.

Overall, for normal loading, I also think this is the best way as a legit player loads from the browser without world selection unless of course it's a foreign world :)

From: Ollybest
Any idea when paint smart will return?


The only info on this is what was posted already on the first page and on their respective githubs. If I knew pascal as well as C-Languages I wouldn't mind writing it to help Wizzup and Ben out but I unfortunately don't know it all too well (Pointers at least). I get lost when it comes to @ vs. ^ vs. Pointer(variable) vs. var which simba script uses.

So until then we have to wait until Wiz gets some time and I'm sure he's working on it when he can, as well as working on the Stats system.

Ashaman88

2012-06-18 17:00:05

===========AshamanSuperheat============
Time Running: 37 Hours, 14 Minutes and 53 Seconds
Magic XP: 3481146
Magic XP/Hour: 93458
Smithing XP: 3678192
Smithing XP/Hour: 98748
Bars/Hour: 1830
=======================================

Left for the weekend using this update. Pretty epic eh?

Kyle Undefined

2012-06-18 17:02:20

From: ashaman88
===========AshamanSuperheat============
Time Running: 37 Hours, 14 Minutes and 53 Seconds
Magic XP: 3481146
Magic XP/Hour: 93458
Smithing XP: 3678192
Smithing XP/Hour: 98748
Bars/Hour: 1830
=======================================

Left for the weekend using this update. Pretty epic eh?


Wow, that's insane! Can't wait until we can push this out! :)

Jos3ph

2012-06-18 17:30:05

so when is this update coming out?

Kyle Undefined

2012-06-18 17:50:08

From: po2n star
so when is this update coming out?


When everything is ready ;)

Brandon

2012-06-18 17:53:04

From: po2n star
so when is this update coming out?


Well when Wizzup replies to this or Ben or Mormonman or someone who knows: http://villavu.com/forum/showthread.php?p=1050389#post1050389

AND when Simba is officially announced AND when feedback on the edits are agreed upon. Until then only people who actually check the Github currently have the update. Even though anything is subject to change at any moment. Plus Only devs can push the update and they are busy and waiting as well.

I gotta update the colour for the fixspeed as it's not always 0 but sometimes its 65536 or something like that. All of it looks Black to me but to Simba it isn't the same black so a tolerance would easily fix it.

Other than that, we all have to wait. When it's ready it'll be announced I guess.

Master BAW

2012-06-18 20:17:11

WOW. I wish I could help, haha .
This will be an amazing update! :D

Abu

2012-06-23 12:01:54

So if I'm looking to make BIG updates to a script to make it stable for a long time, should I wait until after this update?

Or is this update most likely going to be delayed by a week or two, in which case I don't want to keep my script users waiting.

Flight

2012-06-23 12:21:37

I plan to work with OGL once this SRL update is put out. So I am amongst the anxious ones here, Brandon. ;)

Based Lord

2012-06-23 12:26:28

Yeah looks like a really nice update :) can't wait for the six hour fix with out using smart manager

Abu

2012-06-23 14:33:58

Question.

Would this make multithreading possible?

As in can you now set functions depending on Client ID's?


procedure Multithread;
var
ID1, ID2: Integer;
begin
ID1 := Smart_CurrentClient;
ID2 := Smart_OtherClient; // made that up
for ID1 do
begin
Writeln('Using these function for First Client');
//functions
end;
for ID2 do
begin
Writeln('Using these functions for Second Client');
//functions
end;
end;

Kyle Undefined

2012-06-23 14:57:51

No, because ID2 functions won't execute until ID1 functions finish.

Abu

2012-06-23 14:59:28

From: Kyle Undefined
No, because ID2 functions won't execute until ID1 functions finish.


Hmmm shame :(

Brandon

2012-06-23 15:02:26

From: abu_jwka
Hmmm shame :(


LOL I've tried some crazy ideas before but none of them ever works. Also required Multi-threading which Pascal-Script doesn't support but I think Pascal as a language does.

So until Simba becomes a full Pascal Interpreter/compiler, none of the things we all love will happen.. Including my old idea which I want so badly: http://villavu.com/forum/showthread.php?t=65657

You gave me an idea though.. probably use INI files and two Simba tabs to have GUI's on Smart. I've had some dumb but really cool ideas I wanted to try but this update will not make them come true.

Abu

2012-06-23 15:09:10

From: Brandon
LOL I've tried some crazy ideas before but none of them ever works. Also required Multi-threading which Pascal-Script doesn't support but I think Pascal as a language does.

So until Simba becomes a full Pascal Interpreter/compiler, none of the things we all love will happen.. Including my old idea which I want so badly: http://villavu.com/forum/showthread.php?t=65657

You gave me an idea though.. probably use INI files and two Simba tabs to have GUI's on Smart. I've had some dumb but really cool ideas I wanted to try but this update will not make them come true.


Lol I can only imagine the things you do :p

Hmmm, that SMART Form looks pretty good, but you stopped development on it?

P.S - when I read 'so badly', the song I'm listening to also said it.. kinda freaky :p

Brandon

2012-06-23 15:12:46

From: abu_jwka
Lol I can only imagine the things you do :p

Hmmm, that SMART Form looks pretty good, but you stopped development on it?

P.S - when I read 'so badly', the song I'm listening to also said it.. kinda freaky :p


Yeah.. It's impossible without multithreading or something. When Simba loads a form, it practically takes over all input and the script itself stops. I actually thought of adding Threading directly into smart and then pass it a pointer to functions but PS doesn't support pointers either.

lol oh well at least this update will still be pretty good. Anyone else see Asha's 37 hr progress report above? Damn…

Abu

2012-06-23 15:14:01

From: Brandon

lol oh well at least this update will still be pretty good. Anyone else see Asha's 37 hr progress report above? Damn…


I knw, it's EPIC.

Will the updates come next week?

Brandon

2012-06-23 15:20:54

From: abu_jwka
I knw, it's EPIC.

Will the updates come next week?


I don't know. That's up to the dev's. When Wizzup replies to my question on Bitmaps via Pointers then I can push the rest of the PaintSmart Fix and then Kyle and whoever else can push my pushes to SRL. Till then it's a mystery.

I got most of the PaintSmart already fixed and pushed. Just not the DrawBitmap and DrawLine function.

Smart_DebugTPA/APTA/Boxes/Box/everything else works.

Abu

2012-06-23 15:22:07

From: Brandon
I don't know. That's up to the dev's. When Wizzup replies to my question on Bitmaps via Pointers then I can push the rest of the PaintSmart Fix and then Kyle and whoever else can push my pushes to SRL. Till then it's a mystery.

I got most of the PaintSmart already fixed and pushed. Just not the DrawBitmap and DrawLine function.

Smart_DebugTPA/APTA/Boxes/Box/everything else works.


Alright thanks, good to know :)

Bobarkinator

2012-06-23 15:44:35

From: Brandon
Yeah.. It's impossible without multithreading or something. When Simba loads a form, it practically takes over all input and the script itself stops. I actually thought of adding Threading directly into smart and then pass it a pointer to functions but PS doesn't support pointers either.

lol oh well at least this update will still be pretty good. Anyone else see Asha's 37 hr progress report above? Damn…


There's not a way to make forms not modal in PS?

Brandon

2012-06-23 15:47:28

From: Bobarkinator
There's not a way to make forms not modal in PS?


I don't think so. If I put Non-Modal, it will show then close automatically. Gives access violation if you try to move it while it's not modal. I'll try that project again and see how it goes now that I know more pascal than before. I actually opened that project when I first joined.

Bobarkinator

2012-06-23 17:09:11

Wow. Hmmm. How does Lape do in that area?

Brandon

2012-06-23 17:24:15

From: Bobarkinator
Wow. Hmmm. How does Lape do in that area?



I figured it out ;) It works if I do not attempt to stop Simba's thread prematurely.

Example: If I put stop buttons and start buttons, it will crash the form but if I just put script options, it will change during run-time. I'll post the script on the formGUI thread.

Ashaman88

2012-06-23 20:15:36

got a couple other 24 hour proggys since then :) <3

Master BAW

2012-06-26 15:36:25

From: Brandon
(Posted on 06-11)
Coming this week or next week will be an update to SRL that will potentially break your scripts.
This update helps to keep smart undetectable by passing it the correct parameters.

The update will also require a new version of Smart which is currently released as Smart v7.1 and a new version of Simba released as Simba v0.99 and as such the following updates may take place:


So when will it be? This week, or next week?

x[Warrior]x3500

2012-06-26 15:37:40

just to carify, when you say "check github" you mean your forked version of the srl inlcude?

Brandon

2012-06-26 15:45:52

I don't know when.. I haven't seen a reply from Wizzup in weeks on his Simba 0.99 thread. AND Simba 0.99 isn't official yet so this cannot be pushed.

And I meant their github it has the issue you can click it and see how far it got.

Sir Ducksworthy

2012-06-27 08:40:18

From: Brandon

You gave me an idea though.. probably use INI files and two Simba tabs to have GUI's on Smart. I've had some dumb but really cool ideas I wanted to try but this update will not make them come true.

Yes!^ Exactly what I was thinking yesterday night, if we could hook 2 Simba's to a Smart Instance, The First would just need to write a system Time to Execute the Functions/Procedures.
They Could Execute the Same Things at once this way as well.
It could be done easily on a Virtual Machine tho since you can just not use Smart and Load the Client On Firefox.
But you can't minimize this way so it sucks :(
I hope we can find a way soon hey, It'd Speed things up Dramatically.

Yago

2012-06-27 13:15:44

From: leetsxc
Yes!^ Exactly what I was thinking yesterday night, if we could hook 2 Simba's to a Smart Instance, The First would just need to write a system Time to Execute the Functions/Procedures.
They Could Execute the Same Things at once this way as well.
It could be done easily on a Virtual Machine tho since you can just not use Smart and Load the Client On Firefox.
But you can't minimize this way so it sucks :(
I hope we can find a way soon hey, It'd Speed things up Dramatically.


Have a SIMBA that reads and executes commands from a .ini Then have two or more SIMBA's writing commands to the .ini and maybe placing priorities on the commands, etc…

DemiseScythe

2012-06-27 17:01:50

Can someone link me to an SRL version that works with this?

My SRL version doesn't compile

Unknown identifier 'SRL_SixHourFix' at line 766

YoHoJo

2012-06-27 17:03:04

From: DemiseScythe
Can someone link me to an SRL version that works with this?

My SRL version doesn't compile

Unknown identifier 'SRL_SixHourFix' at line 766


I've been using Brandon's repo:
https://github.com/Brandon-T/SRL-5/zipball/master

Along with the latest SMART from Benland's threads and it all works great.

DemiseScythe

2012-06-27 17:08:24

From: YoHoJo
I've been using Brandon's repo:
https://github.com/Brandon-T/SRL-5/zipball/master

Along with the latest SMART from Benland's threads and it all works great.


It now compiles but it lacks functionality

SRL Compiled in 0 msec
*** Smart Cannot Spawn Clients ***
Successfully executed.

That is what I get for running old 6.9c custom SMART for so long

Kyle Undefined

2012-06-27 17:10:06

You need SMART 7.2 with these changes.

DemiseScythe

2012-06-27 17:11:23

I have 7.2 from this thread

http://villavu.com/forum/showthread.php?t=84789&highlight=smart

I got:

Simba .990
Custom SRL
7.2 SMART

it still doesn't work

Compiled successfully in 453 ms.
SRL Compiled in 0 msec
*** Smart Cannot Spawn Clients ***
Successfully executed.

Brandon

2012-06-27 17:26:48

From: DemiseScythe
I have 7.2 from this thread

http://villavu.com/forum/showthread.php?t=84789&highlight=smart

I got:

Simba .990
Custom SRL
7.2 SMART

it still doesn't work

Compiled successfully in 453 ms.
SRL Compiled in 0 msec
*** Smart Cannot Spawn Clients ***
Successfully executed.


Run as administrator. Smart uses shared memory and needs proper rights to do so.

DemiseScythe

2012-06-27 17:34:23

From: Brandon
Run as administrator. Smart uses shared memory and needs proper rights to do so.


Simba is running off E partition so it didnt have rights issues before, just made Simba.exe admin but it still fails, out of the plugin folder, which files must be admin?

Edit:

both .exe have admin rights now and it still fails


That is my plugins folder

YoHoJo

2012-06-27 17:52:54

^ I NEVER had to run as admin before, but since I've used latest smart from ben's thread, latest simba(rev 990), and latest SRL I have to run as admin or else I get the spawn client error.

Just try manually right click and run as admin.'

I think you should have Embedded_SMART.dll somewhere in there too?

DemiseScythe

2012-06-27 17:56:02

From: YoHoJo
^ I NEVER had to run as admin before, but since I've used latest smart from ben's thread, latest simba(rev 990), and latest SRL I have to run as admin or else I get the spawn client error.

Just try manually right click and run as admin.


Well Im on Windows 7 and can only run .exe as admin, Simba.exe and the two .exe on my plugins folder are set up as admin so I don't get why it is still failing on me.

Alright, after messing with it for nearly 3 hours, I got SMART to load, problem now is that it types in user and password but it just stalls after typing the password, it never clicks enter or clicks to log in.

Any tips on why it doesn't log in?

Brandon

2012-06-27 18:16:02

From: DemiseScythe
Well Im on Windows 7 and can only run .exe as admin, Simba.exe and the two .exe on my plugins folder are set up as admin so I don't get why it is still failing on me.

Alright, after messing with it for nearly 3 hours, I got SMART to load, problem now is that it types in user and password but it just stalls after typing the password, it never clicks enter or clicks to log in.

Any tips on why it doesn't log in?



Join the crew: https://github.com/BenLand100/SMART/issues/7

He's on vacay right now so yeah.. Not sure why it took so long for it to start for u but I already reported to Ben about the zombie clients which cause that spawn error and the VK_Return. Even wrote a wrapper for typebyte for smart but it doesn't work either.

DemiseScythe

2012-06-27 18:20:18

From: Brandon
Join the crew: https://github.com/BenLand100/SMART/issues/7

He's on vacay right now so yeah.. Not sure why it took so long for it to start for u but I already reported to Ben about the zombie clients which cause that spawn error and the VK_Return. Even wrote a wrapper for typebyte for smart but it doesn't work either.


I see but my script uses

LoginPlayerToLob;

and I was reading the source and it tries to type vk_escape for some reason, I don't think that is right

 ActivateClient;
Wait(100);
TypeByte(vk_Escape);
Wait(500);

Might be worth looking into, does this also happen with 7.1?

Edit:

Just read entire login.Simba and nowhere on the entire thing does it say vk_return

May be someone deleted it?

Just noticed the TypeSend, gonna look at it now

YoHoJo

2012-06-27 18:28:45

Mine acts the same as yours Demise, I just manually log in :/.

Ashaman88

2012-06-27 18:31:15

From: YoHoJo
Mine acts the same as yours Demise, I just manually log in :/.


Just have it use a mousebox for the login button after it types your user and pass in, thats what I did

Brandon

2012-06-27 18:41:35

From: DemiseScythe
I see but my script uses

LoginPlayerToLob;

and I was reading the source and it tries to type vk_escape for some reason, I don't think that is right

Simba Code:
[LEFT]ActivateClient;
Wait(100);
TypeByte(vk_Escape);
Wait(500);
[/LEFT]


Might be worth looking into, does this also happen with 7.1?

Edit:

Just read entire login.Simba and nowhere on the entire thing does it say vk_return

May be someone deleted it?

Just noticed the TypeSend, gonna look at it now



It is a problem with smart remote itself. I know that much because if u test the independent script I posted in the link for ben to test, you'll notice that it works just fine with smart 6.9 and without smart. After 7.1, I noticed it. NOTE: This doesn't affect smart itself. It only affects SmartRemote. So if you loadlib Libsmart32.dll, it will work but if you loadlib libsmartremote32.dll, it will NOT work.

Oh and I think Ben's might/could remove the alt-tab thing cuz last time I metioned it, he said "I thought I removed that already".. That's the thing that makes Runescape say "You haven't received any messages which you can reply to"

DemiseScythe

2012-06-27 18:56:57

From: Brandon
It is a problem with smart remote itself. I know that much because if u test the independent script I posted in the link for ben to test, you'll notice that it works just fine with smart 6.9 and without smart. After 7.1, I noticed it. NOTE: This doesn't affect smart itself. It only affects SmartRemote. So if you loadlib Libsmart32.dll, it will work but if you loadlib libsmartremote32.dll, it will NOT work.

Oh and I think Ben's might/could remove the alt-tab thing cuz last time I metioned it, he said "I thought I removed that already".. That's the thing that makes Runescape say "You haven't received any messages which you can reply to"


At least I am not the only one with the problem. Thank you very much for helping me get Simba running again. I saw your GUI thread and it looks neat. Might actually get back into scripting and finish my Slayer and Dung scripts. Benland did remove "Windows Functions" and afaik, TypeByte is a Window Function so it might be white its broken. Hopefully he will be back soon.

mormonman

2012-06-27 19:07:29

From: DemiseScythe
At least I am not the only one with the problem. Thank you very much for helping me get Simba running again. I saw your GUI thread and it looks neat. Might actually get back into scripting and finish my Slayer and Dung scripts. Benland did remove "Windows Functions" and afaik, TypeByte is a Window Function so it might be white its broken. Hopefully he will be back soon.


typebyte is an eios function..

Brandon

2012-06-27 19:58:16

He didn't remove "ALL" windows functions.. Just most. These are GDI functions which is Windows only.


imageHDC = CreateCompatibleDC(0);
imageHBITMAP = CreateDIBSection(imageHDC, &info, DIB_RGB_COLORS, (void**)&image, 0, 0);
SelectObject(imageHDC, imageHBITMAP);
debugHDC = CreateCompatibleDC(0);
debugHBITMAP = CreateDIBSection(debugHDC, &info, DIB_RGB_COLORS, (void**)&debug, 0, 0);
SelectObject(debugHDC, debugHBITMAP);
cout << "Image: " << (void*)image << " Debug: " << (void*)debug << '\n';

Fixed the VK_RETURN problem. Discussed with Benland and Refer to the Current Smart.Simba to see why. Since Smart Wrappers was removed, this was removed along with it. It's now done through an {$IFDEF}

DemiseScythe

2012-06-27 21:13:29

From: Brandon
He didn't remove "ALL" windows functions.. Just most. These are GDI functions which is Windows only.


imageHDC = CreateCompatibleDC(0);
imageHBITMAP = CreateDIBSection(imageHDC, &info, DIB_RGB_COLORS, (void**)&image, 0, 0);
SelectObject(imageHDC, imageHBITMAP);
debugHDC = CreateCompatibleDC(0);
debugHBITMAP = CreateDIBSection(debugHDC, &info, DIB_RGB_COLORS, (void**)&debug, 0, 0);
SelectObject(debugHDC, debugHBITMAP);
cout << "Image: " << (void*)image << " Debug: " << (void*)debug << '\n';


Also I think this could be a temporary fix since Ben did not Export KeyDown, KeyUp to SmartRemote. I could probably Export it myself since it's C++.

But here is a Simba workaround since I don't want to go through the Smart's Github to find the declaration of KeyDown/KeyUp.

use this:

SendKeys
SmartHoldKey(10);
SmartReleaseKey(10);


EDIT!!! It's not smart! It's Simba.. After investigating this a ton inorder to save ben the headaches. He believed it wasn't EIOS and he's right; It's Simba. VK_RETURN has been redefined as 10 and not 13. This is a Linux vs. Windows thing.

On Linux, VK_RETURN is the combination of two bytes: \r\n. AKA Return + NewLine.
On Windows, only one is needed and it's defined as \n. Which is just newline which automatically appends the return at the beginning. Or so it is assumed.

Scar only uses 10 as the byte equivalent of VK_RETURN and Simba uses 13. Iunno why it was changed but Smart now uses 10 so Simba's VK_RETURN and possibly some other keys are defined WRONG! This will mess up a TON of functions in SRL that may possible depend on the VK_RETURN Def. TBH, AFAIK VK_RETURN is supposed to be defined as 13 On Windows, but everyone has their own taste.

TLDR: In conclusion, TypeSendEx should not be using VK_RETURN which is defined wrong, Make it TypeBye(10) instead.


procedure TypeSendEx(Text: string; PressEnter: Boolean);
var
I: Integer;
begin
for i := 1 to Length(Text) do
begin
{$IFDEF SIMBAMAJOR980}
SendKeys(Text[i], 40 + Random(40));
{$ELSE}
SendKeys(Text[i], 30 + Random(30), 30 + Random(30));
{$ENDIF}
Wait(40 + Random(40));
end;

if (PressEnter) then
TypeByte(VK_RETURN); //Replace this line with TypeByte(10);
end;

Someone tell Wizzup; I'm lazy. I'll tell Ben on the open Issue and probably close it.


I knew it wasn't a bug but a wrongly defined constant, I tried to look up the code for vk_return on docs but the list they had there was removed, google gave me 0D which returned error. I remember having to use TypeByte(20) or TypeByte(32) for vk_Space before because it wouldn't type it right. I'll let you know if it works.

Brandon

2012-06-27 21:22:32

From: DemiseScythe
I knew it wasn't a bug but a wrongly defined constant, I tried to look up the code for vk_return on docs but the list they had there was removed, google gave me 0D which returned error. I remember having to use TypeByte(20) or TypeByte(32) for vk_Space before because it wouldn't type it right. I'll let you know if it works.


0x0D = 13 = Carriage Return. 0x10 = 10 = NewLine. :P Same thing in specific contexts but I guess Simba or Smart is being very very picky.

Fixed. Discussed with Benland and Refer to the Current Smart.Simba to see why. Apparently it has been defined as 10 for 4 years. Since Smart Wrappers was removed, this was removed along with it. It's now done through an {$IFDEF}

DemiseScythe

2012-06-27 21:47:46

From: Brandon
0x0D = 13 = Carriage Return. 0x10 = 10 = NewLine. :P Same thing in specific contexts but I guess Simba or Smart is being very very picky.

=] Lemmie know how it works for you. It works so far for Asha and myself; Should work for everyone too.

Maybe something like:

{$IFNDEF SMART}
TypeByte(VK_RETURN)
{$ELSE}
TypeByte(10);
{$ENDIF}

I wouldn't put this in the include since Simba can just fix it but if it isn't by the time Simba is official then it can be made temporary I guess.


My script works flawlessly now, it was actually broken because it used TypeSend in it but now that I changed it to "10", the entire script runs great. I will update my desktop tomorrow so it is also compatible with 7.2

footballjds

2012-06-29 10:13:27

whens this getting rolled out and released?

Kyle Undefined

2012-07-10 17:30:36

From: footballjds
whens this getting rolled out and released?


It was released today :)

Yes, I know scripts that aren't updated are going to break, but it had to be done.

footballjds

2012-07-11 10:21:02

From: Kyle Undefined
It was released today :)

Yes, I know scripts that aren't updated are going to break, but it had to be done.


Excited :)

x[Warrior]x3500

2012-07-11 14:16:32

so if it was merged, does that mean ggzz fixed the paintsmart issues?

Brandon

2012-07-11 15:08:54

From: x[Warrior]x3500
so if it was merged, does that mean ggzz fixed the paintsmart issues?


Yeah the first post is updated already to reflect every and all changes.

Austin

2012-07-16 17:16:28

Program GooglesFlawlessItemCrusher;
{$DEFINE SMART}
{$i SRL/srl.simba}

{ ** Make A Request on Thread If You Need Another Type
** Of Crush Added

V3.95
-Added Bitmaps For Scale | Goat Horn | Unicorn

V3.7
-Added Failsafe For Clicking To Fast

V3.5
-Added MudRunes
-Birds Nests








**********HAVE PESTLE AND MORTAR IN YOUR TOOLBELT!***********

''~``
( o o )
+------------------.oooO--(_)--Oooo.------------------+
| FlawLessItemCrusher V3.7 |
| By: GOOGLE |
|*****************************************************|
| Instructions |
| 1) Start Soul Wars |
| 2) Instructions on Thread |
| 3) Start Script! :) |
| |
| .oooO |
| ( ) Oooo. |
+---------------------\ (----( )--------------------+
\_) ) /
(_/
======== POST PROGY + FEEDBACK ON THE FORUMS ======= }


Var
i, X, Y, T, R,
Gdust, Ddust, HornCrushed,
BreaksTaken, BreakTimer,
MudR, Nest, Scale, Unicorn,
Chocolate, GoatHorn: Integer;

//**************Edit Below******************//
//******************************************//
//******************************************//


Const

ItemCrush = ('C');//G-> Goat|D-> BlueDragonScale|
//C ->Chocolate| U-> Unicorn Horn
//M-> Mud Runes | B-> Birds Nest
UseBreaks = False; //Do you want to take breaks?
SwitchWorld = False; //Do you want to switch worlds after the break?
BreakIn = 90; //How many minutes until you take a break?
BreakInRandom = 10; //How many minutes should the "BreakIn" time be varied by?
BreakFor = 7; //How many minutes will you break for?
BreakForRandom = 7; //How many minutes should the "BreakFor" time be varied by?

Members = False; // True = Members World. False = Free World.
NumbOfPlayers = 1; //How many players you are using.
StartPlayer = 0; //Player to start with 0 meaning first!


{---------------Script Info-----------------}
{---------------Script Info-----------------}
Author = 'Google';
ScriptName = 'FlawlessItemCrusher';
Version = '3.7'; //Script Version
{-------------------------------------------}
{-------------------------------------------}

Procedure DeclarePlayers;
Begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['amp', 'XP', 'ostume'];

With Players[0] Do
Begin
Name := ''; //Player username.
Pass := ''; //Player password.
Pin := '';
Member := True;
Active := True;
End;

//Remove '{ }' Brackets If Using Multiple Chars
{ // First Bracket
With Players[1] Do
Begin
Name := ''; //Player username.
Pass := ''; //Player password.
Pin := '';
Member := True;
Active := True;
End;
With Players[2] Do
Begin
Name := ''; //Player username.
Pass := ''; //Player password.
Pin := '';
Member := True;
Active := True;
End; } // Second Bracket
End;
{*********************************************
Procedure CallThinga;
By: GOOGLE
Description: Calls the DTMS | Bitmaps
**********************************************}

Procedure CallThings;
Begin
GoatHorn := BitmapFromString(5, 11, 'meJzLrqxJzC2ISE4LjI7zDg1Pzi8' +
'KjU/yDY90Dwx29PIBcqNSM4AiQClXv4CUwpL47DyIiH9kTFFDc2lL' +
'O1wks7wqr6Yht6oOyA2OTQAqziitAAqmFZcBubGZOUCLgIJAM4Fan' +
'H38YtKzgAygOJBhbucAFAE6A6g3LDHF1MbWwMwCKAI0FugwAI2ePiw=');
Scale := BitmapFromString(5, 10, 'meJyL5OMJ5eMJ4OX24eFy5+aK4ec' +
'N5+MJ5uX24+H24uGK4+eNRFIA5CIrgHDhCuBciAJkLlABfm5kaDgQ' +
'hQYGB/j6+Xh4AQCJHxiT');
Chocolate := BitmapFromString(3, 13, 'meJwTUrSW1A+W0AsQVXcVUrTmkza' +
'Q0PUDsgUVLIAMIBJWcRDX9hHT8hLTdBdStgWSQDZQAYSUMgoH6gUq' +
'ABoiZRgKJIEagVJAERE1JyAbYiCQDWEAxflljQGaTxPy');
GDust := BitmapFromString(11, 4, 'meJyLTEmLSssEopiMbAgDiCJT0sK' +
'TUkITkoLjEoDicVm5cATkwlVClCXk5CfmFQIRkAFBaCqT84vhCKIS' +
'rhiiEgBuADSM');
Unicorn := BitmapFromString(6, 5, 'meJxL3rgpbvmKqIWLQmfMDOif4NPR' +
'mbRuPVAkcv4CiIh3W7tdRa91cbtFboNpWoVRYpF+VJZdZZ9NaadVY' +
'at5dh1Q0DChAChiW9YNFLHMawIKmqSWAQCEoidK');
Ddust := BitmapFromString(10, 4, 'meJxLsNFKstNOsdcBIiAjwUYrzlo' +
'zxkojykI91FQ1zUE300kv21kfyICoASK4mlwXg3xXQyAJVABUBlQD' +
'UQYxp9jDCIgK3Q3hauDKgGoAoxMg2Q==');
MudR := BitmapFromString(11, 5, 'meJyTMg+TAiLTEEmTQBmrKCBbwsh' +
'fXN9LTM9DRNtZWMNO2iICogAoruefaRJZDhQBKhY39IWogegCieh7' +
'tbR09fVNsYivh4hAjDIMydcPzNbxSa2uboAomDVroWl0Jdzent7JT' +
'U0dlZX1QNTa1jNhwjQgmjZ9rnF4MUQvAMc5M0M=');
Nest := BitmapFromString(8, 4, 'meJxT1tJVNzDWNDLTNbdGRqq6BhBx' +
'bVNLiIi+lR0QKWvpYpVCFkeWAgB/ihKH');
End;
{*********************************************
Procedure FreeThings;
By: GOOGLE
Description: Frees the DTMS | Bitmaps
**********************************************}
Procedure FreeThings;
Begin
FreeBitMap(GoatHorn);
FreeBitMap(Scale);
FreeBitMap(Chocolate);
FreeBitMap(Gdust);
FreeBitMap(Unicorn);
FreeBitMap(DDust);
FreeBitMap(MudR);
FreeBitMap(Nest);
End;
{*********************************************
Procedure Antiban;
By: GOOGLE
Description:
**********************************************}
Procedure Antiban;
Begin
Case Random(5) of

0:
Begin
HoverSkill('Random', False);
GameTab(Tab_Inv);
InvMouse(RandomRange(28,28),3);
End;
1:
Begin
PickUpMouse;
SleepAndMoveMouse(300 + Random(500));
PickUpMouse;
InvMouse(RandomRange(28,28),3);
End;
2:
Begin
MakeCompass(RandomRange(20,60));
InvMouse(RandomRange(28,28),3);
End;
3:
Begin
ExamineInv;
InvMouse(RandomRange(28,28),3);
End;
4:
Begin
HoverSkill('Random', False);
GameTab(Tab_Inv);
InvMouse(RandomRange(28,28),3);
End;
5:
Begin
HoverSkill('Random', False);
GameTab(Tab_Inv);
InvMouse(RandomRange(28,28),3);
End;
End;
End;
{*********************************************
Procedure Proggy;
By: GOOGLE
Description: Progress Reports
**********************************************}
Procedure Proggy;
Begin
WriteLn('=-=-=-=-=-= FlawlessItemCrusher V3.7 =-=-=-=-=-=-=-');
Writeln('=-=-=-=-=-=-=-= By Google -=-=-=-=-=-=-=-=-=-=-=-=');
Writeln('Run Time: ' + TimeRunning);
Writeln('Total Loads: ' + IntToStr(HornCrushed));
Writeln('Total Items Crushed: ' + IntToStr(HornCrushed*28));
WriteLn('Total Profit made: ' + IntToStr(HornCrushed*28*130)); // *28*50 (the 50 is how much profit per if you want to change **
WriteLn('Breaks Taken: ' + IntToStr(BreaksTaken));
Writeln('=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=');
Writeln('=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=');
End;
Function WaitXPIncrease(Time:Integer):Boolean;
Var
First,Second,t:Integer;
Begin
First := GetXPBarTotal;
MarkTime(T);
Repeat
wait(10);
Second := GetXPBarTotal;
If TimeFromMark(t) > Time Then
Begin
Result := False;
Exit;
End;
Until(Second > First);
Result := True;
End;
{*********************************************
Procedure HandleHorns;
By: GOOGLE
Description: Withdraws Horns From Bank
**********************************************}
Procedure HandleHorns;
Begin
Repeat
OpenBankChest(SRL_BANK_SW);
Wait(100);
If (PinScreen) Then
InPin(Players[0].Pin);
Until (BankScreen)
DepositAll;
WriteLn('Banking');
Wait(75 + Random(15));
If FindBitMapToleranceIn(GoatHorn, X, Y, MSX1, MSY1, MSX2, MSY2, 25) Then
Begin
Writeln('Debug: We found the GoatHorn');
MMouse(X, Y, 4, 4);
ClickMouse2(False);
WaitOption('Withdraw-All',350);
End;
CloseBank;
End;
{*********************************************
Procedure CrushHorns;
By: GOOGLE
Description: Clicks Horn then Crushes all
**********************************************}
Procedure CrushHorns;
Begin
HandleHorns;
MarkTime(T);
Repeat
Until(InvFull) or (TimeFromMark(T) > 8000)
If (TimeFromMark(T) > 8000) And (Not(InvFull)) Then
Begin
WriteLn('Ran Out Of Supplies Terminating');
Logout;
TerminateScript();
End;
Begin
If InvMouse(RandomRange(1,25),3) Then
Begin
If (WaitUpTextMulti(['Desert', 'oat', 'horn', 'sert'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
If (Not(WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000))) Then
Begin
WriteLn('Attempting To Crush The Horn Again');
InvMouse(RandomRange(1,25),3);
If (WaitUpTextMulti(['Desert', 'oat', 'horn', 'sert'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
End;
If (Not(WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000))) Then
Begin
WriteLn('Attempt # 2 To Crush The Horn Again');
InvMouse(RandomRange(1,25),3);
If (WaitUpTextMulti(['Desert', 'oat', 'horn', 'sert'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
End;
If (WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000)) Then
ClickMouse2(True);
WriteLn('Crushing Goat Horn');
End;
InvMouse(RandomRange(28,28),3);
If (WaitUpTextMulti(['dust', 'ust', 'du', 'ust'], 20000)) Then
HornCrushed:=HornCrushed+1;
End;
End;
{*********************************************
Procedure HandleScales;
By: GOOGLE
Description: Withdraws Scale From Bank
**********************************************}
Procedure HandleScales;
Begin
Repeat
OpenBankChest(SRL_BANK_SW);
Wait(100);
If (PinScreen) Then
InPin(Players[0].Pin);
Until (BankScreen)
DepositAll;
WriteLn('Banking');
If FindBitMapToleranceIn(Scale, X, Y, MSX1, MSY1, MSX2, MSY2, 25) Then
Begin
Writeln('Debug: We found the Scales');
MMouse(X, Y, 4, 4);
ClickMouse2(False);
WaitOption('Withdraw-All',350);
End;
CloseBank;
End;
{*********************************************
Procedure CrushScale;
By: GOOGLE
Description: Clicks scale then Crushes all
**********************************************}
Procedure CrushScale;
Begin
HandleScales;
MarkTime(T);
Repeat
Until(InvFull) or (TimeFromMark(T) > 8000)
If (TimeFromMark(T) > 8000) And (Not(InvFull)) Then
Begin
WriteLn('Ran Out Of Supplies Terminating');
Logout;
TerminateScript();
End;
Begin
If InvMouse(RandomRange(1,25),3) Then
Begin
If (WaitUpTextMulti(['Blue dragon scale', 'drag', 'cale', 'lue'], 1000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
If (Not(WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000))) Then
Begin
WriteLn('Attempting To Crush The Dragon Scale Again');
InvMouse(RandomRange(1,25),3);
If (WaitUpTextMulti(['Blue dragon scale', 'drag', 'cale', 'lue'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
End;
If (Not(WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000))) Then
Begin
WriteLn('Attempt # 2 To Crush The Dragon Scale Again');
InvMouse(RandomRange(1,25),3);
If (WaitUpTextMulti(['Blue dragon scale', 'drag', 'cale', 'lue'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
End;
If (WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000)) Then
ClickMouse2(True);
WriteLn('Crushing Dragon Scale');
End;
InvMouse(RandomRange(28,28),3);
If (WaitUpTextMulti(['dust', 'ust', 'du', 'ust'], 20000)) Then
HornCrushed:=HornCrushed+1;
End;
End;
{*********************************************
Procedure HandleChocolate;
By: GOOGLE
Description: Withdraws Scale From Bank
**********************************************}
Procedure HandleChocolate;
Begin
Repeat
OpenBankChest(SRL_BANK_SW);
Wait(100);
If (PinScreen) Then
InPin(Players[0].Pin);
Until (BankScreen)
DepositAll;
WriteLn('Banking');
If FindBitMapToleranceIn(Chocolate, X, Y, MSX1, MSY1, MSX2, MSY2, 25) Then
Begin
Writeln('Debug: We found the Chocolate');
MMouse(X, Y, 4, 4);
ClickMouse2(False);
WaitOption('Withdraw-All',350);
End;
CloseBank;
End;
{*********************************************
Procedure CrushChocolate;
By: GOOGLE
Description: Crushes the Chocolate Bars
into Dust
**********************************************}
Procedure CrushChocolate;
Begin
HandleChocolate;
MarkTime(T);
Repeat
Until(InvFull) or (TimeFromMark(T) > 8000)
If (TimeFromMark(T) > 8000) And (Not(InvFull)) Then
Begin
WriteLn('Ran Out Of Supplies Terminating');
Logout;
TerminateScript();
End;
Begin
If InvMouse(RandomRange(1,25),3) Then
Begin
If (WaitUpTextMulti(['Chocolate bar', 'ar', 'hoco', 'late'], 1000)) Then
Begin
ClickMouse2(False);
WaitOption('Powder',1500);
End;
MMouse(258, 427, 7, 7);
If (Not(WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000))) Then
Begin
WriteLn('Attempting To Crush The Chocolate Bar Again');
InvMouse(RandomRange(1,25),3);
If (WaitUpTextMulti(['Chocolate bar', 'ar', 'hoco', 'late'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Powder',1500);
End;
MMouse(258, 427, 7, 7);
End;
If (Not(WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000))) Then
Begin
WriteLn('Attempt # 2 To Crush The Chocolate Bar Again');
InvMouse(RandomRange(1,25),3);
If (WaitUpTextMulti(['Chocolate bar', 'ar', 'hoco', 'late'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Powder',1500);
End;
MMouse(258, 427, 7, 7);
End;
If (WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000)) Then
ClickMouse2(True);
WriteLn('Crushing ChocolateBar');
End;
InvMouse(RandomRange(28,28),3);
If (WaitUpTextMulti(['dust', 'ust', 'du', 'ust'], 20000)) Then
HornCrushed:=HornCrushed+1;
End;
End;
{*********************************************
Procedure HandleUnicorn;
By: GOOGLE
Description: Withdraws Unicorn horns from bank
**********************************************}
Procedure HandleUnicorn;
Begin
Repeat
OpenBankChest(SRL_BANK_SW);
Wait(100);
If (PinScreen) Then
InPin(Players[0].Pin);
Until (BankScreen)
DepositAll;
WriteLn('Banking');
If FindBitMapToleranceIn(Unicorn, X, Y, MSX1, MSY1, MSX2, MSY2, 25) Then
Begin
Writeln('Debug: We found the Horn');
MMouse(X, Y, 4, 4);
ClickMouse2(False);
WaitOption('Withdraw-All',350);
End;
CloseBank;
End;
{*********************************************
Procedure CrushUnicorn;
By: GOOGLE
Description: Crushes the Unicorn Horns
**********************************************}
Procedure CrushUnicorn;
Begin
HandleUnicorn;
MarkTime(T);
Repeat
Until(InvFull) or (TimeFromMark(T) > 8000)
If (TimeFromMark(T) > 8000) And (Not(InvFull)) Then
Begin
WriteLn('Ran Out Of Supplies Terminating');
Logout;
TerminateScript();
End;
Begin
If InvMouse(RandomRange(1,25),3) Then
Begin
If (WaitUpTextMulti(['Unicorn horn', 'nicorn', 'orn', 'Uni'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
If (Not(WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000))) Then
Begin
WriteLn('Attempting To Crush The Unicorn Horn');
InvMouse(RandomRange(1,25),3);
If (WaitUpTextMulti(['Unicorn horn', 'nicorn', 'orn', 'Uni'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
End;
If (Not(WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000))) Then
Begin
WriteLn('Attempt # 2 To Crush The Unicorn Horn Again');
InvMouse(RandomRange(1,25),3);
If (WaitUpTextMulti(['Unicorn horn', 'nicorn', 'orn', 'Uni'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
End;
If (WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000)) Then
ClickMouse2(True);
WriteLn('Crushing Unicorn Horn');
End;
InvMouse(RandomRange(28,28),3);
If (WaitUpTextMulti(['dust', 'ust', 'du', 'ust'], 20000)) Then
HornCrushed:=HornCrushed+1;
End;
End;
{*********************************************
Procedure HandleRunes;
By: GOOGLE
Description: Handles Depositing the Mud Runes
**********************************************}
Procedure HandleRunes;
Begin
Repeat
OpenBankChest(SRL_BANK_SW);
Wait(100);
If (PinScreen) Then
InPin(Players[0].Pin);
Until (BankScreen)
Deposit(2, 28, True);
WriteLn('Banking');
CloseBank;
End;
{*********************************************
Procedure CrushRunes;
By: GOOGLE
Description: Crushes the Mud Runes
**********************************************}
Procedure CrushRunes;
Begin
HandleRunes;
MarkTime(T);
Repeat
Until(FindBitMapToleranceIn(MudR,X,Y,MIX1,MIY1,MIX2,MIY2,35)) or (TimeFromMark(T) > 8000)
If (TimeFromMark(T) > 8000) And (Not(FindBitMapToleranceIn(MudR,X,Y,MIX1,MIY1,MIX2,MIY2,35))) Then
Begin
WriteLn('Ran Out Of Supplies Terminating');
Logout;
TerminateScript();
End;
Begin
If InvMouse(RandomRange(1,1),3) Then
Begin
If (WaitUpTextMulti(['Mud rune', 'ud run', 'une', 'ud rune'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
If (Not(WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000))) Then
Begin
WriteLn('Attempting To Crush The Mud Runes');
InvMouse(RandomRange(1,25),3);
If (WaitUpTextMulti(['Mud rune', 'ud run', 'une', 'ud rune'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
End;
If (Not(WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000))) Then
Begin
WriteLn('Attempt # 2 To Crush The Mud Runes Again');
InvMouse(RandomRange(1,25),3);
If (WaitUpTextMulti(['Mud rune', 'ud run', 'une', 'ud rune'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
End;
If (WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000)) Then
ClickMouse2(True);
WriteLn('Crushing Mud Runnes');
End;
InvMouse(RandomRange(28,28),3);
If (WaitUpTextMulti(['dust', 'ust', 'du', 'ust'], 20000)) Then
HornCrushed:=HornCrushed+1;
End;
End;
{*********************************************
Procedure HandleNests;
By: GOOGLE
Description: Handles Banking Birds Nests + Items
**********************************************}
Procedure HandleNests;
Begin
Repeat
OpenBankChest(SRL_BANK_SW);
Wait(100);
If (PinScreen) Then
InPin(Players[0].Pin);
Until (BankScreen)
Deposit(2, 28, True);
WriteLn('Banking');
WithdrawEx(9,0,28,['Bird', 'nest', 's nest', 'ird']);
CloseBank;
End;
{*********************************************
Procedure CrushNests;
By: GOOGLE
Description: Crushes the Birds Nests
**********************************************}
Procedure CrushNests;
Begin
HandleNests;
MarkTime(T);
Repeat
Until(InvFull) or (TimeFromMark(T) > 8000)
If (TimeFromMark(T) > 8000) And (Not(InvFull)) Then
Begin
WriteLn('Ran Out Of Supplies Terminating');
Logout;
TerminateScript();
End;
Begin
If InvMouse(RandomRange(1,28),3) Then
Begin
If (WaitUpTextMulti(['Bird', 'nest', 's nest', 'ird'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
If (Not(WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000))) Then
Begin
WriteLn('Attempting To Crush The Birds Nests Again');
InvMouse(RandomRange(1,25),3);
If (WaitUpTextMulti(['Bird', 'nest', 's nest', 'ird'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
End;
If (Not(WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000))) Then
Begin
WriteLn('Attempt # 2 To Crush The Birds Nests Again');
InvMouse(RandomRange(1,25),3);
If (WaitUpTextMulti(['Bird', 'nest', 's nest', 'ird'], 2000)) Then
Begin
ClickMouse2(False);
WaitOption('Grind',1500);
End;
MMouse(258, 427, 7, 7);
End;
If (WaitUpTextMulti(['Make All', 'll', 'ake', 'ake All'], 4000)) Then
ClickMouse2(True);
WriteLn('Crushing Birds Nests');
End;
InvMouse(RandomRange(28,28),3);
If (WaitUpTextMulti(['dust', 'ust', 'du', 'ust'], 20000)) Then
HornCrushed:=HornCrushed+1;
End;
End;
{*********************************************
Procedure TakeBreaks;
By: GOOGLE
Description: Logs out and takes a break
After X amount of minutes.
**********************************************}
Procedure TakeBreaks;
Begin
If not LoggedIn then
Exit;
Begin
If (GetSystemTime > BreakTimer) Then
Begin
WriteLn('Taking a break.');
Logout;
Wait(BreakFor * 60000 + Random(BreakForRandom * 60000));
WriteLn('Logging back in.');
Case (SwitchWorld) of
True: If LoginPlayerToLob Then
ChangeWorld(RandomWorld(True, False));
False: LoginPlayer;
End;
Wait(2000);
BreaksTaken:=BreaksTaken+1;
BreakTimer := GetSystemTime + (BreakIn * 60000 + Random(BreakInRandom * 60000));
End;
End;
End;
Procedure Loop;
Begin
//If FindBitMapToleranceIn(Unicorn, X, Y, MSX1, MSY1, MSX2, MSY2, 45) Then
//If FindBitMapToleranceIn(GoatHorn, X, Y, MSX1, MSY1, MSX2, MSY2, 45) Then
//If FindBitMapToleranceIn(Scale, X, Y, MSX1, MSY1, MSX2, MSY2, 45) Then
If FindBitMapToleranceIn(Chocolate, X, Y, MSX1, MSY1, MSX2, MSY2, 25) Then
Begin
Writeln('found unicorn horn');
Mmouse(X, Y, 3, 3);
End;
End;
Begin
SetupSRL;
IgnoreBar;
DeclarePlayers;
LoginPlayer;
CallThings;
AddOnTerminate('FreeThings');
SetAngle(SRL_ANGLE_HIGH);
GameTab(tab_Inv);
BreakTimer := GetSystemTime + (BreakIn * 60000 + Random(BreakInRandom * 60000));
MouseSpeed := 33;
Repeat
If ItemCrush = ('G') Then
CrushHorns;
Proggy;
If ItemCrush = ('D') Then
CrushScale;
Proggy;
If ItemCrush = ('C') Then
CrushChocolate;
Proggy;
If ItemCrush = ('U') Then
CrushUnicorn;
Proggy;
If ItemCrush = ('M') Then
CrushRunes;
Proggy;
If ItemCrush = ('B') Then
If (UseBreaks) Then
TakeBreaks;
Until (not Loggedin);
FreeThings;
Terminatescript();
End.

So can someone tell me what has to be done to this script yet for it to be able to work?

stray247

2012-07-17 01:28:18

Warning: The include directory specified in the Settings isn't valid.
Exception in Script: Unable to find file 'SRL/SRL.Simba' used from ''

Brandon

2012-07-17 01:36:06

From: stray247
Warning: The include directory specified in the Settings isn't valid.
Exception in Script: Unable to find file 'SRL/SRL.Simba' used from ''


You didn't install the include properly.

Sir Ducksworthy

2012-07-17 02:12:50

Helpz, Admin mode Windows 7 x64
*** Fatal Error: Pairing Clients; Attempting To Kill All Clients ***

Brandon

2012-07-17 02:26:01

From: leetsxc
Helpz, Admin mode Windows 7 x64
Simba Code:
[LEFT]*** Fatal Error: Pairing Clients; Attempting To Kill All Clients ***
[/LEFT]



http://villavu.com/forum/showthread.php?t=86387

Or download the Simba folder in my sig which has the precompiled smart patch.
After getting the patch either by compiling urself or via my sig then open Simba first then open your script via the menu. No need for admin mode.

Neznam

2012-07-17 02:42:14

Amazing work.

Sir Ducksworthy

2012-07-17 03:20:08

From: Brandon
http://villavu.com/forum/showthread.php?t=86387

Or download the Simba folder in my sig which has the precompiled smart patch.
After getting the patch either by compiling urself or via my sig then open Simba first then open your script via the menu. No need for admin mode.

I'll need to try the method in the first link I think, I'm using your Simba and it isn't working still.

Brandon

2012-07-17 03:21:23

From: leetsxc
I'll need to try the method in the first link I think, I'm using your Simba and it isn't working still.


Hmm Awkward.. It works for me any a lot of others :S
Did you open Simba first then open your script via the file menu? It's something to do with Smart's pairing thing.

riwu

2012-07-17 06:17:05

The new smart/simba is working fine for me, but there is just one problem:
If i terminate the script and rerun it, it will always attempt to load a new SMART window (displaying the message: Please Wait.. Smart Is Currently Loading..)

I've tried SmartPairClient and SetupSmart(false); and none of these allows me to reuse the already loaded SMART.

This problem only occur in older SMART version when u set Smart_Server := 0; instead of an integer.

Sir Ducksworthy

2012-07-17 06:33:10

From: Brandon
Hmm Awkward.. It works for me any a lot of others :S
Did you open Simba first then open your script via the file menu? It's something to do with Smart's pairing thing.

Mmm ty :wub:
Rep++ works fine when I open inside Simba

Brandon

2012-07-17 06:36:06

From: riwu
The new smart/simba is working fine for me, but there is just one problem:
If i terminate the script and rerun it, it will always attempt to load a new SMART window (displaying the message: Please Wait.. Smart Is Currently Loading..)

I've tried SmartPairClient and SetupSmart(false); and none of these allows me to reuse the already loaded SMART.

This problem only occur in older SMART version when u set Smart_Server := 0; instead of an integer.


Do not use LibSmart32. If you're doing Libsmart then yes it will start a new smart. If you're using Smartremote, it will pair and use the current smart.

All you need is: {$DEFINE SMART} and SetupSRL;

riwu

2012-07-17 09:29:54

From: Brandon
Do not use LibSmart32. If you're doing Libsmart then yes it will start a new smart. If you're using Smartremote, it will pair and use the current smart.

All you need is: {$DEFINE SMART} and SetupSRL;

How do i set it to use Smartremote? From what i've read from your other post, u need to do {$DEFINE SMARTREMOTE}? But that doesn't work either. I've also tried deleting the libsmart32.

Or do i have to compile and edit SMART myself to change that?

Also .WorldInfo isn't working atm as it gives an out of range error in the OrderWorlds function in worldswitcher.simba

Other than that everything is pretty much fixed, managed to get few hours of smooth botting so far. Thanks for your hard work :)

blinkblink

2012-07-17 14:09:55

From: Brandon
http://villavu.com/forum/showthread.php?t=86387

Or download the Simba folder in my sig which has the precompiled smart patch.
After getting the patch either by compiling urself or via my sig then open Simba first then open your script via the menu. No need for admin mode.


Hey I have that same issue but with also giving me an error of line 59 inside "SmartParams"

Compiled successfully in 640 ms.
SRL Compiled in 0 msec
*** Fatal Error: Pairing Clients; Attempting To Kill All Clients ***
Error: Out Of Range at line 59

This is the part where it gives that error inside "SmartParams"
{*
By: Mormanman.
Grabs All Client ID's of the current remote.
*}
Function SmartGetClientIDs: TIntegerArray;
var
I, Count: Integer;
begin <-------- This is line 59
Count:= SmartGetClients(FALSE);
If (Count > 0) then
begin
SetLength(Result, 1);
For I:= 0 To (Count - 1) Do
Result[I]:= SmartClientID(I);
end;
end;

I am using the Simba folder from your Sig and as well tried running Simba.exe as an Administrator but I still get that error. I always open up Simba 1st and then I open up the script from the Simba menu.

Anything else that I shall try?

I followed the instructions from the main post, doing everything on a new Simba folder(nothing old was transferred in it, only the script) and made the changes to the script as well.

Brandon

2012-07-17 14:12:59

From: blinkblink
Hey I have that same issue but with also giving me an error of line 59 inside "SmartParams"

I am using the Simba folder from your Sig and as well tried running Simba.exe as an Administrator but I still get that error. I always open up Simba 1st and then I open up the script from the Simba menu.

Anything else that I shall try?

I followed the instructions from the main post, doing everything on a new Simba folder(nothing old was transferred in it, only the script) and made the changes to the script as well.



Compile Smart: http://villavu.com/forum/showthread.php?t=86387

blinkblink

2012-07-17 14:51:12

From: Brandon
Compile Smart: http://villavu.com/forum/showthread.php?t=86387


:) yeah that worked

hey is it normal that I do not get the black *Log window?

Brandon

2012-07-17 14:52:37

From: blinkblink
:) yeah that worked

hey is it normal that I do not get the black *Log window?


The what window? U mean the console window? Just press the console button and it'll show..

blinkblink

2012-07-17 15:06:25

From: Brandon
The what window? U mean the console window? Just press the console button and it'll show..


:P alright no more questions.. forgot about the button, kinda used to the old way of it being automatically opened when starting simba

[F]aceless

2012-07-17 15:14:42

Hey I have just setup simba with the new fix but I have a problem. the new smart works perfectly but how do I run a script with it? I mean, ive entered some script to start smart, but what now? How do I run a script on that SMART? Help me plz im new here and sorry for my english.

Thanks

Abu

2012-07-17 15:41:26

From: henrik30796
Hey I have just setup simba with the new fix but I have a problem. the new smart works perfectly but how do I run a script with it? I mean, ive entered some script to start smart, but what now? How do I run a script on that SMART? Help me plz im new here and sorry for my english.

Thanks


Press the Green Arrow button. For more info:

http://villavu.com/forum/showthread.php?t=81508

[F]aceless

2012-07-17 17:30:15

From: abu_jwka
Press the Green Arrow button. For more info:

http://villavu.com/forum/showthread.php?t=81508


lol not that. Ive setup all according to the guide but when I start a script it gives an error like smart hasnt been updated

krisg05

2012-07-17 19:21:10

few problems i have seen when you close the smart client the process dosnt end if a script fails and you try to restart it half the time it carnt find it so says Please Wait.. Smart Is Currently Loading even though its fully loaded and the other problem i see is how much CPU usage it uses compered to version 6.9 wldnt mind if it was a few % not 50% more than what smart 6.9 used

on the plus side memory usage seems to be down by about 10%

riwu

2012-07-18 06:27:19

From: krisg05
few problems i have seen when you close the smart client the process dosnt end if a script fails and you try to restart it half the time it carnt find it so says Please Wait.. Smart Is Currently Loading even though its fully loaded and the other problem i see is how much CPU usage it uses compered to version 6.9 wldnt mind if it was a few % not 50% more than what smart 6.9 used

on the plus side memory usage seems to be down by about 10%

Yeah its trying to open a new SMART, ggzz said we need to use libsmartremote instead.

x[Warrior]x3500

2012-07-18 20:31:33

fixed bugs:


Function GetXPBar(CounterNum: integer): LongInt;
var
TPA: TPointArray;
B: TBox;
S: String;
P: integer;
begin
if ToggleXPBarEx(true, CounterNum) then
begin
FindColorsTolerance(TPA, 14474460, 407, 60+(CounterNum-1)*22, 489, 74+(CounterNum-1)*22, 0);
B := GetTPABounds(TPA);
S := Replace(GetTextAtExWrap(B.x1, B.y1, B.x2, B.y2, 0, 1, 4, 14474460, 0, UpChars), ' ', '');
P := Pos('x', S);
if P > 0 then
Result := StrToIntDef(ExtractFromStr(Copy(s, P, Length(S)), Numbers), 0)
else
Result := StrToIntDef(ExtractFromStr(S, Numbers), 0);
end;
end;

function ToggleXPBarEx(Open: Boolean; CounterNum: integer): Boolean;
var
TPA: TPointArray;
P: TPoint;
T: Integer;
begin
if Open xor IsXPBarOpenEx(CounterNum) then
begin
TPA := TPAFromBox(IntToBox(521, 101, 546, 125));
FilterPointsPie(TPA, 0, 360, 0, 12, 534, 113);
P := TPA[Random(Length(TPA))];
Mouse(P.X, P.Y, 0, 0, mouse_left);
T := GetSystemTime + 300;
repeat
wait(1);
Result := Open = IsXPBarOpenEx(CounterNum);
until Result or (GetSystemTime > t);
end else
Result := true;
end;

function IsXPBarOpenEx(CounterNum: integer): Boolean;
begin
Result := CountColor(14474460, 481, 50+(CounterNum-1)*22, 489, 72+(CounterNum-1)*22) > 6;
end;

there are MANY static y coords that need to be changed in gametab.simba . almost every function still needs to be updated.

Brandon

2012-07-18 21:13:48

From: x[Warrior]x3500
fixed bugs..
there are MANY static y coords that need to be changed in gametab.simba . almost every function still needs to be updated.


The official fix for SRL will not require these. But these are good temporary fixes.

Arepirpi

2012-07-19 05:39:48

From: krisg05
few problems i have seen when you close the smart client the process dosnt end if a script fails and you try to restart it half the time it carnt find it so says Please Wait.. Smart Is Currently Loading even though its fully loaded and the other problem i see is how much CPU usage it uses compered to version 6.9 wldnt mind if it was a few % not 50% more than what smart 6.9 used

on the plus side memory usage seems to be down by about 10%


I agree with you on the CPU usage. The new smart is using much more CPU then v6.9. I checked the task manager I found out there are two processes running which are Simba.exe and smartremote32.exe. Well I dont know what smartremote32.exe does. So is there a way to cut down the cpu usage or disable smartremote32? In simba 0.984 there is only simba.exe running and now there are two…

iraqownz

2012-07-19 08:13:13

i dont know, if this already had been fixed… but whenever save a script, i get the text:

"Smart Cannot Spawn Clients"

but when i run the script, without saving it, it work just fine….

thanks in advance.

Austin

2012-07-19 08:16:58

From: iraqownz
i dont know, if this already had been fixed… but whenever save a script, i get the text:

"Smart Cannot Spawn Clients"

but when i run the script, without saving it, it work just fine….

thanks in advance.

http://villavu.com/forum/showthread.php?t=86387

Here ya go, just follow what it says

iraqownz

2012-07-19 08:32:33

thank you :)

Karpov

2012-07-19 09:04:38

If you're getting high CPU usage, try minimizing and normalizing the SMART window. E.g. click SMART's 'Minimize' button and then restore the window by clicking the SMART button on the Taskbar. From my experience, that refreshes the 'canvas' and frees up some resource.

I'm not sure if that is a bug or normal behaviour though?

[F]aceless

2012-07-20 14:14:03

Hey! I have a problem with the new fix for simba. I have all set but I still get this error:

[Error] C:\Documents and Settings\Administrator\Desktop\Scripts\High-Alch.simba(127:20): Unknown identifier 'SmartGetDebugDC' at line 126
Compiling failed.





This line gets highlighted:

Canvas.Handle := SmartGetDebugDC;




Im using Teh's Alcher btw



Hope you can help me and thanks


EDIT: This error appears after I delete Smart_server, Smart_members, Smart_signed, Smart_superdetail and
change {$I SRL/SRL/Misc/PaintSmart.Simba} To {$I SRL/SRL/Misc/SmartGraphics.Simba}

Brandon

2012-07-20 14:20:03

Give me a minute I'll update the post to reflect how to deal with canvases. I noticed a lot of people haven't adapted to SetPersistentMemory yet. I'll write something up.

It's not simba or srl. Smart just doesn't use DC's aka Device Contexts anymore for rendering.

EDIT: Finished. Please read the example posted on the first post to see how drawing manually is done. If you do not wish to draw manually on Smart, Simply using Smart_DrawBitmap and Smart_DrawTextMulti will work equally well. Drawing On Smart manually is not for the faint of heart. You need to have good knowledge of scripting.

EDIT2: Added Drawing using SmartGraphics. Now you can contrast both examples and see the differences. Both functions do the exact same thing. Scripts using Simba 0.98 will not require an update but everyone is going to be forced to 0.99 soon enough since Jagex came out with some stupid bar at the top.

Also note that the drawing thing is not my choice. If we had a choice, I'd leave everything as is. Smart has changed not SRL and as such we need to adapt. I hope I made everything clear for drawing. Any questions just post here or PM me and I'll see if I can help out more or make things easier.

EDIT3: When SRL is fixed and updated (When Wizzup pushed 0.99 fixed), I may update scripts for users automatically if I have free time.

Arepirpi

2012-07-21 05:02:11

The new Six hour fix is not working correctly. It cannot login player and the script stopped. In fact smart didnt startup and therefore cannot login. Also, the new smart is now paired so both simba and smart now uses the CPU. I just want to know if
this will be fixed or no??

Brandon

2012-07-22 15:10:42

From: Arepirpi
The new Six hour fix is not working correctly. It cannot login player and the script stopped. In fact smart didnt startup and therefore cannot login. Also, the new smart is now paired so both simba and smart now uses the CPU. I just want to know if
this will be fixed or no??


1. It doesn't log you in because SRL is broken right now. If it's fixed, it will log you in.
2. Ben might work on a way to forcefully terminate that extra process stuff. It's Zombie clients and it isn't SRL's fault.
3. Compiling Smart would most likely fix it since there is less zombies. Right now Simba isn't shipping Smart 7.2 with the flag fix. So compile smart manually and it will have less of that process crap. http://villavu.com/forum/showthread.php?t=86387&highlight=compile+smart

Scaper

2012-07-24 17:22:40

Why am i getting this my script compiles but

SRL Compiled in 0 msec
** Fatal Error: Pairing Clients; Terminating Script **
Successfully executed.

Brandon

2012-07-24 17:34:58

From: Scaper
Why am i getting this my script compiles but

Simba Code:
[LEFT]SRL Compiled in 0 msec
** Fatal Error: Pairing Clients; Terminating Script **
Successfully executed.
[/LEFT]



Because the smart being distributed with Simba is outdated.. https://github.com/BenLand100/SMART/commit/735b052362c20f38f8c25118f7b0f44f9a26bd18
The changes specified by that link fixes this problem 100% of the time when opening via Simba.

Compile smart yourself and it will work. There's a tutorial on how to do it in the C++/Programming section.

Scaper

2012-07-24 18:05:33

Brandom i have tried that can you take a look the tut you compiled because mine wont compile says there no such file but i have my variables set and the smart folder is on my desktop <3

Scaper

2012-07-24 18:08:48


Brandon

2012-07-24 18:29:48

From: Scaper
….



I'm not sure that you read what I said in the last post..

You're still putting one slash. You need either 1 forward slash or two backslashes.. Or just wait until Wizzup Updates Simba to ship with the latest smart. I can't teamviewer right now.. I'm at work.

Coh3n

2012-07-24 20:54:30

Brandon, Wizzup? and I have gotten Simba and SRL working in the browser (details here, Wizzup?'s post, and mine below it). However, with that setup, I can't load SMART (only setup I tried). I get this error:


Compiled successfully in 515 ms.
SRL Compiled in 16 msec
*** Fatal Error: Pairing Clients; Attempting To Kill All Clients ***
Count = 1
Failed To Kill Client: 2968
Successfully executed.
I can run Ben's test script without problems, so I'm assuming it's an issue within the new SMART include, and since you helped write it, I figure you know more about it.

I'm done for the night, but hopefully we can completely fix SRL in the next few days. :)

Abu

2012-07-24 21:24:48

Exiting progress being made here! ^^^

<3

Brandon

2012-07-24 22:16:38

From: Coh3n
Brandon, Wizzup? and I have gotten Simba and SRL working in the browser (details here, Wizzup?'s post, and mine below it). However, with that setup, I can't load SMART (only setup I tried). I get this error:

Progress Report:
Compiled successfully in 515 ms. SRL Compiled in 16 msec *** Fatal Error: Pairing Clients; Attempting To Kill All Clients *** Count = 1 Failed To Kill Client: 2968 Successfully executed.

I can run Ben's test script without problems, so I'm assuming it's an issue within the new SMART include, and since you helped write it, I figure you know more about it.

I'm done for the night, but hopefully we can completely fix SRL in the next few days. :)


Hey I just got home. Uhh I worked on it this week to see if I could figure out what was causing that..

This is what I came up with:

In SmartParams.Simba use this:


Result:= SmartSpawnClient(ReplaceWrap(PluginPath, '\', '/', [rfReplaceAll]), Params[0], ',' + Params[1], 765, 553, 's', '', '', -1);

instead of:


Result:= SmartSpawnClient('./Plugins/', Params[0], ',' + Params[1], 765, 553, 's', '', '', -1);

I'm not 100% sure why it works but it's a theory and so far it's been working very well. With this, I no longer need to open Simba first. I can just open scripts directly. When I get some time I'll go through smart's source and see why it works or I'll ask Ben if I can't figure out why it works.

Jos3ph

2012-07-24 22:36:48

Will the update be pushed or will I have to download multi files

Brandon

2012-07-24 22:50:06

From: po2n star
Will the update be pushed or will I have to download multi files


When SRL is fixed, everything will be pushed automatically. There really should be no need to do anything manually. That includes compiling smart. So give it a few hours or a day or so. Simba is fixed so SRL will be fixed shortly.

Jos3ph

2012-07-25 08:05:04

From: Brandon
When SRL is fixed, everything will be pushed automatically. There really should be no need to do anything manually. That includes compiling smart. So give it a few hours or a day or so. Simba is fixed so SRL will be fixed shortly.


I been away for a few days and I wasn't sure if should manually do everything, but if it will be pushed then that is great. As far as it being done in a few days, even better! Thanks man! You really have done a lot.

Godric

2012-07-25 21:55:46

From: Brandon
When SRL is fixed, everything will be pushed automatically. There really should be no need to do anything manually. That includes compiling smart. So give it a few hours or a day or so. Simba is fixed so SRL will be fixed shortly.


That sounds great, worth waiting then!
Keep up the Awesome work!

Silent

2012-07-26 11:59:25

From: Brandon
When SRL is fixed, everything will be pushed automatically. There really should be no need to do anything manually. That includes compiling smart. So give it a few hours or a day or so. Simba is fixed so SRL will be fixed shortly.


I'm using your github branch right now, with the newest SMART (7.2) and Simba .991. The script I'm testing implements the SRL_SixHourFix := true; but still gets the session ended message and terminates.

Do I need to call something somewhere else for this to work?

Brandon

2012-07-26 12:05:08

From: Silent SPY
I'm using your github branch right now, with the newest SMART (7.2) and Simba .991. The script I'm testing implements the SRL_SixHourFix := true; but still gets the session ended message and terminates.

Do I need to call something somewhere else for this to work?



That is impossible.. Only way is if you called it after setupsrl. SRL_SixHourFix := True has to be before SetupSRL.

From SRL.Simba

if (SRL_SixHourFix) then
SRL_Procs[srl_OnRSUpdate] := @SixHourFix;

From Login.Simba

732: Actions := ['Runescape has been updated.', 0, 0, 'RSUpdate', 'RS Updated'];
591: Actions := ['Client token changed.', 0, 0, 'RSUpdate', 'Client Token Changed'];
1606: Actions := ['Game session expired.', 0, 0, 'RSUpdate', 'Session Expired'];

Globals.Simba contains all the procs.

I don't see how it could possibly not restart unless you RS changed their session expired messages.
Did smart close? Or did it just stay on the login screen and terminate the script?

Silent

2012-07-26 12:15:35

From: Brandon
That is impossible.. Only way is if you called it after setupsrl. SRL_SixHourFix := True has to be before SetupSRL.

I don't see how it could possibly not restart unless you RS changed their session expired messages.
Did smart close? Or did it just stay on the login screen and terminate the script?


I currently have..

{$IFDEF SMART}
{$IFDEF SIMBAMAJOR980}
Smart_Server := 72;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
{$ELSE}
SRL_SixHourFix := True;
Smart_FixSpeed := True;
{$ENDIF}
{$ENDIF}
SetupSRL;
In a setup function I call before my main loop.

Smart was still open, waiting at a login screen with script terminated.

Edit: Could it have something with not being able to detect it? I simply get a Successfully executed message… No 'Rs has been updated' message like before.

Brandon

2012-07-26 12:26:35

From: Silent SPY
I currently have..
In a setup function I call before my main loop.

Smart was still open, waiting at a login screen with script terminated.

Edit: Could it have something with not being able to detect it? I simply get a Successfully executed message… No 'Rs has been updated' message like before.


Your code is fine. I'll look at it again. Perhaps the message changed or maybe it's just offsetted by that stupid bar thing. I'll test when I get home.

blowsmoke1

2012-07-27 22:59:39

So i've followed the 991 + 7.2 Smart download. Where does that Bitmap Automatic Script go? at the beginning of an Unfixed Script? and what am i searching for to tweak? [i tried adding it to the beginning of an unfixed script, and i got a Circle in the center of my smart client [game is loaded] saying B in white and right under neathe is R in blue. Anyone point me in the right direction, take your time, thanks for the help.

Harry

2012-07-27 23:15:52

You forgot to commit stuff to login.simba. There is no such function "SixHourFix" anywhere in SRL. Unless I'm doing something wrong anyways. PS: I would suggest committing a smart.simba in same place it was before with a message saying it's no longer in use.

Or maybe I'm doing something totally wrong, I am all up to date including my plugins and no such command SetupSmart exists.

Justin

2012-07-27 23:18:24

From: Harry
You forgot to commit stuff to login.simba. There is no such function "SixHourFix" anywhere in SRL. Unless I'm doing something wrong anyways. PS: I would suggest committing a smart.simba in same place it was before with a message saying it's no longer in use.


I am using the latest include;

Brandon

2012-07-27 23:20:54

From: Harry
You forgot to commit stuff to login.simba. There is no such function "SixHourFix" anywhere in SRL. Unless I'm doing something wrong anyways. PS: I would suggest committing a smart.simba in same place it was before with a message saying it's no longer in use.

Or maybe I'm doing something totally wrong, I am all up to date including my plugins and no such command SetupSmart exists.


Yes there is.. https://github.com/SRL/SRL-5/blob/master/srl/misc/SmartParams.Simba

Ctrl + F + "SixHourFix"
Ctrl + F + "SetupSmart"

Harry

2012-07-27 23:28:36

From: Brandon
Yes there is.. https://github.com/SRL/SRL-5/blob/master/srl/misc/SmartParams.Simba

Ctrl + F + "SixHourFix"
Ctrl + F + "SetupSmart"

Yeah I see what you mean now, okay. It's too late for me.

Can you wipe the smart.simba though? That'd be good.

Brandon

2012-07-27 23:35:06

From: Harry
Yeah I see what you mean now, okay. It's too late for me.

Can you wipe the smart.simba though? That'd be good.


Wipe it or do you mean Rename SmartParams to Smart.Simba? I think the renaming would be better and I don't have Dev access but I can send a pull.

Smart was kept there for backwards compatibility but seeing as the bar came out of no where, that screwed over everything..

Oh and I'd prefer if everyone agrees on that before I send a pull. Perhaps a poll to rename them or something would be fine.

Harry

2012-07-27 23:43:43

From: Brandon
Wipe it or do you mean Rename SmartParams to Smart.Simba? I think the renaming would be better and I don't have Dev access but I can send a pull.

Smart was kept there for backwards compatibility but seeing as the bar came out of no where, that screwed over everything..

Oh and I'd prefer if everyone agrees on that before I send a pull. Perhaps a poll to rename them or something would be fine.

Naming doesn't matter. I just think it'd be good to have smart.simba replaced with a (commented) notice linking here saying how they should upgrade their SMART and the file isn't really used anymore, so no one dumb like me would keep trying to use it for 10 minutes.

blowsmoke1

2012-07-28 00:17:00

So what would be the best approach at this point? . Basically you're saying my login.simba file isn't correct? or i'm not referencing it in the script i'm trying to fix correctly? sorry if i'm a burden.

blinkblink

2012-07-28 00:52:27

From: Brandon
That is impossible.. Only way is if you called it after setupsrl. SRL_SixHourFix := True has to be before SetupSRL.

From SRL.Simba

From Login.Simba


Globals.Simba contains all the procs.

I don't see how it could possibly not restart unless you RS changed their session expired messages.
Did smart close? Or did it just stay on the login screen and terminate the script?

I have the same issue, it doesn't work for me… after the 6hr logout, I had posted about it over here: http://villavu.com/forum/showpost.php?p=1076630&postcount=100

hopefully you can help me out on what to change to possibly make it work for that script

Brandon

2012-07-28 01:03:45

From: blinkblink
I have the same issue, it doesn't work for me… after the 6hr logout, I had posted about it over here: http://villavu.com/forum/showpost.php?p=1076630&postcount=100

hopefully you can help me out on what to change to possibly make it work for that script


It's not the function itself. It's the text/colours on the screen it's changed as Home has mentioned. If anyone gets the sixhour crap and has knowledge of fixing it, they should. Reason being is that I have to wait 6 hrs or more to get it inorder to fix it and I will but not right now. Maybe when everyone is settled down and up and running. Then that can be fixed as it's just minor. Most ppl are having problem just installed alone.. Some guys are PMing me and still on Simba 0.984, whereas others are trying to run scar scripts -_- etc..

When everything is settled I'll fix that if someone else doesn't.

blinkblink

2012-07-28 02:18:30

From: Brandon
It's not the function itself. It's the text/colours on the screen it's changed as Home has mentioned. If anyone gets the sixhour crap and has knowledge of fixing it, they should. Reason being is that I have to wait 6 hrs or more to get it inorder to fix it and I will but not right now. Maybe when everyone is settled down and up and running. Then that can be fixed as it's just minor. Most ppl are having problem just installed alone.. Some guys are PMing me and still on Simba 0.984, whereas others are trying to run scar scripts -_- etc..

When everything is settled I'll fix that if someone else doesn't.



Which exact screen do you need? I was stuck just stuck on the login screen…
I mean as in it didn't try to relog me in or refresh the screen - just exactly when I was logged out by runescape the script simply ended with "Successfully executed."

Ashaman88

2012-07-28 02:31:19

err sixhourfix worked fine for me yesterday and today…

P1ng

2012-07-28 03:17:08

Haven't actually watched my bots when they hit the 6hr mark but they never seem to crash SMART. Will have to actually watch it so I can ascertain why it doesn't. But whenever I come back and press run it crashes it then runs in a new SMART…

blinkblink

2012-07-28 03:17:50

From: ashaman88
err sixhourfix worked fine for me yesterday and today…


Well I need someone to check the script code I am using to see if there is anything that would not cause it to work.. last post here: http://villavu.com/forum/showthread.php?t=74508&page=12
Like I mentioned with that script, instantly when you get logged out it directly gives the "Successfully executed." which stops the script

speedster

2012-07-28 15:11:57

It would be nice to see your 1st post updated with a changelog to SRL ^-^

Brandon

2012-07-28 15:33:20

Yes I know the SixHourFix is outdated.. Infact it's not actually the sixhourfix. It's the Update function. The one that checks whether RS Updated or timed out. I can easily write you a test function and you'll see that the sixhourfix will work just fine.

I'd need to have the screen that says "RS Has been updated" AND the screen that says the session expired.

But as I said, for now I have other things to work on. Gimmie a sec I'll put one of my scripts to run and wait patiently on that sixhour crap. Remember I can only test if it really works every 6 hrs so it's difficult to fix the text atm.

After everything is settled I'll see if I can commit something. But as with all commits, I have to test them extensively first because I don't want to suggest anything that doesn't work.

blinkblink

2012-07-28 15:47:30

From: Brandon
Yes I know the SixHourFix is outdated.. Infact it's not actually the sixhourfix. It's the Update function. The one that checks whether RS Updated or timed out. I can easily write you a test function and you'll see that the sixhourfix will work just fine.

I'd need to have the screen that says "RS Has been updated" AND the screen that says the session expired.

But as I said, for now I have other things to work on. Gimmie a sec I'll put one of my scripts to run and wait patiently on that sixhour crap. Remember I can only test if it really works every 6 hrs so it's difficult to fix the text atm.

After everything is settled I'll see if I can commit something. But as with all commits, I have to test them extensively first because I don't want to suggest anything that doesn't work.


I am saying.. when using that script I do not get the Session ended.. since you get instantly logged out of Runescape - as in the script does not try to log me again… if it had tried to log me again it would have displayed the *Game session ended screen

making it clear again.. my screen after being logged out on which the script Terminates Instantly is simply the default login screen.

Brandon

2012-07-28 15:51:22

From: blinkblink
I am saying.. when using that script I do not get the Session ended.. since you get instantly logged out of Runescape - as in the script does not try to log me again… if it had tried to log me again it would have displayed the *Game session ended screen

making it clear again.. my screen after being logged out on which the script Terminates Instantly is simply the default login screen.


I see I see. I'll come up with something in a sec. It'll probably be like one or two lines to force it to try to log in after a logout.

bolshak25

2012-07-28 21:00:27

From: Brandon
Yes I know the SixHourFix is outdated.. Infact it's not actually the sixhourfix. It's the Update function. The one that checks whether RS Updated or timed out. I can easily write you a test function and you'll see that the sixhourfix will work just fine.

I'd need to have the screen that says "RS Has been updated" AND the screen that says the session expired.

But as I said, for now I have other things to work on. Gimmie a sec I'll put one of my scripts to run and wait patiently on that sixhour crap. Remember I can only test if it really works every 6 hrs so it's difficult to fix the text atm.

After everything is settled I'll see if I can commit something. But as with all commits, I have to test them extensively first because I don't want to suggest anything that doesn't work.


http://puu.sh/MALv

the session ended screen

teamemb99

2012-08-01 11:22:04

Can some1 help please i keep getting this error on like 90% of scripts i try to use,

"[Error] C:\Simba\Includes\srl/srl/misc/smart.simba(53:19): Invalid number of parameters at line 52
Compiling failed."

from a post i saw made by justin he said to remove it and replace it with
{$Define SMART}, but still i keep getting other errors then. ive been trying to search out how to solve and ended up here, im not really good at this stuff, but i know ive been trying, so if some could give me a quick fix or solution it would really be nice and helpful :D.


Thanks

Austin

2012-08-01 15:48:55

From: teamemb99
Can some1 help please i keep getting this error on like 9% of scripts i try to use,

"[Error] C:\Simba\Includes\srl/srl/misc/smart.simba(53:19): Invalid number of parameters at line 52
Compiling failed."

from a post i saw made by justin he said to remove it and replace it with
{$Define SMART}, but still i keep getting other errors then. ive been trying to search out how to solve and ended up here, im not really good at this stuff, but i know ive been trying, so if some could give me a quick fix or solution it would really be nice and helpful :D.


Thanks

Well 9% is pretty small, but.. what are the other errors your getting after you put {$Define SMART} in?

teamemb99

2012-08-01 16:04:14

umm actually 90% didnt notice forgot the "0"

note i place "{$Define SMART}" on line 52 which IS empty for some reason.

but after i get this error

"[Error] C:\Simba\Includes\srl\srl\misc\smart.simba(56:19): Invalid number of parameters at line 55
Compiling failed."

Maybe if some1 could be so kind and use teamviewer to help me bit out, if it doesnt take too much of your time.

blinkblink

2012-08-01 16:12:32

From: teamemb99
umm actually 90% didnt notice forgot the "0"

note i place "{$Define SMART}" on line 52 which IS empty for some reason.

but after i get this error

"[Error] C:\Simba\Includes\srl\srl\misc\smart.simba(56:19): Invalid number of parameters at line 55
Compiling failed."

Maybe if some1 could be so kind and use teamviewer to help me bit out, if it doesnt take too much of your time.


Link us to the script you are trying

teamemb99

2012-08-01 16:20:23

http://villavu.com/forum/showthread.php?t=78726 – barbagility [dont work for me]

http://villavu.com/forum/showthread.php?t=75070 – ashman salamander [dont work for me]

http://villavu.com/forum/showthread.php?t=86589 – edgegoldmselter [works]

All of these previously worked fine for months before this recent change [think frmo when social slayer was introduced]. use to use dozens of other scripts but deleted them as wanted to start new and with latest versions so currently i "use/test" [if my simba working or not] with these. but i have downloaded random scripts and gotten same errors.

blinkblink

2012-08-01 16:47:50

From: teamemb99
http://villavu.com/forum/showthread.php?t=78726 – barbagility [dont work for me]

http://villavu.com/forum/showthread.php?t=75070 – ashman salamander [dont work for me]

http://villavu.com/forum/showthread.php?t=86589 – edgegoldmselter [works]

All of these previously worked fine for months before this recent change [think frmo when social slayer was introduced]. use to use dozens of other scripts but deleted them as wanted to start new and with latest versions so currently i "use/test" [if my simba working or not] with these. but i have downloaded random scripts and gotten same errors.


barbagility - http://pastebin.com/q0nK8gzR [tested it, works]
ashsala - http://pastebin.com/kn4y8YfV [tested it, works]

Brandon

2012-08-01 16:52:14

Please guys take the time to read the thread before PM'ing me about every single thing.

Smart_DrawBox was missing one parameter in the guy's script above. All he had to do was add false to it and the script would work right out of the box. It's easy to check a function's definition by ctrl + clicking it.

As for the 3 links above:

1. Edit it as the first post shows. That's 3 changes. {$DEFINE SMART}, SmartGraphics, Delete Smart_Server stuff.. That's it.

2. Asha's hunter: Delete {$I SRL/SRL/Misc/Smart.Simba}. Delete Smart_Server stuff. That's it.

3. The edgeville smelter works right out of the box. No changes needed.

All of this is listed on the first post..

teamemb99

2012-08-01 17:32:37

gona try it

Austin

2012-08-01 17:42:01

From: teamemb99
http://villavu.com/forum/showthread.php?t=78726 – barbagility [dont work for me]

http://villavu.com/forum/showthread.php?t=75070 – ashman salamander [dont work for me]

http://villavu.com/forum/showthread.php?t=86589 – edgegoldmselter [works]

All of these previously worked fine for months before this recent change [think frmo when social slayer was introduced]. use to use dozens of other scripts but deleted them as wanted to start new and with latest versions so currently i "use/test" [if my simba working or not] with these. but i have downloaded random scripts and gotten same errors.

I've been running Ashaman's Sally script for around a total of 20 hours a few days ago. It works fine after you make a few adjustments. I have the link on how to make it work on the last page of the thread atm. Posted a week ago

teamemb99

2012-08-01 17:56:38

Thanks for help guys got barb agility script to work…still havnt managed to get red sally script to work but i dont think that will be a problem for now as my bro was using red sallys on powerbot and there was bot crashers and bunch of reports hopping around.

+goin for comp cape so tought id try the butterfly script on simba agility+hunt exp :)

YesMan

2012-08-01 19:33:45

Previously an error about the Debug appeared, now is this:
[Error] C:\Simba\Includes\srl/srl/misc/paintsmart.simba(43:33): Unknown identifier 'SmartGetDebugDC' at line 42
Compiling failed.


How do I fix this? :/

Le Jingle

2012-08-01 20:16:33

From: YesMan
Previously an error about the Debug appeared, now is this:


How do I fix this? :/


this
  {$I srl/srl/misc/paintsmart.simba}
to
  {$I srl/srl/misc/smartgraphics.simba}  

newy1

2012-08-05 16:13:27

After I changed paintsmart to smartgraphics I get this

Unknown identifier 'SmartGetDebugDC' at line 3593
Compiling failed.

Here is line 3591-3595, I'm using the wfk script.

DrawATPABitmapEx(bmp, ATPA, Colors);
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(bmp, Canvas, Placement.x, Placement.y);
FreeBitmap(bmp);

Brandon

2012-08-05 16:18:22

That script is outdated. I haven't updated it in ages but the first post shows how to fix it.

Le Jingle

2012-08-05 23:49:01


NextPlayer(True)
SwitchToPlayer(PlayerNo: 1, Active: True);
Welcome to Runescape.
****
'Game session expired.'
SRL Compiled in 15 msec
Loading SMART: http://world34.runescape.com/f###################
Welcome to Runescape.
****
'Runescape has been updated.'
SRL Compiled in 0 msec
Loading SMART: http://world98.runescape.com/f###################
Welcome to Runescape.
****
Screenshot of: IP Log 6 Hours, 31 Seconds
World: **, Players: 1142, Members: True, PvP: False
World ** selected.
Current player: ****
~SixHourFix~ Could Not Login Player
Successfully executed.
Didn't witness the exact events, but came back to see the lobby screen.
Could this be caused by my java version? I don't think I was using 6u33; or perhaps something else, I've overlooked?
(simba 0.991), (smart 8.0)

CephaXz

2012-08-08 14:54:42

From: Brandon
I see I see. I'll come up with something in a sec. It'll probably be like one or two lines to force it to try to log in after a logout.


If you ever make changes to it, please announce it or maybe update this thread. Because I made my script to log me in again if its not, skips everything back to the first thing it should do in the mainloop. So I can remove or make some changes to my script :p

Brandon

2012-08-08 15:21:51

From: CephaXz
If you ever make changes to it, please announce it or maybe update this thread. Because I made my script to log me in again if its not, skips everything back to the first thing it should do in the mainloop. So I can remove or make some changes to my script :p


I haven't dealt with the include for over a week now. I'm working on OpenGL atm so yeah. I'll update the first post if anything does indeed change.