SRL Archive - Archive

Macho Man67 - SRL Member Application Form


Macho Man67

2008-09-20 01:01:33

<!– BEGIN TEMPLATE: formanswers –>
Macho Man67 - SRL Member Application Form
Macho Man67

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
no


Programming Knowledge


Other Communitys
RsBot

How Long have You Played Runescape
2 years

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

I have some experience with SCAR and SRL. I have been with the community for awhile now. I've studied many tutorials over the course of my stay here at SRL.

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted

program EdgeClaySoft;
{.Include SRL/SRL/Misc/SMART.Scar}
{.Include SRL/SRL.Scar}
{.Include SRL/SRL/Reflection/Reflection.Scar}

Const
Loads = 10;// How many loads to do before switching
SmartWorld = 14;//What world

var
RoadA, Clay, ClayTwo, SoftClay, EmptyBucket, FullBucket, SoftClayMake, SoftClayCreate, EdgeBank : Integer;
Bankz, Clayz : Integer;
x, y, i, z : Integer;


Procedure DeclarePlayers;
Begin
CurrentPlayer := 0;
HowManyPlayers := 4;
NumberOfPlayers( HowManyPlayers );

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active:= True;

Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Active:= True;

Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Active:= True;

Players[3].Name := '';
Players[3].Pass := '';
Players[3].Nick := '';
Players[3].Active:= True;

End;

procedure Signature;
begin
ClearDebug;
Writeln('------------------------------------------------------------');
Writeln(' EdgeClay ');
Writeln(' Version : BETA ');
Writeln(' By : Macho Man67 ');
Writeln(' Credits to : SRL Community and Jukka ');
Writeln(' Special Thanks to : Mountain Lions Own? for testing');
Writeln('');
Writeln('------------------------------------------------------------');
wait(1000);
end;

procedure LoadDTMs;
begin
Clay := DTMFromString('78DA639465606010604001735B2319F881342' +
'310FF0702463920839D010D302291405A1548701150230D244408' +
'A801C9F3E35703009AA90668');
ClayTwo := BitmapFromString(8, 4, 'beNpjYNw0PXXLzLS1k5MWdcbMb' +
'Y1kYGDEigwUFIBke5EPmiBEfHlvXH22R26sXZSPsYetBlDE2doQiB' +
'gAnsQRWw==');
end;

function LoadDDTM : Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..5] of TDTMPointDef;
RoadA: TDTM;
begin
dtmMainPoint.x := 719;
dtmMainPoint.y := 158;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindVarrockRoadColor;
dtmMainPoint.Tolerance := 255;

dtmSubPoints[0].x := 719;
dtmSubPoints[0].y := 158;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindVarrockRoadColor;
dtmSubPoints[0].Tolerance := 255;

dtmSubPoints[1].x := 737;
dtmSubPoints[1].y := 147;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindVarrockRoadColor;
dtmSubPoints[1].Tolerance := 20;

dtmSubPoints[2].x := 764;
dtmSubPoints[2].y := 147;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindVarrockRoadColor;
dtmSubPoints[2].Tolerance := 20;

dtmSubPoints[3].x := 718;
dtmSubPoints[3].y := 177;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindVarrockRoadColor;
dtmSubPoints[3].Tolerance := 20;

dtmSubPoints[4].x := 734;
dtmSubPoints[4].y := 183;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := FindVarrockRoadColor;
dtmSubPoints[4].Tolerance := 20;

dtmSubPoints[5].x := 755;
dtmSubPoints[5].y := 200;
dtmSubPoints[5].AreaSize := 0;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := 195836;
dtmSubPoints[5].Tolerance := 20;

RoadA.MainPoint := dtmMainPoint;
RoadA.SubPoints := dtmSubPoints;
Result := AddDTM(RoadA);
end;

procedure AntiRandoms;
begin
for z:= 1 to 3 do
begin
case z of
1: FindNormalRandoms;
2: FindInventoryRandoms;
3: FindNonInventoryRandoms;
end;
end;
end;

procedure AntiBan;
begin
if (not (LoggedIn)) then
Exit;
case Random(100) of
0: HoverSkill('Crafting', False);

1: HoverSkill('random', False);

2: BoredHuman;

3: begin
GameTab(2);
Wait(1000 + random(500));
GameTab(4);
end;

4: RandomRClick;

end;
end;

