SCAR Code:
program CannonWorker;
{.include SRL\SRL.SCAR}
{
//==================================\\
|| INFORMATION ||
|| INFORMATION ||
\\==================================//
||1: Make Sure You Are In An Area ||
||With Enough Room If You Want The ||
||Cannon To Be Set Up By The Script ||
|| ||
||2: Make Sure You Fill Out The ||
||Form Right, Fill Out Hp Stuff If ||
||Needed ||
|| ||
||3: Hit Run And Watch It Use A ||
||Cannon To Get You Range XP ||
|| || ||
||4: Information: ||
||Writer: Belgin Fish ||
||Function: Kills People With ||
||Cannon Anywere Getting You XP. ||
|| ||
||5: Have Cannon Balls In The First ||
||Inventory Spot. ||
|| ||
||6: No Eating In Script, Make Sure ||
||Your A High Enough Level! ||
\\==================================//}
var
Reloads: Integer;
FoodEaten: Integer;
Barrels, Stand, Furnace, Base:Integer;
const
SetUpCannon= False;// Want The Script To Set Up The Cannon Itself?
CannonColor= 6183000;//Color of the cannon your using.
procedure DeclarePlayers;
begin
HowManyPlayers := 3;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := 0;
Players[0].Name := 'UserName';
Players[0].Pass := 'PassWord';
Players[0].Nick := 'erNa'; // 2-4 letters of username
Players[0].Active := True;
Players[1].Name := 'UserName';
Players[1].Pass := 'PassWord';
Players[1].Nick := 'erNa'; // 2-4 letters of username
Players[1].Active := True;
Players[2].Name := 'UserName';
Players[2].Pass := 'PassWord';
Players[2].Nick := 'erNa'; // 2-4 letters of username
Players[2].Active := True;
end;
{-------------------------------}
{Performs Anti-Randoms. }
{-------------------------------}
procedure MyAntiRandoms;
begin
FindNormalRandoms;
SRLRandomsReport;
FindTalk;
if FindDead then
begin
WriteLn('O No Your Dead Sorry')
TerminateScript;
end;
end;
procedure LoadDTMS;
begin
Barrels := DTMFromString('78DA8D93CB0E82301045DB4414F1C94BB4A01' +
'2FE8DA5FFBF84991D7173CF24BDD3A4277DDCCEC42A84E06313F3' +
'FC0B8BE56863B188C92645F88BB851CB2F93A3603A9383605A934' +
'C30B5C94E302560AEE0ACB3C95E30BE9E0BA600FBE4C09F0CF8EC' +
'CC093017C0DC005302A6168CBFBB05FE3C80CF4FF0A709D48662E' +
'E80A900E3DEF482694C06D03B1FC1B87F5FD0CBA3601260067096' +
'DFF72D9811784898C9A403F751B5DA839A4FA07792EEC115BB6A0' +
'C45');
Furnace:= DTMFromString('78DA8DD4CB0E82301085E1E9AA22410402118' +
'BB78764EB7BBBD2999DB7E4FC93D092F0259D9996A6CECC06FB88' +
'75BDDBC3E7E4CFD323157F99EC2BD2DBE87398033033304761E2F' +
'B224CE47212266A3A0B33FA7011267A7813A6F5E12A4C03D6AA41' +
'CE15A83D831E66B0A7614660F6C0D4A0AE2DE84F254CE49285198' +
'089F3B3116606F914505701FD89B3D30813E7B405A6036BF5C22C' +
'BF77CBDFBAC8DD5284E9C13FB8D3FBF502BC580C71');
Stand := DTMFromString('78DA8D92C10E82301044B7898804142D68050' +
'5FD378EFCFF19666FC2C1994DFADAA42FDD74DA10CDEC6E9B9AA6' +
'D916CC016341850E8B93ED2AFC10F3032889D30017E2E4C093380' +
'5908853039138BE5F13E708F4C4F16C5EC4A98037713C9B51C890' +
'F54A82E377EA84374D42AF46E8C5721E808A385F20278E679C11C' +
'7333E10E7239CD38A39F7C27F667FE30CB4C4B9015721C3E2BFB3' +
'0214640AE2');
Base := DTMFromString('78DAAD94CD0E82301006B78982088805A4E2F' +
'F8B70F5EC4371F695B56BBCA0871D137B584232997EECD2BA5244' +
'1A99AC71BCBF9EEEFDEE7C2C73F9586ECAA86766304BE0C90093C' +
'692188C3A1606A37933B05761309AA502793CF0D480690113409E' +
'1E307BB0D711F4F004E67E36983C960BF80F2DA600CC0A3035C8D' +
'C02A603FDD1791E0C661BCB0E7802C8B3014C6330EA5803A604DF' +
'659DC11E9C77F5A4A03F0998A97547557FBA3373E0F1DF9EDB759' +
'0C7AF9903E84F677B9E073D0962');
end;
{-------------------------------}
{Performs FindFastRandoms } {By: WT-Fakawi)
{-------------------------------}
function FindFastRandoms: Boolean; // By WT-Fakawi.
var
i: Integer;
begin
for I := 1 to 10 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
8: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
9 : if RC then
Result := True;
10: if FindTalk then
Result := True;
end;
Wait(1);
end;
end;
{-------------------------------}
{Performs 2 Sets Of Randoms }
{-------------------------------}
procedure AllTheRandoms;
begin
MyAntiRandoms;
FindFastRandoms;
end;
{-------------------------------}
{Performs Anti-Ban. }
{-------------------------------}
procedure MyAntiBan;
begin
MyAntiRandoms;
FindFastRandoms;
Status('Performing Anti-Ban Actions');
case Random(28) + 1 of
1: HoverSkill('WoodCutting', False);
2: HoverSkill('FireMaking', False);
3: PickUpMouse;
4: AlmostLogout;
5: GameTab(6);
6: GameTab(4);
7: HoverSkill('Random', False);
8: DoEmote(6);
9: DoEmote(13)
10: PickUpMouse;
end;
AllTheRandoms;
end;
{-------------------------------}
{Prints Progress Report. }
{-------------------------------}
procedure PrintProgressReport;
begin
WriteLn('//==================================\\')
WriteLn('|| Progress Report ||')
WriteLn('|| Progress Report ||')
WriteLn('\\==================================//')
WriteLn('|| Belgin Fishes ||')
WriteLn('|| Anywere Cannon Functionner ||')
WriteLn('||__________________________________||')
WriteLn('|| Worked for : '+ (TimeRunning) +' ||')
WriteLn('|| Reloaded : ' + IntToStr(Reloads)+' Times ||')
WriteLn('|| Food Eaten : '+ IntToStr(FoodEaten)+' ||')
WriteLn('|| ||')
WriteLn('|| By: Belgin Fish ||')
WriteLn('\\==================================//')
SRLRandomsReport;
end;
{-------------------------------}
{ Loads The Cannon. }
{-------------------------------}
procedure LoadCannon;
var
i, x, y,cx, cy:Integer;
begin
MyAntiBan;
AllTheRandoms;
GameTab(4)
MMouseItem(1)
if IsUpTextMulti('Cannonball','annonb','nball') then
begin
MouseItem(1, True)
if(findcolorspiral(x,y,Cannoncolor,3,3,515,336)) Then
MMouse(x, y, 4, 4)
if IsUpTextMulti('Dwarf MultiCannon', 'warf', 'ultica') then
Mouse(x, y, 7, 7, true)
WriteLn('We Have Loaded Some Cannon Balls')
Reloads:=Reloads+1
Exit;
if (Not(IsUpTextMulti('Cannonball','annonb','nball'))) then
begin
WriteLn('The Cannon Balls Wernt In Inventory Slot 1, terminating script...')
TerminateScript;
end else
begin
repeat
if(findcolorspiral(x,y,Cannoncolor,3,3,515,336)) Then
MMouse(x, y, 4, 4)
if IsUpTextMulti('Dwarf MultiCannon', 'warf', 'ultica') then
exit;
Until(False)
end;
end;
end;
{-------------------------------}
{ Fires The Cannon. }
{-------------------------------}
procedure FireCannon;
var
cx, cy, x, y:Integer;
minCount: Integer;
begin
AllTheRandoms;
MyAntiBan;
begin
if(findcolorspiral(x,y,Cannoncolor,3,3,515,336)) Then
begin
MMouse(x, y, 5,5)
If isuptextmulti('Dwarf MultiCannon', 'warf', 'ultica') then
Mouse(x, y, 10, 10, false);
ChooseOption('Fire')
WriteLn('We Have Started Firing Cannon Balls...')
end else
begin
repeat
if(findcolorspiral(x,y,Cannoncolor,3,3,515,336)) Then
MMouse(x, y, 4, 4)
if IsUpTextMulti('Dwarf MultiCannon', 'warf', 'ultica') then
exit;
Until(False)
end;
end;
end;
procedure SetUpTheCannon;
var
x, y, cx, cy, xs, ys, xe, ye : Integer;
begin
if (SetUpCannon=true) then
begin
MyAntiBan;
AllTheRandoms;
if (FindDTM(Base, x, y, MIY1, MIX1, MIY2, MIX2)) then
begin
MMouse(x, y, 4, 4)
if IsUpTextMulti('Cannon', 'annon', ' Canno') then
begin
Mouse(x, y, 7, 7, True)
if FindText( cx, cy, 'Theres Not Enough Room', SmallChars, xs, ys, xe, ye) then
begin
writeln('How Stupis Are You? Theres Not Enough Room For A Cannon Here!')
TerminateScript;
end else
WriteLn('error setting up cannon, terminating')
TerminateScript;
end;
end;
end;
begin
if (FindDTM(Stand, x, y, MIY1, MIX1, MIY2, MIX2)) then
begin
MMouse(x, y, 4, 4)
if IsUpTextMulti('Cannon', 'annon', ' Canno') then
begin
Mouse(x, y, 7, 7, True)
FindObj(cx, cy, 'Cannon', CannonColor,50)
Mouse(x, y, 6, 6, true);
WriteLn('We Attched The Stand Correctly')
end else
WriteLn('error setting up cannon, terminating')
TerminateScript;
end;
end;
begin
if (FindDTM(barrels, x, y, MIY1, MIX1, MIY2, MIX2)) then
begin
MMouse(x, y, 4, 4)
if IsUpTextMulti('Cannon', 'annon', ' Canno') then
begin
Mouse(x, y, 7, 7, True);
FindObj(cx, cy, 'Cannon', CannonColor,50)
Mouse(x, y, 6, 6, true);
WriteLn('Attached The Barrels Successfuly continuing...')
end else
WriteLn('Error setting up cannon, terminating...')
TerminateScript;
end;
end;
begin
if (FindDTM(Furnace, x, y, MIY1, MIX1, MIY2, MIX2)) then
begin
MMouse(x, y, 4, 4)
if IsUpTextMulti('Cannon', 'annon', ' Canno') then
begin
Mouse(x, y, 7, 7, True)
FindObj(cx, cy, 'Cannon', CannonColor,50)
Mouse(x, y, 6, 6, true);
WriteLn('We Attached The Furnace Successfuly, we have made the cannon!')
end else
WriteLn('error setting up cannon, terminating Script...');
TerminateScript;
end;
end;
end;
begin
SetupSRL;
DeclarePlayers;
LoadDTMS;
if (Not(LoggedIn)) then
loginPlayer;
SetUpTheCannon;
repeat
LoadCannon;
wait(200+random(100))
FireCannon;
wait(7000+random(2000))
MMouse(200, 200, 300, 300)
wait(2000+random(6000))
PrintProgressReport;
until(false)
end.
SCAR Code:
program CannonWorker;
{.include SRL\SRL.SCAR}
{.include SRL/SRL/Skill/Fighting.scar}
{
//==================================\\
|| INFORMATION ||
|| INFORMATION ||
\\==================================//
||1: Make Sure You Are In An Area ||
||With Enough Room If You Want The ||
||Cannon To Be Set Up By The Script ||
|| ||
||2: Make Sure You Fill Out The ||
||Form Right, Fill Out Hp Stuff If ||
||Needed ||
|| ||
||3: Hit Run And Watch It Use A ||
||Cannon To Get You Range XP ||
|| || ||
||4: Information: ||
||Writer: Belgin Fish ||
||Function: Kills People With ||
||Cannon Anywere Getting You XP. ||
|| ||
||5: Have Cannon Balls In The First ||
||Inventory Spot. ||
|| ||
||6: No Eating In Script, Make Sure ||
||Your A High Enough Level! ||
\\==================================//}
var
Reloads: Integer;
FoodEaten: Integer;
Barrels, Stand, Furnace, Base:Integer;
NoFoodLeft : Boolean;
LevelUps: Integer;
const
SetUpCannon= False;// Want The Script To Set Up The Cannon Itself?
CannonColor= 6380122;//Color of the cannon your using.
HpLogout = 20;//What Hp To Logout At When U Have No Food Left. ( recomemded pretty high due to the fact it takes time to pick up cannon.
EatHp =40;//Hp level to eat at?
FoodColor = 3953515;//Color Of Food.
procedure DeclarePlayers;
begin
HowManyPlayers := 3;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := 0;
Players[0].Name := 'UserName';
Players[0].Pass := 'PassWord';
Players[0].Nick := 'erNa'; // 2-4 letters of username
Players[0].Active := True;
Players[1].Name := 'UserName';
Players[1].Pass := 'PassWord';
Players[1].Nick := 'erNa'; // 2-4 letters of username
Players[1].Active := True;
Players[2].Name := 'UserName';
Players[2].Pass := 'PassWord';
Players[2].Nick := 'erNa'; // 2-4 letters of username
Players[2].Active := True;
end;
{-------------------------------}
{Performs Anti-Randoms. }
{-------------------------------}
procedure MyAntiRandoms;
begin
FindNormalRandoms;
SRLRandomsReport;
FindTalk;
if FindDead then
begin
WriteLn('O No Your Dead Sorry')
TerminateScript;
end;
end;
procedure LoadDTMS;
begin
Barrels := DTMFromString('78DA8D93CB0E82301045DB4414F1C94BB4A01' +
'2FE8DA5FFBF84991D7173CF24BDD3A4277DDCCEC42A84E06313F3' +
'FC0B8BE56863B188C92645F88BB851CB2F93A3603A9383605A934' +
'C30B5C94E302560AEE0ACB3C95E30BE9E0BA600FBE4C09F0CF8EC' +
'CC093017C0DC005302A6168CBFBB05FE3C80CF4FF0A709D48662E' +
'E80A900E3DEF482694C06D03B1FC1B87F5FD0CBA3601260067096' +
'DFF72D9811784898C9A403F751B5DA839A4FA07792EEC115BB6A0' +
'C45');
Furnace:= DTMFromString('78DA8DD4CB0E82301085E1E9AA22410402118' +
'BB78764EB7BBBD2999DB7E4FC93D092F0259D9996A6CECC06FB88' +
'75BDDBC3E7E4CFD323157F99EC2BD2DBE87398033033304761E2F' +
'B224CE47212266A3A0B33FA7011267A7813A6F5E12A4C03D6AA41' +
'CE15A83D831E66B0A7614660F6C0D4A0AE2DE84F254CE49285198' +
'089F3B3116606F914505701FD89B3D30813E7B405A6036BF5C22C' +
'BF77CBDFBAC8DD5284E9C13FB8D3FBF502BC580C71');
Stand := DTMFromString('78DA8D92C10E82301044B7898804142D68050' +
'5FD378EFCFF19666FC2C1994DFADAA42FDD74DA10CDEC6E9B9AA6' +
'D916CC016341850E8B93ED2AFC10F3032889D30017E2E4C093380' +
'5908853039138BE5F13E708F4C4F16C5EC4A98037713C9B51C890' +
'F54A82E377EA84374D42AF46E8C5721E808A385F20278E679C11C' +
'7333E10E7239CD38A39F7C27F667FE30CB4C4B9015721C3E2BFB3' +
'0214640AE2');
Base := DTMFromString('78DAAD94CD0E82301006B78982088805A4E2F' +
'F8B70F5EC4371F695B56BBCA0871D137B584232997EECD2BA5244' +
'1A99AC71BCBF9EEEFDEE7C2C73F9586ECAA86766304BE0C90093C' +
'692188C3A1606A37933B05761309AA502793CF0D480690113409E' +
'1E307BB0D711F4F004E67E36983C960BF80F2DA600CC0A3035C8D' +
'C02A603FDD1791E0C661BCB0E7802C8B3014C6330EA5803A604DF' +
'659DC11E9C77F5A4A03F0998A97547557FBA3373E0F1DF9EDB759' +
'0C7AF9903E84F677B9E073D0962');
end;
{-------------------------------}
{Performs FindFastRandoms } {By: WT-Fakawi)
{-------------------------------}
function FindFastRandoms: Boolean; // By WT-Fakawi.
var
i: Integer;
begin
for I := 1 to 10 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
8: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
9 : if RC then
Result := True;
10: if FindTalk then
Result := True;
end;
Wait(1);
end;
end;
{-------------------------------}
{Performs 2 Sets Of Randoms }
{-------------------------------}
procedure AllTheRandoms;
begin
MyAntiRandoms;
FindFastRandoms;
end;
{-------------------------------}
{Performs Anti-Ban. }
{-------------------------------}
procedure MyAntiBan;
begin
MyAntiRandoms;
FindFastRandoms;
Status('Performing Anti-Ban Actions');
case Random(28) + 1 of
1: HoverSkill('WoodCutting', False);
2: HoverSkill('FireMaking', False);
3: PickUpMouse;
4: AlmostLogout;
5: GameTab(6);
6: GameTab(4);
7: HoverSkill('Random', False);
8: DoEmote(6);
9: DoEmote(13)
10: PickUpMouse;
end;
AllTheRandoms;
end;
{-------------------------------}
{Prints Progress Report. }
{-------------------------------}
procedure PrintProgressReport;
begin
WriteLn('//==================================\\')
WriteLn('|| Progress Report ||')
WriteLn('|| Progress Report ||')
WriteLn('\\==================================//')
WriteLn('|| Belgin Fishes ||')
WriteLn('|| Anywere Cannon Functionner ||')
WriteLn('||__________________________________||')
WriteLn('|| Worked for : '+ (TimeRunning) +' ||')
WriteLn('|| Reloaded : ' + IntToStr(Reloads)+' Times ||')
WriteLn('|| Food Eaten : '+ IntToStr(FoodEaten)+' ||')
WriteLn('|| Level Ups :' + IntToStr(LevelUps) +' ||')
WriteLn('|| By: Belgin Fish ||')
WriteLn('\\==================================//')
SRLRandomsReport;
end;
{-------------------------------}
{ Eats Food If Low HP. }
{-------------------------------}
procedure EatThatFood;
var
Tolerance, x, y, i:Integer;
begin
GameTab(2)
if GetHP>(EatHp) then
exit;
else
begin
GameTab(2)
if GetHP<(EatHp) then
begin
GameTab(4)
WriteLn('Attempting To Eat Food...')
begin
if (FindColorSpiralTolerance(x, y, foodcolor, 560, 210, 730, 460, 2)) then
MMouse(x + 2, y - 2, 6, 5)
if (IsUpText('Eat')) then
GetMousePos(x,y)
Mouse(x, y , 3, 3, true)
FoodEaten:=FoodEaten+1
begin
if (Not(FindColorSpiralTolerance(x, y, FoodColor, MIX1,MIY1,MIX2,MIY2, 50))) Then
NoFoodLeft:=true
end;
end;
end
end;
end;
{-------------------------------}
{ Logs On Low HP. }
{-------------------------------}
procedure LogOnLowHp;
var x, y, i:Integer;
begin
if NoFoodLeft then
begin
WriteLn('Were Almost Out Of Hp!');
GameTab(4)
if(findcolorspiral(x,y,Cannoncolor,3,3,515,336)) Then
begin
MMouse(x, y, 4, 4)
if IsUpTextMulti('Dwarf MultiCannon', 'warf', 'ultica') then
Mouse(x, y, 4, 4, false)
ChooseOption('Pick-up')
Logout;
WriteLn('logged out becaue of low hp, we might have picked o your cannon not totaly sure! XD')
terminateScript;
end else
WriteLn('Error Tryin To Get Cannon Sorry, You Can Go Pick It Up For Free At The Dwarfes On That Dwarf Mountain above fally, sorry about that')
end;
end;
{-------------------------------}
{ Loads The Cannon. }
{-------------------------------}
procedure LoadCannon;
var
i, x, y,cx, cy:Integer;
begin
MyAntiBan;
AllTheRandoms;
LogOnLowHp;
EatThatFood;
GameTab(4)
MMouseItem(1)
if IsUpTextMulti('Cannonball','annonb','nball') then
begin
MouseItem(1, True)
if(findcolorspiral(x,y,Cannoncolor,3,3,515,336)) Then
MMouse(x, y, 4, 4)
if IsUpTextMulti('Dwarf MultiCannon', 'warf', 'ultica') then
Mouse(x, y, 7, 7, true)
WriteLn('We Have Loaded Some Cannon Balls')
Reloads:=Reloads+1
Exit;
if (Not(IsUpTextMulti('Cannonball','annonb','nball'))) then
begin
WriteLn('The Cannon Balls Wernt In Inventory Slot 1, terminating script...')
LogOut;
TerminateScript;
end else
begin
repeat
if(findcolorspiral(x,y,Cannoncolor,3,3,515,336)) Then
MMouse(x, y, 4, 4)
if IsUpTextMulti('Dwarf MultiCannon', 'warf', 'ultica') then
exit;
Until(False)
end;
end;
end;
{-------------------------------}
{ Fires The Cannon. }
{-------------------------------}
procedure FireCannon;
var
cx, cy, x, y:Integer;
minCount: Integer;
begin
AllTheRandoms;
begin
if(findcolorspiral(x,y,Cannoncolor,3,3,515,336)) Then
begin
MMouse(x, y, 5,5)
If isuptextmulti('Dwarf MultiCannon', 'warf', 'ultica') then
Mouse(x, y, 10, 10, false);
ChooseOption('Fire')
WriteLn('We Have Started Firing Cannon Balls...')
EatThatFood;
LogOnLowHp;
ClickToContinue;
if ClickToContinue then
LevelUps:=LevelUps+1
end else
begin
repeat
if(findcolorspiral(x,y,Cannoncolor,3,3,515,336)) Then
MMouse(x, y, 4, 4)
if IsUpTextMulti('Dwarf MultiCannon', 'warf', 'ultica') then
exit;
Until(False)
end;
end;
end;
procedure SetUpTheCannon;
var
x, y, cx, cy, xs, ys, xe, ye : Integer;
begin
if (SetUpCannon=true) then
begin
MyAntiBan;
AllTheRandoms;
EatThatFood;
LogOnLowHp;
if (FindDTM(Base, x, y, MIY1, MIX1, MIY2, MIX2)) then
begin
MMouse(x, y, 4, 4)
if IsUpTextMulti('Cannon', 'annon', ' Canno') then
begin
Mouse(x, y, 7, 7, True)
if FindText( cx, cy, 'Theres Not Enough Room', SmallChars, xs, ys, xe, ye) then
begin
writeln('How Stupis Are You? Theres Not Enough Room For A Cannon Here!')
TerminateScript;
end else
WriteLn('error setting up cannon, terminating')
TerminateScript;
end;
end;
end;
begin
if (FindDTM(Stand, x, y, MIY1, MIX1, MIY2, MIX2)) then
begin
MMouse(x, y, 4, 4)
if IsUpTextMulti('Cannon', 'annon', ' Canno') then
begin
Mouse(x, y, 7, 7, True)
FindObj(cx, cy, 'Cannon', CannonColor,50)
Mouse(x, y, 6, 6, true);
WriteLn('We Attched The Stand Correctly')
end else
WriteLn('error setting up cannon, terminating')
TerminateScript;
end;
end;
begin
if (FindDTM(barrels, x, y, MIY1, MIX1, MIY2, MIX2)) then
begin
MMouse(x, y, 4, 4)
if IsUpTextMulti('Cannon', 'annon', ' Canno') then
begin
Mouse(x, y, 7, 7, True);
FindObj(cx, cy, 'Cannon', CannonColor,50)
Mouse(x, y, 6, 6, true);
WriteLn('Attached The Barrels Successfuly continuing...')
end else
WriteLn('Error setting up cannon, terminating...')
TerminateScript;
end;
end;
begin
if (FindDTM(Furnace, x, y, MIY1, MIX1, MIY2, MIX2)) then
begin
MMouse(x, y, 4, 4)
if IsUpTextMulti('Cannon', 'annon', ' Canno') then
begin
Mouse(x, y, 7, 7, True)
FindObj(cx, cy, 'Cannon', CannonColor,50)
Mouse(x, y, 6, 6, true);
WriteLn('We Attached The Furnace Successfuly, we have made the cannon!')
end else
WriteLn('error setting up cannon, terminating Script...');
TerminateScript;
end;
end;
end;
begin
SetupSRL;
DeclarePlayers;
LoadDTMS;
if (Not(LoggedIn)) then
loginPlayer;
SetChat('Friends', 1);
SetChat('off', 2);
SetChat('friends', 3);
SetUpTheCannon;
repeat
LoadCannon;
wait(200+random(100))
FireCannon;
wait(7000+random(2000))
MMouse(200, 200, 300, 300)
wait(2000+random(6000))
PrintProgressReport;
until(false)
end.