SCAR Code:
//Hobbit's King of Buttons 3 P0wn3r
//Made by Hobbit
//==Set-up==
//Go to [url]http://www.ugoplayer.com/games/kingofbuttons3.html[/url]
//Silent Mouse MUST be OFF!
//Click and drag Cross-hairs on to screen ^^^
//Start at game options screen(after the intro and preloading)
//Press play
//Set-up form only
//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//
//IMPORTANT:for setting 4 and 5 there is a 50 second delay before the highscore
//procedure kicks in..this is intentional..it gives the game counter time to
//finish counting down for the game to end..if it doesnt highscores wont work
//properly!!
//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//
//Specail thanks to:
//drowningtrout for help with radiobuttons
program Kingofbuttons3powner;
{.include SRL/SRL.scar}
//----------------------------------------------------------------------------\\
//****************************************************************************\\
var
click, click2, start_game, refclick, Reflex_button : integer;
who, amount, clock, maxhurry : string;
frmDesign : TForm;
Label1 : TLabel;
Label2 : TLabel;
Label3 : TLabel;
Label4 : TLabel;
Edit1 : TEdit;
Edit2 : TEdit;
Edit3 : TEdit;
Edit4 : TEdit;
Memo1 : TMemo;
Button1 : TButton;
Game : TGroupBox;
RadioButton1 : TRadioButton;
RadioButton2 : TRadioButton;
RadioButton3 : TRadioButton;
RadioButton4 : TRadioButton;
RadioButton5 : TRadioButton;
RadioButton6 : TRadioButton;
RadioButton7 : TRadioButton;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
const
//----------------------------------------------------------------------------\\
// DONT TOUCH UNDER HERE!!!!
//----------------------------------------------------------------------------\\
holdpay=505;//don't touch will NEVER need to be changed!!
hurrypay=1010;//don't tocuh will NEVER need to be changed!!
reflexpay=2020;//don't tocuh will NEVER need to be changed!!
//----------------------------------------------------------------------------\\
//****************************************************************************\\
//\\//\\//\\//\\//\\//\\//\\//\\//\\//Begin\\//\\//\\//\\//\\//\\//\\//\\//\\//\
procedure ButtonClick(Sender: TObject);
begin
who:=Edit1.Text;
amount:=Edit2.Text;
clock:=Edit3.Text;
maxhurry:=Edit4.Text;
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Endurance;
begin
MoveMouseSmooth(180,160);
Wait(30);
ClickMouse(180,160,true);
Wait(20);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Startgame;
begin;
start_game := BitmapFromString(169,411,'z78DAED9C4B6EC3300' +
'C44AFA4459D0B24F1FD8FD414DD146803D4FA9033D41B0359C512' +
'2D534F2225B9358410420821841042082184D0359DE79CDF985A7' +
'42C896C5BB5DAFBEC51F3C9B7B57FB4A31D5E6FCAB1E469EF2BD0' +
'123816FFBC8E1C53B0CD71C4D99363F15EADD0A7769B1179714CC' +
'74238A6CFB1919223EFADD1F2914FFD1D0D3972EC6A5DCF7BFBBA' +
'9AC7E8931B47C3B1B90C5C4757E59865BC4CF736571B5BB3469F7' +
'88EA9CD0AB27C068EC1313806C7DC39F63B4ED1F4E4B9B58CFC1F' +
'8EB973EC6A0970CC6B45DB9D63EB3C018EC13138E6B833078EADC' +
'E85C6CC9F6B702C37EB92C6B15B7B5D7DB665F9B682E7A8ED1AAA' +
'CDB1F1954A3816993DCE628217C774D6BB752CD999633BD3A3AF2' +
'7AE8B2B3539E6E8DB35666870AC5E9B7B71ECEA592438A67CAE2D' +
'2B87E6CEB1F3F83BB28BCC8FC1B1AC3D45704C9363B3AC55E853B' +
'96B85AC57C6581259C2DC7BF7E1984226D3B74F399E708463CA1C' +
'53F01338A6E033700C8EC1B1DCA8168EC1313806C7CC3836F00D0' +
'138B61BC7667D71028E69CE677C39A693D353F09991B5E9F83EA5' +
'70FE028EA9ADC528ACE63C1FEDDE1EBB71CCF13B8A700C8E69FAE' +
'4BA1656FEB25F558EADF69CF8C8028EB9732C6B84856335CEAA54' +
'DD5B0EC71C39D6D96E3F3293DB71EC1FD99E1D38D66727420A644' +
'3F5F40953EE209E');
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Pokespaceendurance;
begin
KeyDown(32);
Wait(60);
KeyUp(32);
click:= click + 1;
Wait(50);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Gametomain;
begin
MoveMouseSmooth(107,81);
Wait(30);
ClickMouse(107,81,true);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Starttomain;
begin
MoveMouseSmooth(118,86);
Wait(30);
ClickMouse(107,81,true);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Shop;
begin
MoveMouseSmooth(72,116);
Wait(20);
ClickMouse(72,116,true);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Buyhold;
begin
MoveMouseSmooth(91,231);
Wait(20);
ClickMouse(91,231,true);
Wait(300);
MoveMouseSmooth(503,376);
Wait(20);
ClickMouse(503,376,true);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Buyhurry;
begin
MoveMouseSmooth(87,289);
Wait(20);
ClickMouse(87,289,true);
Wait(48);
MoveMouseSmooth(500,376);
Wait(20);
ClickMouse(500,376,true);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Buyreflex;
begin
MoveMouseSmooth(90,259);
Wait(40);
ClickMouse(90,259,true);
Wait(80);
MoveMouseSmooth(505,378);
Wait(40);
ClickMouse(505,378,true);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Shoptomain;
begin
MoveMouseSmooth(89,72);
Wait(20);
ClickMouse(89,72,true);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Hold;
begin
MoveMouseSmooth(372,157);
Wait(20);
ClickMouse(372,157,true);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Holdspace;
begin
MoveMouse(334,320);
Wait(150);
ClickMouse(334,320,true);
Wait(200);
KeyDown(32);
Wait(100);
Wait(clock);
Wait(100);
KeyUp(32);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Hurry;
begin
MoveMouseSmooth(373,316);
Wait(80);
ClickMouse(373,316,true);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Hurryspace;
begin
KeyDown(32);
Wait(56);
KeyUp(32);
click2:= click2 + 1;
Wait(56);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Reflex;
begin
MoveMouseSmooth(282,314);
Wait(80);
ClickMouse(282,314);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Reflexclick;
begin
FindBitmap( (Reflex_button := BitmapFromString(20, 12, 'z78DAB5D25B8EC32' +
'00C05D02D196C8CF9E4B9FF25F54233699549474DD5C1D2511405' +
'FB26640C2D5AC699A831A28F1E8618A0458329A68FC58212658C8' +
'0C214515C2B1634B58359F39EA76A855DFB25BD22BF3A753F7264' +
'64E0C2E8292404BDF88388059320B364C9BB4D1A2C32F7625DD19' +
'BB783C5A38F47218FE3994D184FB232A6B3B19DBA92BF3471DADF' +
'71F6EC94298FEEC811C42780D5D5D33CDFB453A2746AA1B25BA94' +
'2D49EF06D69E0E8B6BD0F5B2626EE4681422FA4A4BD4F87A34871' +
'3392916DD6E5EBB46FDA3CA136C332CD246DE01713449E8695EAB' +
'7FA94F6EE3866EE75DDBFBFD7B2B5D5FF79EEDFEA47CA79B7DA70' +
'08EEC2F42F59D29C5BEAB4F2322FFBFFE6D9E6BE727D8D325692B' +
'0B465F9487BF4B9015E753FF0');x,y),true);
Wait(150);
ClickMouse(x,y,true);
Wait(120);
MoveMouseSmooth(226,344);
refclick:= refclick + 1;
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Enternameother;
begin
MoveMouseSmooth(409,269);
HoldMouse(409,269,true);
Wait(30);
MoveMouseSmooth(255,278);
Wait(150);
ReleaseMouse(255,278,true);
Wait(200);
SendKeys(who);
Wait(200);
MoveMouseSmooth(319,402);
Wait(15);
ClickMouse(319,402,true);
Wait(20);
MoveMouseSmooth(318,311);
Wait(15);
ClickMouse(318,311,true);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Enternameendurance;
begin
MoveMouseSmooth(630,326);
HoldMouse(630,326,true);
Wait(30);
MoveMouseSmooth(447,324);
Wait(20);
ReleaseMouse(447,324,true);
Wait(20);
SendKeys(who);
Wait(50);
MoveMouseSmooth(104,385);
Wait(20);
ClickMouse(104,385,true);
Wait(15);
MoveMouseSmooth(536,359);
Wait(20);
ClickMouse(536,359,true);
end;
//----------------------------------------------------------------------------\\
//****************************************************************************\\
procedure Report;
begin
Writeln('//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\');
Writeln('Thank you for Useing Hobbit''s King of Buttons 3 P0wn3r');
Writeln('You have entered you name into the Highscores...');
Writeln('Happy Scripting');
Writeln('//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\-//-\\');
end;
//\\//\\//\\//\\//\\//\\//\\//\\//\\Main Loop//\\//\\//\\//\\//\\//\\//\\//\\//\
procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 250;
frmDesign.Top := 111;
frmDesign.Width := 423;
frmDesign.Height := 472;
frmDesign.Caption := 'Set-up';
frmDesign.Color := clBtnFace;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
Label1 := TLabel.Create(frmDesign);
Label1.Parent := frmDesign;
Label1.Left := 42;
Label1.Top := 39;
Label1.Width := 28;
Label1.Height := 13;
Label1.Caption := 'Name';
Label2 := TLabel.Create(frmDesign);
Label2.Parent := frmDesign;
Label2.Left := 42;
Label2.Top := 73;
Label2.Width := 178;
Label2.Height := 13;
Label2.Caption := 'Amount of clicks for Endurance Mode';
Label3 := TLabel.Create(frmDesign);
Label3.Parent := frmDesign;
Label3.Left := 42;
Label3.Top := 108;
Label3.Width := 23;
Label3.Height := 13;
Label3.Caption := 'Time';
Label4 := TLabel.Create(frmDesign);
Label4.Parent := frmDesign;
Label4.Left := 42;
Label4.Top := 203;
Label4.Width := 152;
Label4.Height := 13;
Label4.Caption := 'Amount of clicks for Hurry Game';
Edit1 := TEdit.Create(frmDesign);
Edit1.Parent := frmDesign;
Edit1.Left := 42;
Edit1.Top := 51;
Edit1.Width := 121;
Edit1.Height := 21;
Edit1.Cursor := crIBeam;
Edit1.TabOrder := 0;
Edit2 := TEdit.Create(frmDesign);
Edit2.Parent := frmDesign;
Edit2.Left := 42;
Edit2.Top := 86;
Edit2.Width := 121;
Edit2.Height := 21;
Edit2.Cursor := crIBeam;
Edit2.TabOrder := 1;
Edit3 := TEdit.Create(frmDesign);
Edit3.Parent := frmDesign;
Edit3.Left := 42;
Edit3.Top := 120;
Edit3.Width := 121;
Edit3.Height := 21;
Edit3.Cursor := crIBeam;
Edit3.TabOrder := 2;
Edit4 := TEdit.Create(frmDesign);
Edit4.Parent := frmDesign;
Edit4.Left := 42;
Edit4.Top := 215;
Edit4.Width := 121;
Edit4.Height := 21;
Edit4.Cursor := crIBeam;
Edit4.TabOrder := 3;
Memo1 := TMemo.Create(frmDesign);
Memo1.Parent := frmDesign;
Memo1.Left := 42;
Memo1.Top := 142;
Memo1.Width := 344;
Memo1.Height := 59;
Memo1.Lines.Add('Type in time you want in seconds then add 000 to get proper time');
Memo1.Lines.Add('Keep in mind the game does not keep exact seconds... ');
Memo1.Lines.Add('Starting at 20 seconds -1 point per 10 seconds from 20 and above');
Memo1.Lines.Add('So if you want exact time adjust setting accordingly');
Memo1.TabOrder := 4;
Button1 := TButton.Create(frmDesign);
Button1.Parent := frmDesign;
Button1.Left := 176;
Button1.Top := 393;
Button1.Width := 75;
Button1.Height := 25;
Button1.Cursor := crHandPoint;
Button1.Caption := 'OK';
Button1.ModalResult := 1;
Button1.TabOrder := 5;
Game := TGroupBox.Create(frmDesign);
Game.Parent := frmDesign;
Game.Left := 34;
Game.Top := 248;
Game.Width := 185;
Game.Height := 139;
Game.Caption := 'Game Type';
Game.Color := clBtnFace;
Game.Font.Color := clBlack;
Game.Font.Height := -11;
Game.Font.Name := 'MS Sans Serif';
Game.Font.Style := [];
Game.ParentColor := False;
Game.ParentFont := False;
Game.TabOrder := 6;
RadioButton1 := TRadioButton.Create(Game);
RadioButton1.Parent := Game;
RadioButton1.OnClick:= @RadBut1;
RadioButton1.Left := 6;
RadioButton1.Top := 12;
RadioButton1.Width := 113;
RadioButton1.Height := 17;
RadioButton1.Caption := 'Endurance Game';
RadioButton1.TabOrder := 0;
RadioButton2 := TRadioButton.Create(Game);
RadioButton2.Parent := Game;
RadioButton2.OnClick:= @RadBut2;
RadioButton2.Left := 6;
RadioButton2.Top := 30;
RadioButton2.Width := 168;
RadioButton2.Height := 17;
RadioButton2.Caption := 'Hold Game (not already bought)';
RadioButton2.TabOrder := 1;
RadioButton3 := TRadioButton.Create(Game);
RadioButton3.Parent := Game;
RadioButton3.OnClick:= @RadBut3;
RadioButton3.Left := 6;
RadioButton3.Top := 48;
RadioButton3.Width := 167;
RadioButton3.Height := 17;
RadioButton3.Caption := 'Hold Game (already bought)';
RadioButton3.TabOrder := 2;
RadioButton4 := TRadioButton.Create(Game);
RadioButton4.Parent := Game;
RadioButton4.OnClick:= @RadBut4;
RadioButton4.Left := 6;
RadioButton4.Top := 66;
RadioButton4.Width := 175;
RadioButton4.Height := 17;
RadioButton4.Caption := 'Hurry Game (not already bought)';
RadioButton4.TabOrder := 3;
RadioButton5 := TRadioButton.Create(Game);
RadioButton5.Parent := Game;
RadioButton5.OnClick:= @RadBut5;
RadioButton5.Left := 6;
RadioButton5.Top := 84;
RadioButton5.Width := 171;
RadioButton5.Height := 17;
RadioButton5.Caption := 'Hurry Game (already bought)';
RadioButton5.TabOrder := 4;
RadioButton6 := TRadioButton.Create(Game);
RadioButton6.Parent := Game;
RadioButton6.OnClick:= @RadBut6;
RadioButton6.Left := 6;
RadioButton6.Top := 102;
RadioButton6.Width := 178;
RadioButton6.Height := 17;
RadioButton6.Caption := 'Reflex Game (not already bought)';
RadioButton6.TabOrder := 5;
RadioButton7 := TRadioButton.Create(Game);
RadioButton7.Parent := Game;
RadioButton7.OnClick:= @RadBut7;
RadioButton7.Left := 6;
RadioButton7.Top := 120;
RadioButton7.Width := 169;
RadioButton7.Height := 17;
RadioButton7.Caption := 'Reflex Game (already Bought)';
RadioButton7.TabOrder := 6;
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;
begin
SafeInitForm;
SafeShowFormModal;
end;
procedure RadBut1(sender: TObject);
begin
frmDesign.Caption:= frmDesign.Caption + '.';
begin
ActivateClient;
setupsrl;
Endurance;
Wait(30);
Startgame;
begin
MoveMouse(183,413);
ClickMouse(183,413,true);
end;
Wait(20);
repeat
Pokespaceendurance;
until(click = amount);
Wait(100);
Enternameendurance;
Wait(120);
Report;
end;
end;
procedure RadBut2(sender: TObject);
begin
frmDesign.Caption:= frmDesign.Caption + '.';
begin
ActivateClient;
setupsrl;
Endurance;
Wait(30);
Startgame;
begin
MoveMouse(183,413);
ClickMouse(183,413,true);
end;
Wait(20);
repeat
Pokespaceendurance;
until(click = holdpay);
Wait(300);
Gametomain;
Wait(60);
Starttomain;
Wait(500);
Shop;
Wait(1000);
Buyhold;
Wait(800);
Shoptomain;
Wait(100);
Hold;
Wait(100);
Startgame;
begin
MoveMouse(189,424);
ClickMouse(189,424,true);
end;
Wait(240);
Holdspace
Wait(150);
Enternameother;
Wait(80);
Report;
end;
end;
procedure RadBut3(sender: TObject);
begin
frmDesign.Caption:= frmDesign.Caption + '.';
begin
ActivateClient;
setupsrl;
Hold;
Wait(100);
Startgame;
begin
MoveMouse(189,424);
ClickMouse(189,424,true);
end;
Wait(240);
Holdspace
Wait(150);
Enternameother;
Wait(80);
Report;
end;
end;
procedure RadBut4(sender: TObject);
begin
frmDesign.Caption:= frmDesign.Caption + '.';
begin
ActivateClient;
setupsrl;
Endurance;
Wait(30);
Startgame;
begin
MoveMouse(183,413);
ClickMouse(183,413,true);
end;
Wait(250);
repeat
Pokespaceendurance;
until(click = hurrypay);
Wait(100);
Gametomain;
Wait(60);
Starttomain;
Wait(60);
Shop;
Wait(100);
Buyhurry;
Wait(200);
Shoptomain;
Wait(100);
Hurry
Wait(150)
Startgame;
begin
MoveMouse(177,423)
Wait(100);
ClickMouse(177,423,true);
end;
Wait(250);
repeat
Hurryspace;
until(click2 = maxhurry);
Wait(55000);
Enternameother;
Wait(80);
Report
end;
end;
procedure RadBut5(sender: TObject);
begin
frmDesign.Caption:= frmDesign.Caption + '.';
begin
ActivateClient;
setupsrl;
Hurry
Wait(150)
Startgame;
begin
MoveMouse(177,423)
Wait(100);
ClickMouse(177,423,true);
end;
Wait(250);
repeat
Hurryspace;
until(click2 = maxhurry)
Wait(55000);
Enternameother;
Wait(80);
Report
end;
end;
procedure RadBut6(sender: TObject);
begin
frmDesign.Caption:= frmDesign.Caption + '.';
begin
ActivateClient;
setupsrl;
Endurance;
Wait(30);
Startgame;
begin
MoveMouse(183,413);
ClickMouse(183,413,true);
end;
Wait(250);
repeat
Pokespaceendurance;
until(click = reflexpay);
Wait(100);
Gametomain;
Wait(60);
Starttomain;
Wait(60);
Shop;
Wait(100);
Buyreflex;
Wait(100);
Shoptomain;
Wait(100);
Reflex;
Wait(180);
Startgame;
begin
MoveMouse(177,423)
Wait(100);
ClickMouse(177,423,true);
end;
Wait(250);
repeat
Reflexclick;
until(refclick = 5);
Wait(150);
Enternameother;
Wait(80);
Report;
end;
end;
procedure RadBut7(sender: TObject);
begin
frmDesign.Caption:= frmDesign.Caption + '.';
begin
ActivateClient;
setupsrl;
Reflex;
Wait(180);
Startgame;
begin
MoveMouse(177,423)
Wait(100);
ClickMouse(177,423,true);
end;
Wait(250);
repeat
Reflexclick;
until(refclick = 5);
Wait(150);
Enternameother;
Wait(80);
Report;
end;
end.