procedure WithdrawClay;
begin
if (not (LoggedIn)) then
Exit;
GameTab(4);
repeat
if (not(LoggedIn)) then Break;
OpenBankFast('eb');
until BankScreen
FixBank;
if FindDTM(Clay, x, y, msx1, msy1, msx2, msy2) or FindBitmapToleranceIn(ClayTwo, x, y, msx1, msy1, msx2, msy2, 50) then
begin
Mouse(x, y, 3, 3, False);
wait(1000 + random(500));
case Random(10) of
0,1,2,3,4 : begin
ChooseOption('Withdraw-X');
wait(1000 + random(50));
TypeSend('14');
end;
5,6,7,8,9 : ChooseOption('ll');
end;
wait(1000 + random(50));
end else
begin
Writeln('Couldnt find any clay, switching player');
NextPlayer(False);
Exit;
end;
if BankScreen Then CloseBank;
wait(1000 + random(200));
end;

procedure ToWell;
begin
if (not (LoggedIn)) then
Exit;
MakeCompass('N');
FindNormalRandoms;
LoadDDTM;
if DTMRotated(RoadA, x, y, MMx1,MMy1,MMx2,MMy2) then
begin
Mouse(x, y, 2, 2, True);
FFlag(0);
Writeln('Walked using dtm');
FindNormalRandoms;
end else
begin
WalkToTile(Point(3085, 3501), 2, 2);
FFlag(0);
Writeln('Walked using reflection');
end;
end;

procedure FindWell;
var
WellTPA, Well2TPA : TPointArray;
AWellTPA : T2DPointArray;
x, y, i : Integer;

begin
if (not (LoggedIn)) then
Exit;
x := MSCx;
y := MSCy;
FindColorsSpiralTolerance(x, y, WellTPA, 3493725, MSx1, MSy1, MSx2, MSy2, 10);
if Length(WellTPA) = 0 then FindColorsSpiralTolerance(x, y, WellTPA, 3625311, MSx1, MSy1, MSx2, MSy2, 15);
FindColorsSpiralTolerance(x, y, Well2TPA, 4482166, MSx1, MSy1, MSx2, MSy2, 10);
if Length(Well2TPA) = 0 then FindColorsSpiralTolerance(x, y, Well2TPA, 4548473, MSx1, MSy1, MSx2, MSy2, 15);
AWellTPA := TPAToATPA(CombineTPA(WellTPA,Well2TPA), 50);
SortATPASize(AWellTPA, True);
for i := 0 to High(AWellTPA) do
begin
MiddleTPAEx(AWellTPA[i], x, y);
MMouse(x, y, 4, 4);
if IsUpTextMultiCustom(['ell']) then
begin
GetMousePos(x, y);
Mouse(x, y, 2, 2, True);
Wait(500 + random(500));
Exit;
end;
Wait(500 + random(100));
end;
end;

procedure FillBuckets;
var
BucketWait : Integer;
begin
EmptyBucket := DTMFromString('78DA63B46560601060400149DE920C5C409A1' +
'188FF0301A33590C1CA800618914820ED0624F809A831C6B40B43' +
'8D39905020A0C681B01A005A1B06BA');

