faster789
2008-04-24 22:40:26
Hello again members,
I've compiled my script. Please check for any things that might improve my script or things that make my script more undetectable thanks.
I've compiled my script. Please check for any things that might improve my script or things that make my script more undetectable thanks.
{====================================WELCOME TO BOBO'S CLAY SOFTENER!!!!================================================
VERSION 1.0
INSTRUCTIONS:
============== FILL OUT REQUIRED INFO!---YOU MUST HAVE SRL STATS! ========
==== START YOUR PLAYER IN THE VAROCK EAST BANK WITH 14 BUCKETS''(filled with water)'' ON THE TOP OF INVENTORY AND 14 CLAYS AT BOTTOM! and Clays in first bank slot! ==== }
//Thanks to Scar the Noob for dtms!//
program SoftMoney;
{.include SRL/SRL/misc/SMART.scar}
{.include SRL/SRL.scar}
var x, y, LoadsNum, LoadNum, Tries, Tried, Clay, SoftClay: integer;
const
VerNum = '1.0'; // DO NOT TOUCH..
//Smart Setup//
SmartWorld = 68; // what world do you want to login to??
Signed = True; // leave alone..
//YOU NEED TO HAVE SRL STATS!!!//
SRLStatsID = ''; //your srl stats id example : '0000'
SRLStatsPass = ''; // your srl stats password example : 'password'
NumLogout = 12; // --must be even number! amount of loads to do till logout, will logout to nextplayer if any or will just repeat same player..recomend to keep at 12.
LoadsPerPlayer = 1000; // How many loads per player to do till switch to next player?
procedure DeclarePlayers;
begin
HowManyPlayers :=1; // how many players do you want
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:=0
Players[0].Name := ''; //Character Name
Players[0].Pass := ''; //Character Pass
Players[0].Nick := ''; //Nickname 3 - 4 Letter's of char name
Players[0].Active := True; //true if you want this player to be ran in the script false if you dont want it to run
end;
//==== START YOUR PLAYER IN THE VAROCK EAST BANK WITH 14 BUCKETS ON THE TOP OF INVENTORY AND 14 CLAYS AT BOTTOM! ====//
procedure SetupSmart;
begin
SmartSetupEx(SmartWorld, false, Signed);
ClearDebug;
WriteLn('Setting up Smart... Please Hold...');
Wait(10000 + random(5000));
SetTargetDC(SmartGetDC);
While not(SmartReady) do Wait(100);
end;
function FindsFountain(var tx, ty: Integer):boolean; //Made by Me :)...
var
i: integer;
WellPoints: TPointArray;
Well2D : T2DPointArray;
WEllPoint : TPoint;
begin
if not LoggedIn then exit;
x:= MSCX;
y:= MSCY;
begin
FindColorsSpiralTolerance(tx,ty,WellPoints,10449241,MSX1,MSY1,MSX2,MSY2,5);
Well2D:= TPAtoATPAEx(WellPoints,3,3);
for i:= 0 to length(Well2D)-1 do
begin
if not LoggedIn then exit;
Wellpoint:= MiddleTPA(Well2D[i]);
tx:= WellPoint.X;
ty:= WellPoint.Y;
MMouse(tx,ty,2,2);
wait(90+random(50));
if IsUpText('ountain') then
begin
GetMousepos(tx,ty);
result:= true;
Exit;
end else Continue;
end;
end;
end;
function myFindBank(TheBank: string): Boolean;
var
bx, by, TheDTM: Integer;
WhichAngle: Extended;
begin
case TheBank of
'feb': TheDTM := DTMFromString('78DA63AC67626088634001FFFFFD63F80FA41' +
'9416C2060AC01AA4987C83141D5FCF9C3C4C0055503028CAD44A8' +
'E924AC0600131E11B5');
'fwb': TheDTM := DTMFromString('78DA636C676260086540038C0CFFC12403C37' +
'F206004A98986C8304155FCF9C3C4C0055503D6D14C849A6EC26A' +
'009F5A0EA1');
'db': TheDTM := DTMFromString('78DA636C67626008644001FFFFFD63F80FA41' +
'9416C2060AC01AAF182C8B140D5FCF9C304A619A17CB09A204C35' +
'22E86AC2F09B0300F8811153');
'veb': TheDTM := DTMFromString('78DA63EC61626008624001FFFFFD63F80FA41' +
'9416C2060EC00AA8982C83141D5FCF9C3C4C0055503028C138850' +
'D343580D00122211A9');
'vwb': TheDTM := DTMFromString('78DA63EC606260B066C000FF819811440301E' +
'354A01A3B88381354FECF1F260611A81A1000AB3125428D2E7E35' +
'0087F80E5E');
'akb': TheDTM := DTMFromString('78DA636C606260F06140019D9D710CFF81342' +
'310FF0702C652A01A37881C1354CD9F3F4C0C5C5035200056E345' +
'841A3FFC6A002A3B0F97');
end;
if FindDtmRotated(TheDTM, bx, by, MMX1, MMCY, MMX2, MMY2, Radians(-30), Radians(30), 0.05,
WhichAngle) then
begin
Mouse(bx, by, 0, 0, True);
// FTWait(8);
FFlag(0);
if OpenBankQuiet(TheBank) then
begin
FixBank;
Result := True;
FreeDTM(TheDTM);
Exit;
end
else Result := False;
end
else Result := False;
FreeDTM(TheDTM);
end;
function Energy20: Boolean;
var
Colour: string;
Level: Integer;
begin
Level := GetMMLevels('energy', Colour);
Result := Level > 20;
end;
function BucketDDTM: Integer;
var
BucketMainPoint: TDTMPointDef;
BucketSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
BucketMainPoint.x := 14;
BucketMainPoint.y := 24;
BucketMainPoint.AreaSize := 0;
BucketMainPoint.AreaShape := 0;
BucketMainPoint.Color := 0;
BucketMainPoint.Tolerance := 255;
BucketSubPoints[0].x := 23;
BucketSubPoints[0].y := 24;
BucketSubPoints[0].AreaSize := 0;
BucketSubPoints[0].AreaShape := 0;
BucketSubPoints[0].Color := 65536;
BucketSubPoints[0].Tolerance := 0;
BucketSubPoints[1].x := 6;
BucketSubPoints[1].y := 25;
BucketSubPoints[1].AreaSize := 0;
BucketSubPoints[1].AreaShape := 0;
BucketSubPoints[1].Color := 65536;
BucketSubPoints[1].Tolerance := 0;
BucketSubPoints[2].x := 15;
BucketSubPoints[2].y := 35;
BucketSubPoints[2].AreaSize := 0;
BucketSubPoints[2].AreaShape := 0;
BucketSubPoints[2].Color := 65536;
BucketSubPoints[2].Tolerance := 0;
BucketSubPoints[3].x := 22;
BucketSubPoints[3].y := 31;
BucketSubPoints[3].AreaSize := 0;
BucketSubPoints[3].AreaShape := 0;
BucketSubPoints[3].Color := 65536;
BucketSubPoints[3].Tolerance := 0;
BucketSubPoints[4].x := 7;
BucketSubPoints[4].y := 31;
BucketSubPoints[4].AreaSize := 0;
BucketSubPoints[4].AreaShape := 0;
BucketSubPoints[4].Color := 65536;
BucketSubPoints[4].Tolerance := 0;
TempTDTM.MainPoint := BucketMainPoint;
TempTDTM.SubPoints := BucketSubPoints;
Result := AddDTM(TempTDTM);
end;
procedure Siggy;
begin
writeln(' _ ');
Writeln(' / \ ___ _ ');
Writeln(' / \ / __| | | ');
Writeln('| | | | | | | ');
writeln(' \ \/ ___ | |__ __| |__ ___ _ ____ ___ ____ ');
writeln('| | | / _ \ | __||__ __| /___\ | |/__ | / __\ / ___\ ');
writeln(' \ / | |_| || | | | | |___ | / | || |___ | | ');
writeln(' \_/ \___/ |_| |_| \___/ |_/ |_| \___/ |_| ');
Writeln(' ');
Writeln(' Version '+VerNum+' By Faster789 AKA Bobo ');
Wait(3000);
end;
procedure Proggy;
begin
ClearDebug;
Writeln('-------------------------------------');
Writeln('Please post proggies to the place');
Writeln(' you got this script from! ');
Writeln(' ---- Clay Softener!---- ');
Writeln('-------------------------------------');
Writeln('|| Worked For: ' +TimeRunning+ '||');
Writeln('|| Did '+ IntToStr(LoadsNum)+ ' Loads! ||');
Writeln('|| -------MADE BY FASTER 789----------||');
Writeln('-------------------------------------');
SRLRandomsReport;
end;
procedure Myrandom;
begin
if(FindFight)then
RunAway('N', True,1,15000);
FindNormalRandoms;
end;
procedure Antiban;
begin
if(not(LoggedIn)) then Exit;
case Random(40) of
1: RandomRClick;
2: begin
RandomMovement;
SetAngle(true);
end;
3: BoredHuman;
4: AlmostLogout;
5: PickUpMouse;
end;
end;
procedure Bankit;
begin
if (not(LoggedIn)) then Exit;
case Random(4) of
0: begin
Wait(250 +random(50));
Deposit(18,28,True);
Wait(450 +random(100));
WithDraw(1,1,0);
Wait(100+ random(100));
CloseBank;
end;
1: begin
Wait(250 +random(50));
Deposit(17,28,True);
Wait(450 +random(100));
WithDraw(1,1,0);
Wait(100+ random(100));
CloseBank;
end;
2: begin
Wait(250 +random(50));
Deposit(15,28,True);
Wait(450 +random(100));
WithDraw(1,1,0);
Wait(100+ random(100));
CloseBank;
end;
3: begin
Wait(250 +random(50));
Deposit(16,28,True);
Wait(450 +random(100));
WithDraw(1,1,0);
Wait(100+ random(100));
CloseBank;
Myrandom;
end;
end;
end;
procedure ClickClay;
begin
if (not(LoggedIn)) then Exit;
Mouse(250,401,2,2,false);
Wait(250+random(100));
Mouse(253,470,0,0,true);
Wait(18000 +random(500));
end;
procedure SoftenClay;
begin
Clay := DTMFromString('78DA63CC62626078C18002167646331801694' +
'620FE0F048CB94035F719D000231209A44B806A9E1250930D54F3' +
'86809A64A09AE7F8D50000123D0C64');
SoftClay := DTMFromString('78DA637464626078C28002B20378198C80342' +
'310FF070246909ADB0C6880118904D2DE40352F09A87101AA794F' +
'408D0D116ACC31DD8CAE0600F0460C02');
if (not(LoggedIn)) then Exit;
if not FindDTM(BucketDDTM, x, y, mix1, miy1, mix2, miy2) then
begin
Writeln('couldnt find bucket for weird reason..');
NextPlayer(false);
end else
begin
Mouse(x,y,2,2,True);
Myrandom;
end;
if not FindDTM(Clay, x, y, mix1, miy1, mix2, miy2)then
begin
writeln('couldnt find clay');
NextPlayer(false);
end else
case Random(2) of
0: begin
Wait(100 +random(50));
if FindDTM(Clay, x, y, mix1, miy1, mix2, miy2)then
Mouse(x,y,2,2,True);
end;
1: begin
Wait(100 +random(50));
if FindDTM(Clay, x, y, mix1, miy1, mix2, miy2)then
begin
Mouse(x,y,2,2,False);
ChooseOption('lay');
end;
end;
end;
Wait(1500 +random(150));
ClickClay;
end;
procedure FindFountain;
begin
Clay := DTMFromString('78DA63CC62626078C18002167646331801694' +
'620FE0F048CB94035F719D000231209A44B806A9E1250930D54F3' +
'86809A64A09AE7F8D50000123D0C64');
SoftClay := DTMFromString('78DA637464626078C28002B20378198C80342' +
'310FF070246909ADB0C6880118904D2DE40352F09A87101AA794F' +
'408D0D116ACC31DD8CAE0600F0460C02');
if (not(LoggedIn)) then Exit;
begin
if FindDtm(Clay, x, y, mix1, miy1, mix2, miy2)then
begin
Myrandom;
SoftenClay;
Myrandom;
OpenBankFast('veb');
Bankit;
LoadsNum:= LoadsNum + 2;
LoadNum:= LoadNum + 2;
ClearDebug;
Proggy;
end;
begin
MakeCompass('N');
if Energy20 then
SetRun(true);
Myrandom;
RadialRoadWalk(FindVarrockRoadColor,270,330,60,-2,0)
FFlag(0);
Tries:= 0;
repeat
if not FindSymbolIn(x,y,'water', MMX1, MMY1, MMX2, MMY2) then
begin
Tries := Tries +1
Wait(500 +random(200));
if Tries > 20 then
begin
Writeln ('couldnt find the damn symbol');
Nextplayer(false);
end;
end;
until FindSymbolIn(x,y,'water', MMX1, MMY1, MMX2, MMY2);
if FindSymbolIn(x,y,'water', MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x,y,1,1,True);
FFlag(0);
Myrandom;
end;
end;
end;
end;
procedure Fillbucket ;
begin
begin
Clay := DTMFromString('78DA63CC62626078C18002167646331801694' +
'620FE0F048CB94035F719D000231209A44B806A9E1250930D54F3' +
'86809A64A09AE7F8D50000123D0C64');
SoftClay := DTMFromString('78DA637464626078C28002B20378198C80342' +
'310FF070246909ADB0C6880118904D2DE40352F09A87101AA794F' +
'408D0D116ACC31DD8CAE0600F0460C02');
GameTab(4);
if FindDtm(Softclay, x, y, mix1, miy1, mix2, miy2)then
begin
writeln('found softclay for some reason going to store it in bank');
Status('storing softclay');
exit;
end;
if not FindDTM(Clay, x, y, mix1, miy1, mix2, miy2)then
begin
writeln('no clay, going to bank to get some');
exit;
end else
begin
Wait(500 +random(250));
Myrandom;
GameTab(4);
Status('filling buckets');
if not FindDTM(BucketDDTM, x, y, mix1, miy1, mix2, miy2) then
begin
writeln('couldnt find the buckets');
NextPlayer(false);
end else
begin
Myrandom;
case Random(2) of
0: begin
if FindDTM(BucketDDTM, x, y, mix1, miy1, mix2, miy2) then
Mouse(x,y,2,2,True);
end;
1: begin
if FindDTM(BucketDDTM, x, y, mix1, miy1, mix2, miy2) then
Mouse(x,y,2,2,True);
end;
else
begin
writeln('couldnt find buckets');
NextPlayer(false);
end;
end;
begin
if not FindsFountain(x,y) then
begin
FindSymbolIn(x,y,'water', MMX1, MMY1, MMX2, MMY2);
Mouse(x,y,1,1,True);
FindsFountain(x,y);
Mouse(x,y,1,1,True);
Myrandom;
Antiban;
Wait(10000 +random(350));
exit;
end else
begin
Myrandom;
Mouse(x,y,1,1,True);
Myrandom;
Antiban;
Wait(10000 +random(350));
SoftenClay;
end;
begin
Wait(500 +random(250));
Myrandom;
GameTab(4);
Myrandom;
Status('filling buckets');
if not FindDTM(BucketDDTM, x, y, mix1, miy1, mix2, miy2) then
begin
writeln('couldnt find buckets');
NextPlayer(false);
end else
begin
if FindDTM(BucketDDTM, x, y, mix1, miy1, mix2, miy2) then
Mouse(x,y,2,2,True);
end;
begin
if not FindsFountain(x,y) then
begin
FindSymbolIn(x,y,'water', MMX1, MMY1, MMX2, MMY2);
Mouse(x,y,1,1,True);
FindsFountain(x,y);
Mouse(x,y,1,1,True);
Myrandom;
Antiban;
Wait(10000 +random(350));
exit;
end else
begin
Mouse(x,y,1,1,True);
Myrandom;
Antiban;
Wait(10000 +random(350));
end;
end;
end;
end;
end;
end;
end;
end;
procedure Walktobank;
begin
if (not(LoggedIn)) then Exit;
Status('going to bank');
MakeCompass('N');
SetAngle(true);
Myrandom;
RadialRoadWalk(FindVarrockRoadColor,75,140,65,-2,0);
FFlag(0);
Myrandom;
if not myFindBank('veb')then
begin
Tries:=0;
repeat
Tries := Tries +1;
Wait(150 +random(100));
Myrandom;
until myFindBank('veb') or (Tries > 30);
if Tries > 30 then
if not FindSymbolIn(x,y,'bank', MMX1, MMCY, MMX2, MMY2)then
begin
Tried:=0;
repeat
Tried := Tried +1;
Wait(150 +random(100));
Myrandom;
until FindSymbolIn(x,y,'bank', MMX1, MMCY, MMX2, MMY2) or (Tried > 10);
if Tried > 10 then
begin
writeln('couldnt find bank..');
NextPlayer(false);
end;
begin
if FindSymbolIn(x,y,'bank', MMX1, MMCY, MMX2, MMY2)then
begin
Mouse(x,y,1,1,True);
exit;
end;
end;
end;
end;
end;
procedure SoftClays;
begin
if (not(LoggedIn)) then Exit;
SetAngle(True);
FindFountain;
FillBucket;
Walktobank;
Bankit;
LoadNum := LoadNum +1;
ReportVars[0] := ReportVars[0] + 1;
end;
begin
SetUpSmart;
Siggy;
SetupSRL;
ScriptID :='790';
SRLID := SRLStatsID;
SRLPassword := SRLStatsPass;
if (SRLID = '') or (SRLPassword = '') then
begin
ClearDebug;
if (SRLStatsID = '') and not(SRLStatsPass = '') then writeln('Nice try, trying to trick it with just a ID :P');
writeln('You dont have SRL stats, To set up a SRL stats ID go here: http://www.stats.srl-forums.com');
TerminateScript;
end;
DeclarePlayers;
if LoggedIn then Logout;
LoginPlayer;
repeat
SoftClays;
if (LoadNum > NumLogout) then
begin
Logout;
Wait(60000 +random(30000));
NextPlayer(true);
LoadNum := 0;
end;
until (LoadsNum mod LoadsPerPlayer = 0)
NextPlayer(true);
end.