shadows-collide
06-25-2007, 04:48 PM
My first script, its taken a while lol, but i think its worth it :)
Im always making it better so check every now and then :)
Thanks to everyone who helped me sort out any errors :)
Comments appreciated (y)
Enjoy!
I forgot to mention, (SRL)and(Divi) :)
[]========================================[]
---------------->Progress report<----------------
Cut 350 logs
---------------------------------------------
Did 0 Clicks
[]========================================[]
Successfully executed
///////////////////////////
//// Power-Cutter ////
//// ////
//// A Shadows~Collide ////
//// Script ////
///////////////////////////
// This script will cut any tree
// you tell it to, use the color
// clicker to pick a large color
// on the tree, then paste it
// into the const section and hit
// run.
// Start at the log-in page,
program PowerCutter;
{.include SRL/SRL.scar}
////////////////////////////////
// Set-up //
////////////////////////////////
const
TreeColor = 3168336;
///////////////////////////////
// End of Set-up //
///////////////////////////////
var
TreesCut, Clicks, Chop: Integer;
frmDesign: TForm;
Title: TLabel;
User: TLabel;
Pass: TLabel;
CharNick: TLabel;
EditUser: TEdit;
EditPass: TEdit;
EditNick: TEdit;
StartButton: TButton;
procedure ClickStartButton(sender: TObject);
begin
ClearDebug;
Writeln(' ');
Writeln(' --- A Shadows~collide Script ---');
Writeln(' ');
Writeln(' This is my first script.');
Writeln(' Hopefully it will chop any tree you set the color too!');
Writeln(' Please post any feedback or suggestions.');
Writeln(' ');
Writeln(' --- A Shadows~collide Script ---');
wait(10 + random(800));
frmDesign.ModalResult := mrOk;
end;
procedure ProgressReport;
begin
ClearDebug;
Writeln('[]========================================[]');
Writeln('---------------->Progress report<----------------');
Writeln(' Cut ' + IntToStr(TreesCut) + ' logs ' + ' ');
Writeln('---------------------------------------------');
Writeln(' Did ' + IntToStr(Clicks) + ' Clicks' + ' ');
Writeln('[]========================================[]');
end;
procedure DoAntiRandoms;
begin
FindTalk;
FindNormalRandoms;
if (FindFight = true) then
begin
RunAwayDirection('N');
Wait(10000 + random(2000));
RunBack;
end;
end;
procedure MainForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 250;
frmDesign.Top := 114;
frmDesign.Width := 417;
frmDesign.Height := 266;
frmDesign.Caption := 'A Shadows-Collide Script';
frmDesign.Color := clMonkeyGreen;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
Title := TLabel.Create(frmDesign);
Title.Parent := frmDesign;
Title.Left := 24;
Title.Top := 10;
Title.Width := 348;
Title.Height := 22;
Title.Caption := 'Shadows-Collide Power-Cutter';
Title.Color := clBtnFace;
Title.Font.Color := clWindowText;
Title.Font.Height := -19;
Title.Font.Name := 'Rockwell Extra Bold';
Title.Font.Style := [fsBold];
Title.ParentColor := False;
Title.ParentFont := False;
User := TLabel.Create(frmDesign);
User.Parent := frmDesign;
User.Left := 25;
User.Top := 45;
User.Width := 61;
User.Height := 19;
User.Caption := 'Username';
User.Font.Color := clWindowText;
User.Font.Height := -16;
User.Font.Name := 'Times New Roman';
User.Font.Style := [];
User.ParentFont := False;
Pass := TLabel.Create(frmDesign);
Pass.Parent := frmDesign;
Pass.Left := 25;
Pass.Top := 75;
Pass.Width := 60;
Pass.Height := 19;
Pass.Caption := 'Password';
Pass.Font.Color := clWindowText;
Pass.Font.Height := -16;
Pass.Font.Name := 'Times New Roman';
Pass.Font.Style := [];
Pass.ParentFont := False;
CharNick := TLabel.Create(frmDesign);
CharNick.Parent := frmDesign;
CharNick.Left := 25;
CharNick.Top := 105;
CharNick.Width := 121;
CharNick.Height := 19;
CharNick.Caption := 'Character nickname';
CharNick.Font.Color := clWindowText;
CharNick.Font.Height := -16;
CharNick.Font.Name := 'Times New Roman';
CharNick.Font.Style := [];
CharNick.ParentFont := False;
EditUser := TEdit.Create(frmDesign);
EditUser.Parent := frmDesign;
EditUser.Left := 205;
EditUser.Top := 45;
EditUser.Width := 121;
EditUser.Height := 21;
EditUser.ParentShowHint := False;
EditUser.ShowHint := True;
EditUser.TabOrder := 8;
EditUser.Text := 'Enter Username';
EditPass := TEdit.Create(frmDesign);
EditPass.Parent := frmDesign;
EditPass.Left := 205;
EditPass.Top := 75;
EditPass.Width := 121;
EditPass.Height := 21;
EditPass.ParentShowHint := False;
EditPass.ShowHint := True;
EditPass.TabOrder := 9;
EditPass.Text := 'Enter Password';
EditNick := TEdit.Create(frmDesign);
EditNick.Parent := frmDesign;
EditNick.Left := 205;
EditNick.Top := 105;
EditNick.Width := 121;
EditNick.Height := 21;
EditNick.TabOrder := 10;
EditNick.Text := '3 letters of user, in order';
StartButton := TButton.Create(frmDesign);
StartButton.Parent := frmDesign;
StartButton.Left := 160;
StartButton.Top := 160;
StartButton.Width := 75;
StartButton.Height := 25;
StartButton.Caption := 'StartButton';
StartButton.TabOrder := 11;
StartButton.OnClick := @ClickStartButton;
end;
procedure LoadForm;
var
V: TvariantArray;
begin
Setarraylength(V, 0);
ThreadSafeCall('MainForm', V);
end;
procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;
procedure ShowFormModal2;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := EditUser.Text;
Players[0].Pass := EditPass.Text;
Players[0].Nick := EditNick.Text;
Players[0].Active := True
end;
procedure CutTheTree;
begin
repeat;
wait(1000 + random(500));
if FindColorSpiralTolerance(x, y, TreeColor, 3, 3, 514, 338, 5) then
begin
MMouse(x, y, 5, 8);
Wait(50 + random(25));
if (IsUpText('hop')) then
begin
Wait(200 + random(100));
Mouse(x, y, 1, 1, true);
Wait(500 + random(500));
DoAntiRandoms;
end;
end;
Wait(3000 + random(500));
DoAntiRandoms;
TreesCut := TreesCut + 1;
until (InvFull);
end;
procedure DropLogs;
begin
wait(100 + random(50));
wait(2000 + random(1000));
dropto(2, 28);
wait(100 + random(50));
end;
begin
SetupSRL;
LoadForm;
ShowFormModal2;
DeclarePlayers;
repeat
ActivateClient;
LoginPlayer;
HighestAngle;
CutTheTree;
DropLogs;
ProgressReport;
until (False)
end.
Im always making it better so check every now and then :)
Thanks to everyone who helped me sort out any errors :)
Comments appreciated (y)
Enjoy!
I forgot to mention, (SRL)and(Divi) :)
[]========================================[]
---------------->Progress report<----------------
Cut 350 logs
---------------------------------------------
Did 0 Clicks
[]========================================[]
Successfully executed
///////////////////////////
//// Power-Cutter ////
//// ////
//// A Shadows~Collide ////
//// Script ////
///////////////////////////
// This script will cut any tree
// you tell it to, use the color
// clicker to pick a large color
// on the tree, then paste it
// into the const section and hit
// run.
// Start at the log-in page,
program PowerCutter;
{.include SRL/SRL.scar}
////////////////////////////////
// Set-up //
////////////////////////////////
const
TreeColor = 3168336;
///////////////////////////////
// End of Set-up //
///////////////////////////////
var
TreesCut, Clicks, Chop: Integer;
frmDesign: TForm;
Title: TLabel;
User: TLabel;
Pass: TLabel;
CharNick: TLabel;
EditUser: TEdit;
EditPass: TEdit;
EditNick: TEdit;
StartButton: TButton;
procedure ClickStartButton(sender: TObject);
begin
ClearDebug;
Writeln(' ');
Writeln(' --- A Shadows~collide Script ---');
Writeln(' ');
Writeln(' This is my first script.');
Writeln(' Hopefully it will chop any tree you set the color too!');
Writeln(' Please post any feedback or suggestions.');
Writeln(' ');
Writeln(' --- A Shadows~collide Script ---');
wait(10 + random(800));
frmDesign.ModalResult := mrOk;
end;
procedure ProgressReport;
begin
ClearDebug;
Writeln('[]========================================[]');
Writeln('---------------->Progress report<----------------');
Writeln(' Cut ' + IntToStr(TreesCut) + ' logs ' + ' ');
Writeln('---------------------------------------------');
Writeln(' Did ' + IntToStr(Clicks) + ' Clicks' + ' ');
Writeln('[]========================================[]');
end;
procedure DoAntiRandoms;
begin
FindTalk;
FindNormalRandoms;
if (FindFight = true) then
begin
RunAwayDirection('N');
Wait(10000 + random(2000));
RunBack;
end;
end;
procedure MainForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 250;
frmDesign.Top := 114;
frmDesign.Width := 417;
frmDesign.Height := 266;
frmDesign.Caption := 'A Shadows-Collide Script';
frmDesign.Color := clMonkeyGreen;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
Title := TLabel.Create(frmDesign);
Title.Parent := frmDesign;
Title.Left := 24;
Title.Top := 10;
Title.Width := 348;
Title.Height := 22;
Title.Caption := 'Shadows-Collide Power-Cutter';
Title.Color := clBtnFace;
Title.Font.Color := clWindowText;
Title.Font.Height := -19;
Title.Font.Name := 'Rockwell Extra Bold';
Title.Font.Style := [fsBold];
Title.ParentColor := False;
Title.ParentFont := False;
User := TLabel.Create(frmDesign);
User.Parent := frmDesign;
User.Left := 25;
User.Top := 45;
User.Width := 61;
User.Height := 19;
User.Caption := 'Username';
User.Font.Color := clWindowText;
User.Font.Height := -16;
User.Font.Name := 'Times New Roman';
User.Font.Style := [];
User.ParentFont := False;
Pass := TLabel.Create(frmDesign);
Pass.Parent := frmDesign;
Pass.Left := 25;
Pass.Top := 75;
Pass.Width := 60;
Pass.Height := 19;
Pass.Caption := 'Password';
Pass.Font.Color := clWindowText;
Pass.Font.Height := -16;
Pass.Font.Name := 'Times New Roman';
Pass.Font.Style := [];
Pass.ParentFont := False;
CharNick := TLabel.Create(frmDesign);
CharNick.Parent := frmDesign;
CharNick.Left := 25;
CharNick.Top := 105;
CharNick.Width := 121;
CharNick.Height := 19;
CharNick.Caption := 'Character nickname';
CharNick.Font.Color := clWindowText;
CharNick.Font.Height := -16;
CharNick.Font.Name := 'Times New Roman';
CharNick.Font.Style := [];
CharNick.ParentFont := False;
EditUser := TEdit.Create(frmDesign);
EditUser.Parent := frmDesign;
EditUser.Left := 205;
EditUser.Top := 45;
EditUser.Width := 121;
EditUser.Height := 21;
EditUser.ParentShowHint := False;
EditUser.ShowHint := True;
EditUser.TabOrder := 8;
EditUser.Text := 'Enter Username';
EditPass := TEdit.Create(frmDesign);
EditPass.Parent := frmDesign;
EditPass.Left := 205;
EditPass.Top := 75;
EditPass.Width := 121;
EditPass.Height := 21;
EditPass.ParentShowHint := False;
EditPass.ShowHint := True;
EditPass.TabOrder := 9;
EditPass.Text := 'Enter Password';
EditNick := TEdit.Create(frmDesign);
EditNick.Parent := frmDesign;
EditNick.Left := 205;
EditNick.Top := 105;
EditNick.Width := 121;
EditNick.Height := 21;
EditNick.TabOrder := 10;
EditNick.Text := '3 letters of user, in order';
StartButton := TButton.Create(frmDesign);
StartButton.Parent := frmDesign;
StartButton.Left := 160;
StartButton.Top := 160;
StartButton.Width := 75;
StartButton.Height := 25;
StartButton.Caption := 'StartButton';
StartButton.TabOrder := 11;
StartButton.OnClick := @ClickStartButton;
end;
procedure LoadForm;
var
V: TvariantArray;
begin
Setarraylength(V, 0);
ThreadSafeCall('MainForm', V);
end;
procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;
procedure ShowFormModal2;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := EditUser.Text;
Players[0].Pass := EditPass.Text;
Players[0].Nick := EditNick.Text;
Players[0].Active := True
end;
procedure CutTheTree;
begin
repeat;
wait(1000 + random(500));
if FindColorSpiralTolerance(x, y, TreeColor, 3, 3, 514, 338, 5) then
begin
MMouse(x, y, 5, 8);
Wait(50 + random(25));
if (IsUpText('hop')) then
begin
Wait(200 + random(100));
Mouse(x, y, 1, 1, true);
Wait(500 + random(500));
DoAntiRandoms;
end;
end;
Wait(3000 + random(500));
DoAntiRandoms;
TreesCut := TreesCut + 1;
until (InvFull);
end;
procedure DropLogs;
begin
wait(100 + random(50));
wait(2000 + random(1000));
dropto(2, 28);
wait(100 + random(50));
end;
begin
SetupSRL;
LoadForm;
ShowFormModal2;
DeclarePlayers;
repeat
ActivateClient;
LoginPlayer;
HighestAngle;
CutTheTree;
DropLogs;
ProgressReport;
until (False)
end.