if (not (LoggedIn)) then
Exit;
if (FindDTM(EmptyBucket, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
Mouse(x, y, 2, 2, True);
wait(500 + random(500));
FindWell;
MarkTime(BucketWait);
repeat
AntiRandoms;
SleepAndMoveMouse(2000 + random(1000));
if not LoggedIn then Break;
if not (FindDTM(EmptyBucket, x, y, MIX1, MIY1, MIX2, MIY2)) then Break;
until (TimeFromMark(BucketWait) > 12000);
end;
FreeDTM(EmptyBucket);
end;

procedure BucketToClay;
begin
Clay := DTMFromString('78DA639465606010604001735B2319F881342' +
'310FF0702463920839D010D302291405A1548701150230D244408' +
'A801C9F3E35703009AA90668');
FullBucket := DTMFromString('78DA634C6360601060400135B57318F881342' +
'310FF0702C654208395010D302291401AA44691809A0220214C40' +
'4D2C9010C2AF060049C10807');
if (not (LoggedIn)) then
Exit;
if FindDTM(FullBucket, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Mouse(x, y, 3, 3, True);
wait(1000 + random(500));
if FindDTM(Clay, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Mouse(x, y, 2, 2, True);
wait(500 + random(500));
end;
end;
FreeDTM(FullBucket);
end;

procedure CreateClay;
var
Waitz, CreateTime : Integer;
SoftClayMake, SoftClayCreate : Integer;
begin
SoftClayMake := DTMFromString('78DA630C63606030624001F9217C0C22409A1' +
'188FF0301630490A18EAA26CE9D07AE060418E331CDC90EE44355' +
'E307244C51D554C70AA0A80100601309A4');
SoftClayCreate := BitmapFromString(11, 6, 'beNoL5Evy4oWgdD/' +
'sCL8sJsoO5AMiTBFKUH4IPpQNAI0RMzY=');
if (not (LoggedIn)) then
Exit;
if (FindDTM(SoftClayMake, x, y, MCX1, MCY1, MCX2, MCY2)) or FindBitmapToleranceIn(SoftClayCreate, x, y, MCX1, MCY1, MCX2, MCY2, 50) then
begin
Mouse(x, y, 5, 5, False);
wait(500 + random(500));
ChooseOption('ll');
Waitz := 0;
MarkTime(CreateTime);
repeat
AntiRandoms;
Wait(1000);
Waitz := Waitz + 1;
until (Waitz > 14) or (TimeFromMark(CreateTime) > 30000);
end;
FreeDTM(SoftClayMake);
FreeBitmap(SoftClayCreate);
end;

procedure ToBank;
begin
EdgeBank := DTMFromString('78DA636460666038C18002FEFDFBC7F01F483' +
'302F17F2060E404AA3984AAE6CF1F260611A81A1060E400AA3945' +
'849ACBA86ADEBE6540510300F0161154');

if (not (LoggedIn)) then
Exit;
MakeCompass('N');
if DTMRotated(EdgeBank, X, Y, MMx1,MMy1,MMx2,MMy2) then
begin
Mouse(X, Y, 2, 2, True);
FFlag(0);
Wait(500 + random(500));
end else
begin
WalkToTile(Point(3093, 3492), 2, 6);
end;
end;

procedure DepositSoftClay;
var
Tryz : Integer;

begin
SoftClay := DTMFromString('78DA635462606010604001B941BC0C5C409A1' +
'188FF0301A32690C1C68006189148206D08247809A80199234540' +
'8D0C116AC48084300135D2408203BF1A0000FD064B');
if (not (LoggedIn)) then
Exit;
GameTab(4);
Tryz := 0;
repeat
if (not(LoggedIn)) then Break;
OpenBankFast('eb');
Tryz := Tryz + 1;
until BankScreen or (Tryz > 5);
FixBank;
if FindDTM(SoftClay, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Mouse(x, y, 4, 4, False);
wait(500 + random(50));
ChooseOption('All');
end else
begin
Writeln(' Couldnt find any soft clay, switching player');
NextPlayer(False);
Exit;
end;
if BankScreen Then CloseBank;
wait(500 + random(200));
FreeDTM(SoftClay);
end;

procedure WithdrawClay2;
var
Tryz : Integer;
begin
SoftClay := DTMFromString('78DA635462606010604001B941BC0C5C409A1' +
'188FF0301A32690C1C68006189148206D08247809A80199234540' +
'8D0C116AC48084300135D2408203BF1A0000FD064B');
if (not (LoggedIn)) then
Exit;
GameTab(4);
Tryz := 0;
repeat
if (not(LoggedIn)) then Break;
OpenBankFast('eb');
Tryz := Tryz + 1;
until BankScreen or (Tryz > 5);
FixBank;
if FindDTM(SoftClay, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Mouse(x, y, 4, 4, False);
wait(500 + random(50));
ChooseOption('All');
Clayz := Clayz + 14;
FreeDTM(SoftClay);
wait(500 + random(500));
if FindDTM(Clay, x, y, msx1, msy1, msx2, msy2) or FindBitmapToleranceIn(ClayTwo, x, y, msx1, msy1, msx2, msy2, 50) then
begin
Mouse(x, y, 3, 3, False);
wait(1000 + random(500));
case Random(10) of
0,1,2,3,4 : begin
ChooseOption('Withdraw-X');
wait(1000 + random(50));
TypeSend('14');
end;
5,6,7,8,9 : ChooseOption('ll');
end;
wait(1000 + random(50));
end else
begin
Writeln('Couldnt find any clay, switching player');
NextPlayer(False);
Exit;
end;
if BankScreen Then CloseBank;
wait(500 + random(200));
Bankz := Bankz + 1;
end;
end;

procedure PlayerSetup;
begin
SetAngle(True);
wait(1000 + random(100));
MakeCompass('N');
end;

procedure FreeAll;
begin
FreeDTM(RoadA);
FreeDTM(FullBucket);
FreeDTM(EmptyBucket);
FreeDTM(Clay);
FreeDTM(EdgeBank);
FreeDTM(SoftClay);
FreeDTM(SoftClayMake);
FreeBitmap(ClayTwo);
FreeBitmap(SoftClayCreate);
end;

Procedure SetupSMART;// Credits to Jukka
Begin
SmartSetupEx(SmartWorld, True, False, False);
SetTargetDC(SmartGetDC);
If(Not LoggedIn) Then
While(Not SmartGetColor(360, 172) = 13158) Do
Wait(100);
End;

procedure ProgressReport;
begin
ClearDebug;
Writeln('------------------------------------------------------------');
Writeln(' EdgeClay ');
Writeln(' Worked For :' + TimeRunning);
Writeln(' Banks (14 ea.) :' + IntToStr(Bankz));
Writeln(' Total Clay :' + IntToStr(Clayz));
Writeln('');
Writeln('------------------------------------------------------------');
SRLRandomsReport;
end;

procedure MainLoop;
begin
repeat
LoginPlayer;
PlayerSetup;
WithdrawClay;
repeat
wait(100);
ToWell;
wait(1000 + random(500));
FillBuckets;
BucketToClay;
CreateClay;
FillBuckets;
ToBank;
WithdrawClay2;
BucketToClay;
CreateClay;
ProgressReport;
WithdrawClay2;
until(Bankz >= Loads * 2);
ProgressReport;
if(AllPlayersInactive)then
begin
Writeln('All players active, Stopping script.');
FreeAll;
TerminateScript;
end;
Writeln('We did our loads');
Nextplayer(True);
until(False);
end;

begin
SetupSMART;
SetupSRL;
SetupReflection;
Signature;
LoadDTMS;
ActivateClient;
DeclarePlayers;
Wait(2000 + Random(500));
MainLoop;
end.

——————————————————
<!– END TEMPLATE: formanswers –>

Claymore

2008-09-20 01:08:34

Good job, PASS.

You got…

- Reflection []
- DDTM / DTM []
- RRW []
- Other Stuff []

Laur€ns

2008-09-20 02:41:32

Good job on making your own one, and not stealing PvHs :p You have the requirements, so yes from me :)

Bobarkinator

2008-09-20 02:48:06

I'll give it a yes with a thing or two to say.

repeat
if (not(LoggedIn)) then Break;
OpenBankFast('eb');
until BankScreen
That section has potential to turn into an infinite loop if it's moving the mouse around the screen looking for the bank booth then it won't log out.

Also you don't have any random checks in the WithrawClay function, I would personally do one when I close the bank.

Naike

2008-09-21 07:05:49

Yes, And also a bump…

Nice work ;D

sirlaughsalot

2008-09-21 08:00:06

This script looks good, i see little things here and there, for instance in the multiplayer you have "nextplayer(true)" so none of the players will ever go false, personally, i have failsafes in each of my procedures or functions and have it switch the activity there, and have nextplayer(Players[currentplayer].active) where i want to switch players, you dont have to copy that just lettin you know ;)

Edit:forgot to say yes lawl

Scaper

2008-09-21 11:21:11

yes nice to see i script with reflection finaly backed up with the proper applying standers of a member app

YES

Magiic

2008-09-21 14:19:20

Looking through the script I noticed some small errors such as nextplayer(true) and the fact that your main loop didn't ave much structure (neither did mine but i thought id post). However, you showed your DTMs and DDTM's as well as having a lot of failsafes but ijust noticed that at the end of your script it would not stop after the full amount of loads it would just keep going as you only call progressreport nothing else you would need it at lest to logout or better use NextPlayer(false) but you seem to know what your doing

Macho Man67

2008-09-21 20:06:37

Thank you everyone who voted. Also thank you to everyone who posted suggestions and small errors. I will fix the infinite loop( Bobarkinator ) and the problems with the multiplayer ( sirlaughsalot and sandos1234 ).

Raskolnikov

2008-09-21 21:39:15

Yes:

Ddtms: yes
mapwalking: yes

You know what your doing obviously throughout the script

Yes yes yes.
Cut em2 it

nielsie95

2008-09-26 03:28:33

Welcome, sir.