PDA

View Full Version : SilabGarza GemThief



GenericUser
03-07-2013, 11:42 PM
Thieving turned into a not so lucrative skill ever since the stalls were updated. For those that don't know, the SilabGarza thieving stalls used to give gold so you used to be able to just use a simple auto-clicker to get max gold in a few hours. Now they give items which must be exchanged for gold. The new stalls only yield 18-19 million gold an hour which is a fraction of what it originally was but it is better than nothing.

Special thanks to rjj95 for his tutorial (http://villavu.com/forum/showthread.php?p=1154752#post1154752)

Requirements:
- Level 75 Thieving
- Ardougne TeleTabs
- 1 Gold
- SilabGarza v8 Client

Instructions:
- Turn on "Remember me". (You can find this in the Client Settings.)
- Have Ardougne TeleTabs in your first slot.
- Have your gold stack in your second slot.
- Drag crosshairs over client. (Make sure that it is v8.)
- Start script (Your character can be almost anywhere when you start.)

program GemThief;
{$i srl/srl.simba}

/////////////////////////////////
//SilabGarza GemThief //
/////////////////////////////////
//Version 1.0 //
//Author: GenericUser //
//Server: SilabGarza //
//Date: 03/07/12 //
/////////////////////////////////
{
Credits:
- rjj95: Very useful tutorial

Requirements:
- Level 75 Thieving
- Ardougne TeleTabs
- 1 Gold
- SilabGarza v8 Client

Instructions:
- Turn on "Remember me". (You can find this in the Client Settings.)
- Have Ardougne TeleTabs in your first slot.
- Have your gold stack in your second slot.
- Drag crosshairs over client. (Make sure that it is v8.)
- Start script (Your character can be almost anywhere when you start.)
}

var
RedTopaz, ArdougneTeleTab, GemsStolen, LoadsConverted: Integer;

const
GEM_STALL_COLOR = 8361120;
CONVERTER_COLOR = 5216423;

function SGIsLoggedOut: Boolean;
var
x, y: Integer;
begin
if FindColorTolerance(x, y, 14394368, 668, 58, 721, 115, 1) then
begin
Result:= True;
end else
begin
Result:= False;
end;
end;

procedure SGLogInPlayer;
begin
Mouse(372, 346, 5, 5, True);
Wait(5000);
end;


procedure StatsGuise(trings: string);
begin
Status(trings);
Disguise(trings);
end;

procedure SetBrightness;
begin
Mouse(676, 469, 5, 5, True);
Wait(randomrange(100, 200));
Mouse(702, 212, 5, 5, True);
Wait(randomrange(100,200));
end;

procedure TurnOnRun;
begin
Mouse(725, 80, 4, 4, True);
Wait(randomrange(100,200));
end;

procedure SetAngleNorth;
begin
Mouse(540, 2, 2, 2, True);
Wait(randomrange(200,300));
KeyDown(38);
Wait(randomrange(1000,1500));
KeyUp(38);
Wait(randomrange(100,200));
end;

procedure LoadImages;
begin
RedTopaz := DTMFromString('mrAAAAHic42BgYOAAYkEg5oHSLEDMyAABnE DMC8UgwAal2aFqhYF4nkgCVAd2zMmAH+DWiXAHCAAAxz4Bwg== ');
ArdougneTeleTab := DTMFromString('mrAAAAHic42BgYHBiYmAwBWJzILYFYg8gDo BiLyB+AVTzCIg/A/EXKH4DxPeB+AYQ56SkAElGnJiTAT/ArROCYQAATk0Kyg==');
end;

procedure FreeImages;
begin
FreeDTM(RedTopaz);
FreeDTM(ArdougneTeleTab);
end;

function FullInv: Boolean;
var
x, y: Integer;
begin
if (FindDTM(RedTopaz, x, y, 678, 402, 723, 460)) then
begin
ClearDebug;
StatsGuise('Full inventory.');
Result := True;
end
else
begin
Result := False;
StatsGuise('Inventory still has room.')
Exit;
end;
end;

procedure ClickHereToContinue;
begin
Mouse(265, 423, 2, 2, True);
Wait(randomrange(200, 300));
end;

procedure StealGemTPA;
var
tmpCTS, L, r, plusOne: Integer;
ObjectTPA: TPointArray;
begin
PlusOne := (InvCount + 1);
tmpCTS := GetToleranceSpeed;
SetColorToleranceSpeed(2);
SetToleranceSpeed2Modifiers(0.24, 0.50);
if FindColorsTolerance(ObjectTPA, GEM_STALL_COLOR, 248, 148, 307, 240, 3) then
begin
SetColorToleranceSpeed(tmpCTS);
SetToleranceSpeed2Modifiers(0.02, 0.02);
L := High(ObjectTPA);
MMouse((ObjectTPA[r].x), (ObjectTPA[r].y), 2, 2);
Wait(randomrange(100, 150));
ClickMouse2(True);
StatsGuise('Stealing.')
Wait(randomrange(9000, 10000));
GemsStolen:= (GemsStolen + 1);
end;
end;

procedure ConvertTPA;
var
tmpCTS, L, r, plusOne: Integer;
ObjectTPA: TPointArray;
begin
PlusOne := (InvCount + 1);
tmpCTS := GetToleranceSpeed;
SetColorToleranceSpeed(2);
SetToleranceSpeed2Modifiers(0.13, 0.78);
if FindColorsTolerance(ObjectTPA, CONVERTER_COLOR, 26, 34, 103, 98, 11) then
begin
SetColorToleranceSpeed(tmpCTS);
SetToleranceSpeed2Modifiers(0.02, 0.02);
L := High(ObjectTPA);
MMouse((ObjectTPA[r].x), (ObjectTPA[r].y), 2, 2);
Wait(randomrange(100, 150));
ClickMouse2(True);
StatsGuise('Converting.')
Wait(randomrange(9000, 10000));
ClickHereToContinue;
LoadsConverted:= (LoadsConverted + 1);
end;
end;

procedure WalkToStall;
begin
Mouse(648, 71, 1, 1, True);
Wait(2500);
while (IsMoving) do
wait(100);
end;

procedure BreakTeleTab;
var
x, y: Integer;
begin
if (FindDTM(ArdougneTeleTab, x, y, 552, 186, 601, 232)) then
begin
ClearDebug;
StatsGuise('Teleporting.');
Mouse(x, y, 5, 5, True);
Wait(5000);
end
else
begin
StatsGuise('Could not find TeleTab.')
Exit;
end;
end;

procedure InitWalkToStall;
begin
Mouse(649, 66, 1, 1, True);
Wait(2500);
while (IsMoving) do
wait(100);
end;

procedure ProgressReport;
begin
ClearDebug;
Writeln('Ran for ' + (TimeRunning));
Writeln('Gems Stolen: ' + (IntToStr(GemsStolen)));
Writeln('Loads Converted: ' + (IntToStr(LoadsConverted)));
Writeln('XP Gained: ' + (IntToStr(GemsStolen * 12800)));
Writeln('Gold Gained: ' + (IntToStr(LoadsConverted * 1560000)));
end;


begin
MouseSpeed := 15;
SetupSRL;
LoadImages;
AddOnTerminate('FreeImages');
GemsStolen:= 0;
LoadsConverted:= 0;
if (SGIsLoggedOut) then
begin
SGLogInPlayer;
SetBrightness;
end else
SetBrightness;
FTab(tab_Inv);
TurnOnRun;
SetAngleNorth;
BreakTeleTab;
InitWalkToStall;
repeat
repeat
StealGemTPA;
ProgressReport
if (SGIsLoggedOut) then
begin
SGLogInPlayer;
SetBrightness;
end;
until (FullInv)
ConvertTPA;
WalkToStall;
if (SGIsLoggedOut) then
begin
SGLogInPlayer;
SetBrightness;
end;
ProgressReport;
until(false)
end.

rj
03-08-2013, 09:50 PM
Not bad, I made a theiving bot for this server and I used rotated DTM walking to walk to the guy and make a DTM of his yellow dot that is always the same tdistance from the grey color of the road and the brown color of the bank

Justin
03-11-2013, 02:00 AM
function SGIsLoggedOut: Boolean;
var
x, y: Integer;
begin
if FindColorTolerance(x, y, 14394368, 668, 58, 721, 115, 1) then
begin
Result:= True;
end else
begin
Result:= False;
end;
end;


Can be turned into:


function SGIsLoggedOut: Boolean;
var
x, y: Integer;
begin
Result := FindColorTolerance(x, y, 14394368, 668, 58, 721, 115, 1);
end;