SRL Archive - Archive

cycrosism - SRL Member Application


cycrosism

2009-06-19 12:27:12

How Long have You Played Runescape?
7 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
I know some visual basic, a little bit of java, a lot about HTML (it's not a program language but whatever). I'm doing Computer Programming next semester at school, this year I did I.T and got a A in it. We learned about databases and stuff.


Are you a member of any other communities?
Freddy 1990, Rs-Hacking, moparscape, scythe (barely go on it), RSbot, computerforums.org.


Tell us about yourself…
From: cycrosism
Hey, my name is Mark and I have 2 hobbies. I enjoy gardening and I have quite a good garden in my backyard with chillies and capsicum and some eggplant too. The tomatoes I had died because it is winter, and I live in a temperate zone so they only grow good in spring and summer.

I also enjoy using computers. My dad is an ISP and he hosts websites so I have had some first hand experience with severs and web hosting. I have built my own computer and I am very good at fixing computers (both software and hardware). I also play basketball and football (known as soccer in some places, or it might be the other way around?) but I do not play them that much.



Please show us one (or multiple) of your scripts.
{The biggest proggy so far was 15 hours, stopped due to an error with sandwitch.scar
it gained 10 woodcutting levels.}
{The big bitmap is for the backround of my form,
i wanted to keep the script in 1 piece.}
// Main script below

program Drain_willows; {Version 0.10 Alpha}
{.include SRL/SRL/Misc/Smart.scar}
{.Include SRL\SRL.SCAR}

Var
x, y, i, xt, num:Integer;
Member:Boolean;
frmDesign: TForm;
Button1: TButton;
GroupBox1: TGroupBox;
Label1, Label2, Label3, label4: TLabel;
ComboBox1: TComboBox;
Edit1:TEdit;
Image1: TImage;

Const
UsingDebug = True; //True if you want to use the extra debug

procedure DeclarePlayers;
begin
HowManyPlayers := 1; //How many players?
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'cycrosism'; //username
Players[0].Pass := ''; //password
Players[0].Nick := ''; //3-4 letters of name
Players[0].Pin := ''; //bank Pin
Players[0].BoxRewards := ['XP', 'ostume']; //Use the random event box on what?
{
Players[1].Name := ''; //username
Players[1].Pass := ''; //password
Players[1].Nick := ''; //3-4 letters of name
Players[1].Pin := ''; //Bank Pin
Players[1].BoxRewards := ['XP', 'ostume']; //Use the random event box on what?
{
Players[2].Name := ''; //username
Players[2].Pass := ''; //password
Players[2].Nick := ''; //4 letters of name
Players[2].Pin := ''; //Bank Pin
Players[2].BoxRewards := ['XP', 'ostume']; //Use the random event box on what?
{
Players[3].Name := ''; //username
Players[3].Pass := ''; //password
Players[3].Nick := ''; //4 letters of name
Players[3].Pin := ''; //Bank Pin
Players[3].BoxRewards := ['XP', 'ostume']; //Use the random event box on what?
}
end;

Procedure DebugScreen(Save:Boolean);
begin
If(Not(UsingDebug)) then exit;
SaveScreenshot('drainwillow debug00'+IntToStr(num));
Num:=Num+1; //Faster then Inc(Num);
Writeln('Debug file saved at script''s location');
end;

Procedure DebugTimeS;
begin
If(Not(UsingDebug)) then exit;
MarkTime(xt);
end;

Procedure DebugTimeE(Obj: String);
begin
If(Not(UsingDebug)) then exit;
xt:=xt/10000;
Writeln('Found '+Obj+' in '+IntToStr(xt)+' msec');
xt:=0;
end;

Procedure ResetTime(Reason: String);
begin
If(Not(UsingDebug)) then exit;
xt:=0;
Writeln('Time reset! Reason: '+Reason);
end;

Procedure ButtonClick(Sender: TObject);
Begin
WriteLn('Script Starting');
Wait(500+random(500));
SetupSRL;
frmDesign.ModalResult:= mrOk;
End;

procedure InitForm;
Var
draynor, b, w, h:integer;
begin //Bitmap is the backround for my form
draynor := BitmapFromString(247, 215, 'beNrt3d9vXNdxB3A6Lwk' +
'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' +
'7+xunB/EcN1wmtcELtPc7wU6Om0k5wnZ5Q43tkYh/J0seG83V38r2' +
'kCv1/Ck0f51ln27dfFdc/Gr42j8xvoCBP6oE/ICyN2FRPEhbxGSO5' +
'K7N0Vp1O90PUIu7h8gt1+sfH24EUFgj4KVxfYg56suscghCbkxWBL' +
'zm94PwcvjJTRCFe/wkRzvJPP8MfwevJOQo3NMX3iJdjJNeHuQu+vn' +
'CXl7uhCB+yjZw/2k2nszcFifkFMqP7+PtLcBubZ+Hka+evXU6hssV' +
'0e5ufKZUa4McvevfxwIPR5eJ73P8WsTWw05v5SGN/CF6C+0bcKFmT' +
'rOFd1Zv8BT1cvWduSwfLObG6cxGnhtQsobvcCz29cU2L/FhY3Br25' +
'HHuYtnCfklqxdvQjZuP5CbgRmbyp/ebHC+58yFF4YObYyan1NNKTj' +
'+nlg9I5CbrQtnDePfOKEk/PyyNvwH1Zf+I3TJZFTs67W10TIcWnRg' +
'hyeJ4C8AG9KQm5PGeQtKckGI3855LwdXetrikWOz/P6d056U0a4qM' +
'95LOAhnnqMzS4ha8NMAXKqWyyjerWTygqRr19ZgPSdUwzgaTYqLle' +
'hXhxNuZLFRtZ2LvLyvAPOLci1esyLHDIFyC2lS3mKt1aevnntHAWX' +
'B9uAHC+S6F6QRfQ1BS7XoiHHr14haYtzI3JvPTb1yGvJjfNgG4W7y' +
'PkyeBnkKLwYcroMqPfCQ9TXFL4m0XiRC+cW5Fo9lpDH8saQcC9yca' +
'yzSeRYMnnXz3ndMhHIIaP5LJvk0tKfiFaP8cck5EbhAjkwduc7JZ0' +
'Tcnw2L3iOnIInYmAGvSi+g0feiMfzp+V/XOsrC5AWIseIekx8NCFX' +
'd7XCVReGnIRDtPlO7OF7Fzk/ChmLPNOLYkDuPr4NyEfOzcjROf5X5' +
'X4oIffaHi0t6si98x23EctOnU7k4f0kduSeXpQgcu/jJxc51WMJuZ' +
'13GLk233Fbau3OtX4SC3Ltc8PCPeeitgM55PVXT2YOPBmyvrZgTPs' +
'1rr72dcqbr3/Dm1LCO/6Mess3zmvzHX5yhPgHRO3IeT8JFedyQjpM' +
'4FxO7x8FDfvu4/nTImzIoK3l0qmEvJlcf/WrFuSd1S8WH8MNyPEkO' +
'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' +
'TnsLVGLG+/yg2b4ZdZLBPSwEEiAT4hnzXkUKvAlBMCI/m9zZcg042' +
'cLphLxXkg+GA+yYWbCXnzzksix1oFbINzGMzdBZZpQo5ogToiz3WO' +
'C4nwGCiN8HOBen/NPCFvN3KxurL+5ZPgHALCf/Xr3/OKRQqflnIFs' +
'nJuji5+mjuSU/qtLHhgKCFv1nkB5LROfvDqAgQPdwLyV549CdULTD' +
'8TcjGSixo+IW8YuXokNO+MITAMvDGIHGqVL77wPK6x9LfSdXbZ0na' +
'ybRi5e4BGgNeuwqytuuQO5oActfPD/YniWJYTo5CjcwhdtAUz2Cza' +
't5VcG5BrB2jqQI7Ct9YXETk5T8gbdl4GOZUumb3Q9f0SW4Lce4Cmp' +
'pEc+2+hvHG7ExPCxpyXR27fFLQNyLW164R8BuvzzJFQBXymNdFwZQ' +
'rtKsyW3Wu1M3005FgqiHsCDVr8OfnZGf3dmGmXgP1lt57fMfTl9k8' +
'aYlf3QOqJX0JeEjmH7YIXDVpi4snPP8Jz6/A1aPW86aShhLzlPS0T' +
'O5JTAg1a7nKiEE7OtXp+v2c9ySIhT8jrGMnFGrXboKWdWOGeKK3V8' +
'3bko/Xz/wdacdfv');
frmDesign := CreateForm;
frmDesign.Left := 100;
frmDesign.Top := 100;
frmDesign.Width := 263;
frmDesign.Height := 251;
frmDesign.Caption := 'Drain Willows!';
frmDesign.Color := 1337;
frmDesign.Font.Color := ClBlack;
frmDesign.Font.Name := 'Calibri';

Image1 := TImage.Create(FrmDesign);
Image1.Parent := FrmDesign;
Image1.Left := 0;
Image1.Top := 0;
Image1.Width := 247;
Image1.Height := 215;
b := draynor;
getbitmapsize(b, w, h);
copycanvas(getbitmapcanvas(b), Image1.canvas, 0, 0, w, h, 0, 0, w, h);

Button1 := TButton.Create(FrmDesign);
Button1.Parent := FrmDesign;
Button1.Left := 88;
Button1.Top := 160;
Button1.Height := 25;
Button1.Width := 80;
Button1.Caption := 'Start Script';
Button1.OnClick := @ButtonClick;

Edit1 := TEdit.Create(FrmDesign);
Edit1.Parent := FrmDesign;
Edit1.Top := 120; //30
Edit1.Left := 140;
Edit1.Width := 25;
Edit1.Height := 20;
Edit1.Text :='10';

Label1 := TLabel.Create(FrmDesign);
Label1.Parent := FrmDesign;
Label1.Top := 10;
Label1.Left := 48;
Label1.Caption := 'Drain Willows Form!';
Label1.Font.Size := 15;
Label1.Font.Color := ClWhite;
Label1.Font.Name := 'Calibri';

Label2 := TLabel.Create(FrmDesign);
Label2.Parent := FrmDesign;
Label2.Top := 90;
Label2.Left := 10;
Label2.Caption := 'Members World: ';
Label2.Font.Size := 11;
Label2.Font.Color := ClRed;
Label2.Font.Name := 'Calibri';

Label3 := TLabel.Create(FrmDesign);
Label3.Parent := FrmDesign;
Label3.Top := 120;
Label3.Left := 10;
Label3.Caption := 'Switch Players After ';
Label3.Font.Size := 11;
Label3.Font.Color := ClRed;
Label3.Font.Name := 'Calibri';

Label4 := TLabel.Create(FrmDesign);
Label4.Parent := FrmDesign;
Label4.Top := 120;
Label4.Left := 170;
Label4.Caption := ' loads';
Label4.Font.Size := 11;
Label4.Font.Color := ClRed;
Label4.Font.Name := 'Calibri';

ComboBox1 := TComboBox.Create(FrmDesign);
ComboBox1.Parent := FrmDesign;
ComboBox1.Top := 90;
ComboBox1.Left := 140;
ComboBox1.Width := 70;
ComboBox1.Height := 20;
ComboBox1.Text := 'False';
ComboBox1.Items.Add('True');
ComboBox1.Items.Add('False');
end;

procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;

procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;

procedure SafeShowFormModal;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;

Procedure PreSetup;
begin
ClearDebug;
DeclarePlayers;
If (Players[0].Name = '') then
begin
Cleardebug;
Writeln('Please declare your players correctly');
TerminateScript;
end;
For i := 0 to HowManyPlayers-1 do
begin
Players[i].Active := True;
end;
WriteLN('GUI loaded');
Disguise('Form Loaded');
SafeInitForm;
SafeShowFormModal;
Players[0].Integers[1] := StrToInt(Edit1.Text); //Loads
Member := StrToBool(ComboBox1.Text); //Members
end;

procedure AntiBan;
begin
if not LoggedIn then Exit;
case Random(251) of
0: Begin
RandomRClick;
wait(1000+random(1000));
end;
50: HoverSkill('random', False);
100..105: HoverSkill('Woodcutting', False);
150: RandomMovement;
200: BoredHuman;
220: Gametab(1+Random(11));
250: SleepAndMoveMouse(1000+random(6000));
end;
end;

Procedure CheckWcLevel;
begin
Gametab(2);
If (Players[CurrentPlayer].Integers[6] = 0) then
begin
Players[CurrentPlayer].Integers[6]:=GetSkillInfo('Woodcutting', False);
end;
Players[CurrentPlayer].Integers[7]:=GetSkillInfo('Woodcutting', False);
Players[CurrentPlayer].Integers[4]:=Players[CurrentPlayer].Integers[7]-Players[CurrentPlayer].Integers[6];
end;

Procedure AntiRandom;
begin
FindNormalRandoms;
If FindFight then
begin
Disguise('Running from fight');
runaway('E',true,1,5000+random(2000));
end;
end;

procedure DeathWalk;
Var
x,y,hometeleDTM,HomeTeleBIT:integer;
begin
HomeTeleDTM := DTMFromString('78DA63FCC3CCC07087910119FCFDF70F4CC34' +
'4197F01D53C4655D3D7FB1955CD4FA09AEBA86AAAAA7EA0AA6160214' +
'ECD03026AFE12E19EAF98FEC2500332E7320135AC40F7DCC6AF06003' +
'B5820DA');
HomeTeleBIT := BitmapFromString(24, 24, 'beNpzMPFwGDKIgYE' +
'RDZFtSF/vZzgi1ShME8gwDdkQUSF9NESkUZiGVFX9gCPijUI2BNkE' +
'NNPgRuF3DLJLTE3y4AjNVVidhMuQv//+QaSADGKMwvQRUBdEO9wcI' +
'IlsFFbfoZkDMQTTHLhRZJgDR2SYQ56/vFysqBXOZMc70A3USocQo5' +
'ANpCRfAM2BGOVsbQhEVMmn5JQbduSXY3Av0K1cJck6sk3AogYAZGI' +
'N/w==');
If not loggedin then exit;
if(not(FindLumbyRoadColor > 0)) then
begin //MouseBox(563, 220, 582, 239, 1);
Writeln('Death walk activated');
GameTab(7);
Disguise('We are lost - Doing death walk');
if FindDTM(HomeTeleDTM, X, Y, MIX1, MIY1, MIX2, MIY2) then
begin
Mouse(X, Y, 10, 10,true);
End else
begin
If (FindBitmap(HometeleBIT,x,y)) then
Begin
Mouse(X+11, Y+10, 10, 10,true);
end;
end;
Wait(500+random(500));
If (FindBlackChatMessage('need to wait')) then
Repeat
Writeln('You need to wait another X minutes to cast this spell');
Logout;
Writeln('Waiting 5 minutes');
wait(60000*5);
Loginplayer;
Gametab(7);
if FindDTM(HomeTeleDTM, X, Y, MIX1, MIY1, MIX2, MIY2) then
Mouse(X, Y, 10, 10,true)
else begin
if(FindBitmap(HometeleBIT, X, Y)) then
Mouse(X+11, Y+10, 10, 10,true)
else
Mouse(571, 228, 12, 12, true);
end;
wait(500+random(500));
Until(not(FindBlackChatMessage('need to wait')));
If (FindBlackChatMessage('need to wait')) then
Repeat
Writeln('You need to wait another X minutes to cast this spell');
Logout;
Disguise('Waiting 5 minutes');
Writeln('Waiting 5 minutes');
wait(60000*5);
Loginplayer;
Gametab(7);
if FindDTM(HomeTeleDTM, X, Y, 557, 214, 605, 259) then
begin
Mouse(X, Y, 10, 10,true);
end else
begin
Mouse(571, 228, 12, 12,true);
end;
wait(500+random(500));
Until(not(FindBlackChatMessage('need to wait')));
FreeDTM(HomeTeleDTM);
FreeBitmap(HomeTeleBIT);
wait(17500+Random(5000));
end else //if we are already in lumbridge then
Disguise('Walking back');
Writeln('Walking Back');
Makecompass('n');
SetAngle(True);
Setrun(true);
RadialRoadWalk(FindLumbyRoadColor, 30, 80, 65, 1, 1);
RadialRoadWalk(FindLumbyRoadColor, 340, 0, 50, 1, 1);
RadialRoadWalk(FindLumbyRoadColor, 270, 345, 60, 1, 1);
RadialRoadWalk(FindLumbyRoadColor, 240, 330, 40, 1, 1);
RadialRoadWalk(FindLumbyRoadColor, 240, 330, 40, 1, 1);
If(FindDirtRoadColor > 0) then
begin
RadialWalk(FindDirtRoadColor, 200, 310, 65, 1, 1);
RadialWalk(FindDirtRoadColor, 200, 310, 65, 1, 1);
RadialWalk(FindDirtRoadColor, 200, 310, 65, 1, 1);
RadialWalk(FindDirtRoadColor, 200, 310, 65, 1, 1);
RadialWalk(FindDirtRoadColor, 180, 300, 65, 1, 1);
RadialWalk(FindDirtRoadColor, 180, 300, 65, 1, 1);
RadialWalk(FindDirtRoadColor, 180, 300, 65, 1, 1);
end else
begin
Writeln('Player is lost');
DebugScreen(True);
Players[CurrentPlayer].Active := False;
Logout;
Exit;
end;
If(FindRoadColor > 0) then
begin
RadialRoadWalk(FindRoadColor, 270, 360, 60, 1, 1);
RadialRoadWalk(FindRoadColor, 270, 360, 60, 1, 1);
end else
begin
Writeln('Player is lost');
DebugScreen(True);
Players[CurrentPlayer].Active := False;
Logout;
Exit;
end;
Cleardebug;
Writeln('Bank Symbol on screen: '+BoolToStr(FindSymbol(x, y, 'bank')));
SymbolAccuracy := 0.7;
If(FindSymbol(X, Y, 'bank')) then
Begin
Mouse(X, Y, 4, 4, True);
FFlag(10);
Writeln('We returned to the bank');
If (FindWaterColor > 0) then
Begin
If (FindSymbol(X, Y, 'bank')) then
begin
mouse(x-30,y+30,6,6,true);
FFlag(10);
end;
end else
begin
Writeln('No water found on screen');
Writeln('No bank symbol found on screen');
Writeln('Player is lost, Setting to false');
DebugScreen(True);
Players[CurrentPlayer].Active := False;
Logout;
end;
end;
FreeDTM(HometeleDTM);
FreeBitmap(HomeTeleBIT);
end;

procedure ChopWillow;
var
CTS, x, y, i, b, xtr: Integer;
Points: TPointArray;
Pointe: TPoint;
Pointers: T2DPointArray;
begin
if not (LoggedIn) then Exit;
Repeat
if(not(loggedin)) then exit;
Antirandom;
DebugTimeS;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(3);
FindColorsSpiralTolerance(MSCX, MSCY, Points, 5865581, MSX1, MSY1, MSX2, MSY2, 3);
ColorToleranceSpeed(CTS);
Pointers := SplitTPA(Points, 4);
SortATPASize(Pointers, True);
b := High(Pointers);
for i:=0 to b do
begin
Pointe := MiddleTPA(Pointers[i]);
Wait(50+random(50));
MMouse(Pointe.x, Pointe.y, 4, 4);
if IsUpText('illo') then
begin
DebugTimeE('willow');
GetMousePos(X, Y);
Mouse(X, Y, 1, 1, True);
Disguise('Chopping');
Wait(3000+random(2000));
MarkTime(xtr);
While (IsUpText('illo')) Do
Begin
If (Not(Loggedin)) Then exit;
wait(500);
Antiban;
Antirandom;
If (FindBlackChatMessage('you are dead')) then
Begin
Writeln('You died');
Disguise('Player is dead! Deathwalk activated');
Deathwalk;
end;
If(TimeFromMark(xtr)>50000) then break;
If(InvFull) then break;
end;
end;
ResetTime('Didn''t find willows');
end;
Until(InvFull);
If(Players[CurrentPlayer].Integers[5] = 2) Then
Begin
Players[CurrentPlayer].Integers[2]:= Players[CurrentPlayer].Integers[2]+ 28;
End;
If(Players[CurrentPlayer].Integers[5] = 1) Then
Begin
Players[CurrentPlayer].Integers[2]:= Players[CurrentPlayer].Integers[2]+ 27;
end;
Players[CurrentPlayer].Integers[3]:= Round(Players[CurrentPlayer].Integers[2] * 67.5);
end;

procedure ProgressReport;
Begin
Writeln('|--------|--------|--------|--------|');
Writeln('|Nick | EXP | Logs | Levels |');
Writeln('|--------|--------|--------|--------|');
For i := 0 to HowManyPlayers-1 do
begin
Writeln('|'+Padr(Players[i].Nick, 8) + '| ' + Padr(IntToStr(Players[i].Integers[3]), 7) + '| ' + Padr(IntToStr(Players[i].Integers[2]), 7) + '| ' + Padr(IntToStr(Players[i].Integers[4]), 6) + ' |');
end;
Writeln('|--------|--------|--------|--------|');
Writeln('Ran for '+TimeRunning);
end;

function WalkingDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..1] of TDTMPointDef;
TempTDTM: TDTM;
begin
AntiRandom;
dtmMainPoint.x := 582;
dtmMainPoint.y := 188;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindWaterColor;
dtmMainPoint.Tolerance := 1;

dtmSubPoints[0].x := 582;
dtmSubPoints[0].y := 188;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindWaterColor;
dtmSubPoints[0].Tolerance := 1;

dtmSubPoints[1].x := 575;
dtmSubPoints[1].y := 178;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRockColor;
dtmSubPoints[1].Tolerance := 1;

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

Procedure WalkToWillow;
Var
WaterRocks:Integer;
begin
If (not(loggedin)) then exit;
Disguise('Walking to the willows');
MakeCompass('N');
If(Not(FindWaterColor > 0)) then
begin
Writeln('No water detected');
Deathwalk;
exit;
end;
FindNormalRandoms;
WaterRocks:= WalkingDDTM;
DebugTimeS;
if FindDTM(WaterRocks, X, Y, MMX1,MMY1,MMX2,MMY2) then
begin
DebugTimeE('walking ddtm');
Mouse(X+(33), Y+(4), 6, 6, True);
FFlag(10);
FreeDTM(WaterRocks);
end else
begin
ResetTime('Didn''t find the DDTM');
Writeln('DDTM method failed');
FreeDTM(WaterRocks);
wait(500+random(1000));
DebugTimeS;
If (FindWaterColor > 0) then
Begin
If (FindSymbol(X, Y, 'bank')) then
begin
DebugTimeE('water and bank')
mouse(X-30, Y+30, 6, 6, true);
FFlag(10);
Writeln('Used water and bank symbol method');
end else Writeln('Could not find bank symbol');
wait(500+Random(1000));
DebugTimeS;
if (FindSymbol(x, y, 'fishing spot')) then
begin
DebugTimeE('fishing symbol');
Mouse(X, Y, 7, 7, true);
FFlag(10);
end else
DebugScreen(True);
DeathWalk;
end else
DebugScreen(True);
ResetTime('could not find water and bank');
DeathWalk;
end;
end;

procedure Bank;
begin
if not loggedin then exit;
Setrun(true);
Disguise('Walking to bank');
DebugTimeS;
if (FindSymbol(X, Y, 'bank')) then
begin
if(FindColor(X, Y, FindRockColor, 627, 8, 698, 161)) then
begin
DebugTimeE('rock color');
Mouse(X+(3), Y-(42), 2, 7, true);
FFlag(10);
end else writeln('Could not find rock color');
DebugTimeS;
OpenBank('db', true, true);
DebugTimeE('bank');
If(Players[CurrentPlayer].Integers[5] = 2) Then
Begin
DepositAll;
End Else
Begin
Deposit(2, 28, True);
end;
CloseBank;
CheckWCLevel;
ProgressReport;
end else
begin
Writeln('Looking for bank symbol');
begin
symbolAccuracy := 0.4;
if (FindSymbol(X, Y, 'bank')) then
Begin
Mouse(X, Y, 5, 5, True);
FFlag(7);
OpenBank('db', true, true);
Disguise('Depositing');
If(Players[CurrentPlayer].Integers[5] = 2) Then
Begin
DepositAll;
End Else
Begin
Deposit(2, 28, True);
end;
CloseBank;
CheckWCLevel;
ProgressReport;
end;
end;
end;
end;

Procedure CheckIfUsingAxe;
Var
AxeHandle:Integer;
begin
Disguise('Auto-Detecting Axe'); //>=1
If(Players[CurrentPlayer].Integers[5] = 1 or 2) then exit;
AxeHandle := DTMFromString('78DA63AC66626038C8C8800C9A930418E4803' +
'44C94B10EA8661BAA1A902C13B29A5220EF1C01359540DE59026AEA8' +
'1BC3DF8D500003EF9076D');
Gametab(4);
DebugTimeS;
if(FindDTM(AxeHandle, X, Y, MIX1, MIY1, MIX2, MIY2)) then
begin
DebugTimeE('axe');
Writeln('Player is not weilding an axe');
Players[CurrentPlayer].Integers[5] := 1;
end else
begin
Gametab(5);
if(FindDTM(AxeHandle, X, Y, MIX1, MIY1, MIX2, MIY2)) then
begin
DebugTimeE('axe');
Writeln('Player is weilding an axe');
Players[CurrentPlayer].Integers[5] := 2;
end else
begin
ResetTime('could not find axe');
Writeln('No axe found');
Players[CurrentPlayer].Active := False;
wait(5000);
Logout;
end;
end;
FreeDTM(Axehandle);
end;

Procedure SetupSmart;
Begin
Disguise('Scar DIVI CDE');
Writeln('Loading SMART');
DebugTimeS;
Wait(3000);
SmartSetupEx(23, member, true, false);
SetTargetDC(SmartGetDC);
repeat
wait(100);
until(SmartGetColor(253, 233)<>1118604);
Cleardebug;
xt:=xt-3000;
DebugTimeE('smart client');
end;

procedure MainLoop;
var
Reps:Integer;
begin
If(not(loggedin)) then loginplayer;
repeat
Reps:=Reps + 1;
CheckIfUsingAxe;
Walktowillow;
ChopWillow;
Bank;
FindLamp('woodcutting');
until(Reps>=Players[0].Integers[1]) or (AllPlayersInactive) or (not(loggedin));
if (AllPlayersInactive) then
begin
Logout;
Cleardebug;
ProgressReport;
Writeln('All players are inactive');
wait(500+random(500));
Writeln('Thank you for using Drain Willows!');
Disguise('Script ended - No players left');
TerminateScript;
end;
If (Reps>=Players[0].Integers[1]) then
begin
Disguise('Switching players');
Reps:=0;
Nextplayer(True);
end;
If(not(loggedin)) then
Begin
If (AllPlayersInactive) then
begin
ClearDebug;
ProgressReport;
Writeln('Player is logged out, failed a random?');
wait(500+random(500));
Writeln('Thank you for using Drain Willows!');
Disguise('Script ended - Not logged in');
TerminateScript;
end else
loginplayer;
end;
end;

Procedure SetupScript;
Begin
PreSetup;
Cleardebug;
SetupSmart;
If (not(loggedin)) then
begin
If (HowManyPlayers = 1) then
begin
Writeln('Single-Player Mode');
end else
begin
Writeln('Multiplayer Mode');
end;
Loginplayer;
end;
makecompass('n');
SetAngle(True);
CheckWCLevel;
LampSkill:='woodcutting';
end;

Procedure ScriptTerminate;
begin
ProgressReport;
end;

begin
Setupscript;
Repeat
Mainloop;
Until(AllPlayersInactive);
end.

Naike

2009-06-19 14:18:29

Holding my vote, You should consider learning failsafes for walking.
Atm you got none, at all.

cycrosism

2009-06-19 14:29:43

Well it does have 3 ways of walking, DDTM, bank symbol and fishing symbol. After it can't do my 3 methods of walking it calls upon the deathwalk and if you look at it and at the radial walks you will notice if it cant find the colour it sets the player to false and logs him out…

Frt

2009-06-19 14:36:09

Have to agree with N1ke, your deathwalk has like a 99% chance of screwing up.

Also, your standards are a bit off and you're missing some begin-ends in your WalkToWillow. If it doesn't find the DDTM it will perform a deathwalk even if you failsafe worked.

In ChopWillow you check if the tree has been cutted by searching for the uptext. Well, you're doing antiban at the same time which means the mouse will move and the uptext thereby disappear.

Sorry, but I'm going to vote no.

cycrosism

2009-06-19 14:48:43

If you can tell me a better way to detect if there is a willow that my character is cutting (using colour) please PM me. Because the only other good way I know is reflection :(

BobboHobbo

2009-06-19 15:16:20

Im voting no, i dislike your attitude towards things in past posts.

So No.

Torrent of Flame

2009-06-19 15:23:44

From: BobboHobbo
Im voting no, i dislike your attitude towards things in past posts.

So No.


MMhm. Much agreed. cycrosism, you worked very hard on improving your attitude and have done very well at it, but you have gone and ruined it already by being rather.. blunt, with the last posts. I reccomend you edit them to less harsh, so that other users do not vote no for the same reason.

I am not going to vote, because I dont highly like your attitude, so my vote would be bias.

Waddo

2009-06-19 17:01:51

Hmmno You do not use failsafes eg

if not radialwalk then
if not finddtm then
begin
writeln('radial walk and DDTm failed co ord clicking')
mouse(300,105,5,5)
wait(1000);
FFLag(10);
end else
begin
writeln('found DDtm')
DDTM walking stuff
end else
begin
writeln('radial walk succesfull')
Radial walk stuff
end;

also if you use a bmp in a form don use bitmapfromstring use loadbitmap and attach the .bmp

cycrosism

2009-06-19 17:39:37

I used bitmapfromstring because i wanted to keep the script in 1 piece

Method

2009-06-19 18:44:44

From: Torrent of Flame
MMhm. Much agreed. cycrosism, you worked very hard on improving your attitude and have done very well at it, but you have gone and ruined it already by being rather.. blunt, with the last posts. I reccomend you edit them to less harsh, so that other users do not vote no for the same reason.

I am not going to vote, because I dont highly like your attitude, so my vote would be bias.


There's nothing blunt about his posts. He was responding to issues and questions other users brought up and answered them. It's obvious you're biased even when trying to give him advice because you can't see what he's trying to do by responding to those posts.

I'll check out the script and vote later, cycrosism.

Torrent of Flame

2009-06-19 19:44:03

From: Method
There's nothing blunt about his posts. He was responding to issues and questions other users brought up and answered them. It's obvious you're biased even when trying to give him advice because you can't see what he's trying to do by responding to those posts.

I'll check out the script and vote later, cycrosism.


Incase you hadn't noticed, he has edited the posts, they were more blunt when he first posted them.

Naike

2009-06-19 20:47:10

Yes, as you took Torrent of Flames advice and changed.
Keep it this way, as I can change my vote.

NCDS

2009-06-19 23:02:22

As stated above, your death walk is very unstable.

Neither of these need Begin..end;

If(Players[CurrentPlayer].Integers[5] = 2) Then
Begin
Players[CurrentPlayer].Integers[2]:= Players[CurrentPlayer].Integers[2]+ 28;
End;
If(Players[CurrentPlayer].Integers[5] = 1) Then
Begin
Players[CurrentPlayer].Integers[2]:= Players[CurrentPlayer].Integers[2]+ 27;
end;

Your DDTM is actually dynamic which is something that most applicant's fail at so that is good.

I like your debug output's. I am a strong believer that user's should be constantly informed on what the script is doing.

Technically your standard's are off, but everyone has their own style (Including myself) so I don't bother to grade on that.

Overall this really isn't a bad app at all. Your code could get you into member's, it's just this "attitude" that everyone talk's about. As long as that isn't a factor you will have my vote. We already have enough "Stuck Up" member's here.

I'm going to wait a little bit and see how you react to other people's criticism before I make my decision.

I'd like to see you get in though so keep your head straight :)

Lance

2009-06-20 00:26:16

Other than it lacking failsafes in the walking, i think this is a realy good script, and i havent seen any bad adittude from you myself so its a yes.
just an example of how you could fix up the walking alittle bit, its not realy much of a fail safe but just makes it so that if one part of the walking dosnt work, then the script wont continue the path and take you somewhere you dont want to go.

if RadialRoadWalk(FindLumbyRoadColor, 30, 80, 65, 1, 1) then
if RadialRoadWalk(FindLumbyRoadColor, 340, 0, 50, 1, 1) then
if RadialRoadWalk(FindLumbyRoadColor, 270, 345, 60, 1, 1) then
if RadialRoadWalk(FindLumbyRoadColor, 240, 330, 40, 1, 1) then
if RadialRoadWalk(FindLumbyRoadColor, 240, 330, 40, 1, 1) then
begin
Writeln('Path was walked');
end else Writeln('Path walking failed');

Torrent of Flame

2009-06-20 00:40:06

I vote yes, due to the fact you are trying to change, and you have edited your posts.

cycrosism

2009-06-20 03:26:03

Thank you for all the feedback

Blumblebee

2009-06-20 03:32:41

yes. I've voted yes since your first app. I like you, I think its a good script. Its been a good script for a while now. Your deathwalk is still sketch (ive told you to fix it like a billions times -.-) but other than that its a good script.

Good luck man, third times the charm ;)

ian.

2009-06-20 03:55:19

So sorry, cycrosism. Over half of the script is the form and death walk, no failsafes for your walking (big no no :/), and some things aren't needed (stated above).

I'm gonna hold my vote. (Would vote no (no hard feelings! ^^? lol), but apparently you have had a big attitude change in the right direction, and I respect that).

Might run it and see how good it works and vote, but idk.

Nonetheless, good luck. :D

Wizzup?

2009-06-20 04:26:37

Yes.

ian.

2009-06-20 04:29:34

I know it's totally private and you don't have to say anything, Wizzup?, but why yes? (Not saying it's a bad script, I just don't think it's amazing, and I'd like to know why you think it is). Thanks either way :]

(And congratulations getting Wizzup? to say yes, cycrosism :p)

Rubix

2009-06-20 04:32:36

Wizzup voted yes, therefore I vote Yes.

Simtoon

2009-06-20 09:26:54

omg Wizzup voted on cycosisms app but not mine :(

Daniel

2009-06-20 11:08:21

From: Rubix
Wizzup voted yes, therefore I vote Yes.

Wow…

ian.

2009-06-20 11:34:04

:/ Rubix, you voted yes because Wizzup? voted yes on here, then flipped a coin to vote on Macro_FTW's app.. that's not very fair for either of these people.. :/

Daniel

2009-06-20 11:49:51

From: 99_
:/ Rubix, you voted yes because Wizzup? voted yes on here, then flipped a coin to vote on Macro_FTW's app.. that's not very fair for either of these people.. :/

Hence my "Wow…" :p

ian.

2009-06-20 11:54:40

>.> Well I failed. haha :p but you didn't say the thing about the coin flip ;D

WT-Fakawi

2009-06-20 12:49:24

Love the gardenstory. yes :)


proper code too, btw…

ZephyrsFury

2009-06-20 14:13:09

It was a yes from me btw.

Simtoon

2009-06-20 15:16:15

Edit: Im not going to spoon feed.

marpis

2009-06-21 13:38:25

Yes from me.

  • Form
  • You should make player setup there. Check out Naumans script as example (using SRL Player form)
  • WalkingDDTM
  • I suggest you to declare 2 new variables: RCol and WCol. In the beginning of the function, put this:

    RCol := FindRockColor;
    WCol := FindWaterColor;
    So the autocoloring functions would be called only once to make the function faster.
  • Line 866
  • If(Players[CurrentPlayer].Integers[5] = 1 or 2) then exit; "1 or 2" means actually 3. You can try this with SCAR writeln(IntToStr(1 or 2))
  • DeathWalk is not actually needed, because there are no fighting randoms anymore
  • AntiRandom fight detection is not needed anymore.
  • SMARTSetupEx is already called in SetupSRL; if /misc/smart.scar is included (new in rev #35)
  • MainLoop
  • Things between lines 945 - 953 will never occur, because former on line 926 you already have checked if AllPlayersInactive
  • Line 696
  • Burns my eyes! Use cases! For 1 line If - Then statements you don't need begin - end. You can do it like this:

    If(Players[CurrentPlayer].Integers[5] = 2) Then
    Players[CurrentPlayer].Integers[2]:= Players[CurrentPlayer].Integers[2]+ 28;
    If(Players[CurrentPlayer].Integers[5] = 1) Then
    Players[CurrentPlayer].Integers[2]:= Players[CurrentPlayer].Integers[2]+ 27;
  • Walking
  • Always use FindDTMRotated() !! because you will never find anything with FindDTM. The MM is never perfectly aligned.
  • ChopWillow
  • You find the willow, and then immediately check uptext. What if the willow is not right next to you?

+ The form was cool, but it needs Player setup.
+ Screenshot saving.
+ Standards, except the nesting problem i mentioned above.

Help to your cutting problem:
  1. Find a willow, click it
  2. Wait till we have stopped
  3. Find the same willow again
  4. Save the willow co-cords to (x, y) and do this

  5. FindColorsSpiralTolerance(x, y, TPA, WillowColor, x-25, y-25, x+25, y+25, 5);
    if (Length(TPA) < 5) then
    writeln('The Willow is gone!')
    else
    writeln('The Willow is still there!');
  6. Make it randomly every now and then (like every 10+random(3) seconds) MMouse Willow and check uptext 'illo'. If found, make it click the tree to make sure you're still chopping it.

Da 0wner

2009-06-21 14:13:51

It was a yes from me btw.

cycrosism

2009-06-24 10:04:23

If you vote no PLEASE PLEASE PLEASE tell me why rather then just vote no and leave its not very nice

Hobbit

2009-06-24 12:42:07

No
Edit: My own reasons

cycrosism

2009-06-25 10:29:57

Okay but I am just curious to know how I can be a better scripter that's why I want to know feedback if someone says no

Da 0wner

2009-06-25 10:44:20

I think Hobbit gave you a no because of your attitude or past actions.

XabdullahX

2009-06-25 17:42:21

Yes from me.

Nice guy, open for criticsm, helped me out once (trusted him with my account :p)

WT-Fakawi

2009-06-27 18:03:10

In!