It's my first version and it works really slow,
but i want to show it u, just for feedback and
suggestions
Because i think its too long and i dont use arrays
so, here we go.
It's my first version and it works really slow,
but i want to show it u, just for feedback and
suggestions
Because i think its too long and i dont use arrays
so, here we go.
Wth is Puzzle Pirates Bilge?
I would test it for you, but i have no clue wht that is....
sorry...
Project: Welcome To Rainbow
http://www.puzzlepirates.com/
just click play, download the game.
make a character and when u are in the game,
click on "notice board", then missions,
and then "bilge with the navy" or "learn how to bilge"
More infos about the bilge puzzle:
http://yppedia.puzzlepirates.com/Bilging
Whats the chances of it being detected?
I would suggest looking into DDTM's as it would allow you to easily construct them and shorten the code a lot. Also, you don't need all the "Result := False"'s as Scar automatically sets them to False on call, so unless you set the result to true, it will stay false. Otherwise, it looks fairly promising and a shame I don't have Puzzle Pirates installed... or a character...
By reading this signature you agree that mixster is superior to you in each and every way except the bad ways but including the really bad ways.
ill try it right now, sorry for taking so long
booched everytime, moves a piece for no reason across the board. try that one clear thing by masquerader to edit it, just remember to credit him >.<
why did you include srl? it works without![]()
just no good![]()
help?Failed when compiling
Line 11: [Error] (14761:1): Duplicate identifier 'x' in script C:\Documents and Settings\wzz\Escritorio\PuzzlePiratesBilge.scar
JAGEX SOON OF B***H THEY BANNED MY MAIN
MMM LVL 96 with 17M Not baD? Lo0O0oL
http://r2.fodey.com/1d44f070dd82e403...7db33ad2.1.gif
http://www.fenjer.com/adnan/SRLStats/malakai.png
oh, lol, nice that u test my script. haha. After 2 months i just 'reanimate' this 'project'.
I dont know why do u have this problem, but dont mind.
I've created a better version, it bases on the bilge script, which was published by another guy of these forums, dont know his name :P
But here it is, try it
P.S: I was working on a script for the gunning puzzle, too. Maybe i will reanimate this script, too. we will see...
(I publish a version... buts its very buggy and cant be used, maybe, there is one, who would like to change it)
P.P.S: If u have Problems with the script, while its running (like it keeps clicking on one point, move ur mouse, maybe the problem will disappear), If it still keep clicking on the left top corner, u need to adjust the colors. Just comment out all procedure in the main loop ( + 'repeat' and 'until...'), but not 'LoadBoard'), in the LoadBoard-procedure u have to undo the comment out things... (man, my english rly sucks). After that, start the script, while playing the bilge puzzle. Now, u will see that in the scar windows appears some numbers (like 1,1:..., 2,2:....) the first numbers show the row and the second the column (so, "1,4:..." means: row 1, column 4) the numbers after the ':' mean the color value. Just replace the values with the color values in the LoadBoard procedure. (the first value stands for above the water and the second stands for under the water).
EDIT: ah, about the "Whats the chances of it being detected?"-Question: 'till now, i never was detected. But i think its really hard to detect, it just makes the same things like human would do, but without mistakes and with a constant speed (yeah, sometimes it reaches the 'incredible' status)
yeah, i meant this scriptyea, i should credit him. (A big SORRY to masquerader, but i never was thinking about to publish it)
Enjoy it![]()
Ice evil Maybe you should make a whole script?...Like trying to earn Poe.going on boats doing gunning,sword fighting(nub style :P),and even receiving the loot,that will be just great dude.
BTW,i don't think puzzle pirates has a macro detection system? no body uses macro's on that game,everyone pokers to the riches.
Yeah, when i have time to make a whole bot script(in some weeks or months, sry about that..)
How i do that the auto bilge and Gunning thing works?
yay!!! ill test quick :P
this is like an ausome script for puzzle pirates tyvm =)
the gunning script is just for some guys who wants to fix the bug (i dont find it)
i think it has to do with mouseclick or sth like that
@Zlaaterfizh what happens when u start the bilge script?
hey im new to this scar srl thing ok i downloaded iceevil's puzzlepirates.scar thing but now what do i do? i saved it in my doucments and then what do i do btw ius tht autobilge? ty
1. download and install Scar http://freddy1990.com/scar.php
2. double-click on my scar-script
3. start puzzle pirates, logon and start a bilge puzzle
4. (in scar) click on the cross hair symbol and drag it to the puzzle pirate window
5. Now click on the green arrow in scar ("Run Script")
It should be work.
If not, u have to install srl
http://www.villavu.com/forum/showthread.php?t=17890
Hopefully, i explained it right
do u mean the cirlce then a cross inside it for the step 4 if u do i done all dat but it keeps staying to the top and moveing the puzzles left and right?
wow ios working the first one not the better version the secound one wont work but the first one is ok but i keep getting fines no goods or anything else
the other script puzzlepirates.scar ye it does work but it just stays at one play an moves left right? anyone help me please and the first one is good but very slow and the pump only stays at orange or dark blue...
i did move the mouse to anthor point but still same things and how can i adjust the colors and what do i do to the colors thank for all ur help so far though![]()
try that, maybe it worksP.P.S: If u have Problems with the script, while its running (like it keeps clicking on one point, move ur mouse, maybe the problem will disappear), If it still keep clicking on the left top corner, u need to adjust the colors. Just comment out all procedure in the main loop ( + 'repeat' and 'until...'), but not 'LoadBoard'), in the LoadBoard-procedure u have to undo the comment out things... (man, my english rly sucks ). After that, start the script, while playing the bilge puzzle. Now, u will see that in the scar windows appears some numbers (like 1,1:..., 2,2:....) the first numbers show the row and the second the column (so, "1,4:..." means: row 1, column 4) the numbers after the ':' mean the color value. Just replace the values with the color values in the LoadBoard procedure. (the first value stands for above the water and the second stands for under the water).
ok i done tht move the mosue and stuff nope still wotn work and i have no idea what u mean by adjust color and how youve explained i just dotn get it i have added u on msna ddy btw so if u can help me der and like send me a pic of how it should be the colors and stuff.
yo i couldnt add u on sn for some reason so cna u tell me what to do ok this is my list on scar and it wont work so cna u tell me what to change and stuff pleawse thank you!
Program PuzzlePirates;
var
col, row: integer;
blocks: array[0..11] of array[0..5] of integer;
procedure LoadBoard;
var
color, block: integer;
begin
for row:= 0 to 11 do
begin
for col:= 0 to 5 do
begin
block := -4
color := getColor(114 + (45 * col), 93 + (45 * row));
if(color = 13674794) or (color = 11825425) then // *dark ball
block := 0;
if(color = 9013048) or (color = 9986838) then // *dark octagon
block := 1;
if(color = 16119269) or (color = 12816220) then // *bright ball
block := 2;
if(color = 16509837) or (color = 12946232) then // *bright octagon
block := 3;
if(color = 12837892) or (color = 11503618) then // *bright rectangle
block := 4;
if(color = 13195799) or (color = 11620617) then // *dark rectangle
block := 5;
if(color = 15449431) or (color = 12548387) then // *pentagon
block := 6;
if(color = 13944768) or (color = 11959629) then // *fish
block := -1;
if(color = 6368512) then // *crab
block := -2;
if(color = 7106560) or (color = 11952486) then // *jelly fish
block := -3;
if(block > -4) then
blocks[row][col]:= block;
//Writeln(inttostr(row + 1) + ', ' + inttostr(col+1) + ': ' +inttostr(color));
end;
end;
end;
function FindDoubleCombos():boolean;
var
x, y: integer;
foundsth, found: boolean;
begin
foundsth:= false;
for row:= 0 to 11 do
begin
for col:= 0 to 5 do
begin
found := false;
if(row < 10) and (col < 5) then
begin
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col+1]) and (blocks[row][col] = blocks[row+2][col+1])
and (blocks[row][col+1] = blocks[row+1][col]) and (blocks[row][col+1] = blocks[row+2][col]) then
begin //[]()
x := 120 + (45 * col); //()[]
y := 93 + (45 * row); //()[]
found := true;
end;
if not(found) and not(blocks[row+1][col] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row][col+1] = blocks[row+1][col]) and (blocks[row][col+1] = blocks[row+2][col+1])
and (blocks[row][col] = blocks[row+1][col+1]) and (blocks[row][col] = blocks[row+2][col]) then
begin //()[]
x := 120 + (45 * col); //[]()
y := 93 + (45 * (row + 1)); //()[]
found := true;
end;
if not(found) and not(blocks[row+2][col] = -2) and not(blocks[row+2][col+1] = -2)
and (blocks[row][col+1] = blocks[row+1][col+1]) and (blocks[row][col+1] = blocks[row+2][col])
and (blocks[row][col] = blocks[row+1][col]) and (blocks[row][col] = blocks[row+2][col+1]) then
begin //()[]
x := 120 + (45 * col); //()[]
y := 93 + (45 * (row + 2)); //[]()
found := true;
end;
end;
if(row < 9) and (col < 5) then
begin
if not(found) and not(blocks[row+2][col] = -2) and not(blocks[row+2][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col]) and (blocks[row][col] = blocks[row+2][col+1])
and (blocks[row+1][col+1] = blocks[row+2][col]) and (blocks[row+1][col+1] = blocks[row+3][col+1]) then
begin //[]
x := 120 + (45 * col); //[]()
y := 93 + (45 * (row + 2)); //()[]
found := true; // ()
end;
if not(found) and not(blocks[row+1][col] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row][col+1] = blocks[row+1][col]) and (blocks[row][col+1] = blocks[row+2][col+1])
and (blocks[row+1][col+1] = blocks[row+2][col]) and (blocks[row+1][col+1] = blocks[row+3][col]) then
begin // []
x := 120 + (45 * col); //[]()
y := 93 + (45 * (row + 1)); //()[]
found := true; //()
end;
if not(found) and not(blocks[row+1][col] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col+1]) and (blocks[row][col] = blocks[row+2][col])
and (blocks[row+1][col] = blocks[row+2][col+1]) and (blocks[row+1][col] = blocks[row+3][col+1]) then
begin //[]
x := 120 + (45 * col); //()[]
y := 93 + (45 * (row + 1)); //[]()
found := true; // ()
end;
if not(found) and not(blocks[row+2][col] = -2) and not(blocks[row+2][col+1] = -2)
and (blocks[row][col+1] = blocks[row+1][col+1]) and (blocks[row][col+1] = blocks[row+2][col])
and (blocks[row+1][col] = blocks[row+2][col+1]) and (blocks[row+1][col] = blocks[row+3][col]) then
begin // []
x := 120 + (45 * col); //()[]
y := 93 + (45 * (row + 2)); //[]()
found := true; //()
end;
end;
if(row < 8) and (col < 5) then
begin
if not(found) and not(blocks[row+2][col] = -2) and not(blocks[row+2][col+1] = -2)
and (blocks[row][col+1] = blocks[row+1][col+1]) and (blocks[row][col+1] = blocks[row+2][col])
and (blocks[row+2][col+1] = blocks[row+3][col]) and (blocks[row+2][col+1] = blocks[row+4][col]) then
begin // []
x := 120 + (45 * col); // []
y := 93 + (45 * (row + 2)); //[]()
found := true; //()
end; //()
if not(found) and not(blocks[row+2][col] = -2) and not(blocks[row+2][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col]) and (blocks[row][col] = blocks[row+2][col+1])
and (blocks[row+2][col] = blocks[row+3][col+1]) and (blocks[row+2][col] = blocks[row+4][col+1]) then
begin //[]
x := 120 + (45 * col); //[]
y := 93 + (45 * (row + 2)); //()[]
found := true; // ()
end; // ()
end;
if(col < 1) then
begin
if not(found) and not(blocks[row][col+2] = -2) and not(blocks[row][col+3] = -2)
and (blocks[row][col] = blocks[row][col+1]) and (blocks[row][col] = blocks[row][col+3])
and (blocks[row][col+2] = blocks[row][col+4]) and (blocks[row][col+2] = blocks[row][col+5]) then
begin //()()[]()[][]
x := 120 + (45 * (col + 2));
y := 93 + (45 * row);
found := true;
end;
end;
if(col < 3) and (row < 10) then
begin
if not(found) and not(blocks[row+1][col+2] = -2) and not(blocks[row+1][col+3] = -2)
and (blocks[row+1][col] = blocks[row+1][col+1]) and (blocks[row+1][col] = blocks[row+1][col+3])
and (blocks[row][col+3] = blocks[row+1][col+2]) and (blocks[row][col+3] = blocks[row+2][col+3]) then
begin // ()
x := 120 + (45 * (col + 2)); //[][]()[]
y := 93 + (45 * (row + 1)); // ()
found := true;
end;
if not(found) and not(blocks[row+1][col] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col+1]) and (blocks[row][col] = blocks[row+2][col])
and (blocks[row+1][col] = blocks[row+1][col+2]) and (blocks[row+1][col] = blocks[row+1][col+3]) then
begin //()
x := 120 + (45 * col); //[]()[][]
y := 93 + (45 * (row + 1)); //()
found := true;
end;
if not(found) and not(blocks[row+2][col] = -2) and not(blocks[row+2][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col]) and (blocks[row][col] = blocks[row+2][col+1])
and (blocks[row+2][col] = blocks[row+2][col+2]) and (blocks[row+2][col] = blocks[row+2][col+3]) then
begin //()
x := 120 + (45 * col); //()
y := 93 + (45 * (row + 2)); //[]()[][]
found := true;
end;
if not(found) and not(blocks[row][col+2] = -2) and not(blocks[row][col+3] = -2)
and (blocks[row][col] = blocks[row][col+1]) and (blocks[row][col] = blocks[row][col+3])
and (blocks[row][col+2] = blocks[row+1][col+3]) and (blocks[row][col+2] = blocks[row+2][col+3]) then
begin //[][]()[]
x := 120 + (45 * (col + 2)); // ()
y := 93 + (45 * row); // ()
found := true;
end;
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row][col+2]) and (blocks[row][col] = blocks[row][col+3])
and (blocks[row][col+1] = blocks[row+1][col]) and (blocks[row][col+1] = blocks[row+2][col]) then
begin //[]()[][]
x := 120 + (45 * col); //()
y := 93 + (45 * row); //()
found := true;
end;
if not(found) and not(blocks[row+2][col+2] = -2) and not(blocks[row+2][col+3] = -2)
and (blocks[row][col+3] = blocks[row+1][col+3]) and (blocks[row][col+3] = blocks[row+2][col+2])
and (blocks[row+2][col] = blocks[row+2][col+1]) and (blocks[row+2][col] = blocks[row+2][col+3]) then
begin // ()
x := 120 + (45 * (col + 2)); // ()
y := 93 + (45 * (row + 2)); //[][]()[]
found := true;
end;
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row][col+2]) and (blocks[row][col] = blocks[row][col+3])
and (blocks[row][col] = blocks[row+1][col+1]) and (blocks[row][col] = blocks[row+2][col+1]) then
begin //[] [][]
x := 120 + (45 * col); // []
y := 93 + (45 * row); // []
found := true;
end;
if not(found) and not(blocks[row+1][col] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row+1][col] = blocks[row][col+1]) and (blocks[row+1][col] = blocks[row+1][col+2])
and (blocks[row+1][col] = blocks[row+1][col+3]) and (blocks[row+1][col] = blocks[row+2][col+1]) then
begin // []
x := 120 + (45 * col); //[] [][]
y := 93 + (45 * (row + 1)); // []
found := true;
end;
if not(found) and not(blocks[row+2][col] = -2) and not(blocks[row+2][col+1] = -2)
and (blocks[row][col+1] = blocks[row+1][col+1]) and (blocks[row][col+1] = blocks[row+2][col])
and (blocks[row][col+1] = blocks[row+2][col+2]) and (blocks[row][col+1] = blocks[row+2][col+3]) then
begin // []
x := 120 + (45 * col); // []
y := 93 + (45 * (row + 2)); //[] [][]
found := true;
end;
end;
if(found) then
begin
ClickMouse(x, y, true);
Wait(500);
LoadBoard;
foundsth:= true;
end;
end;
end;
if(foundsth) then
begin
result:= true;
end else
result:= false;
end;
function Find4Combos():boolean;
var
x, y: integer;
foundsth, found: boolean;
begin
foundsth:= false;
for row:= 0 to 11 do
begin
for col:= 0 to 5 do
begin
found:= false;
if(col < 5) then
begin
if not(found) and not(blocks[row][col+1] = -2)
and not((blocks[row][col+1] = -1) or (blocks[row][col+1] = -3))
and ((blocks[row][col] = -1) or (blocks[row][col] = -3)) then
begin
x := 120 + (45 * col);
y := 93 + (45 * row);
found:= true;
end;
end else
if not(found) and not(blocks[row][col-1] = -2)
and not((blocks[row][col-1] = -1) or (blocks[row][col-1] = -3))
and ((blocks[row][col] = -1) or (blocks[row][col] = -3)) then
begin
x := 80 + (45 * col);
y := 93 + (45 * row);
found := true;
end;
if(row < 9) and (col < 5) then
begin
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col]) and (blocks[row][col] = blocks[row+2][col+1])
and (blocks[row][col] = blocks[row+3][col+1]) and not(blocks[row][col] = blocks[row][col+1])then
begin //[]
x := 120 + (45 * col); //[]
y := 93 + (45 * row); // []
found := true; // []
end;
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col+1] = blocks[row+1][col]) and (blocks[row][col+1] = blocks[row+2][col+1])
and (blocks[row][col+1] = blocks[row+3][col]) and not(blocks[row][col] = blocks[row][col+1])then
begin // []
x := 80 + (45 * (col+1)); //[]
y := 93 + (45 * row); // []
found := true; //[]
end;
if not(found) and not(blocks[row][col+1] = -2) and not(blocks[row][col] = -2)
and (blocks[row][col+1] = blocks[row+1][col+1]) and (blocks[row][col+1] = blocks[row+2][col])
and (blocks[row][col+1] = blocks[row+3][col]) and not(blocks[row][col] = blocks[row][col+1])then
begin // []
x := 80 + (45 * (col+1)); // []
y := 93 + (45 * row); //[]
found := true; //[]
end;
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col+1]) and (blocks[row][col] = blocks[row+2][col])
and (blocks[row][col] = blocks[row+3][col+1]) and not(blocks[row][col] = blocks[row][col+1])then
begin //[]
x := 120 + (45 * col); // []
y := 93 + (45 * row); //[]
found := true; // []
end;
end;
if(row < 9) and (col < 4) then
begin
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col+2] = blocks[row+1][col]) and (blocks[row][col+2] = blocks[row+2][col+1])
and (blocks[row][col+2] = blocks[row+3][col+1]) and not(blocks[row][col+1] = blocks[row][col+2])then
begin // []
x := 80 + (45 * (col+2)); //[]
y := 93 + (45 * row); // []
found := true; // []
end;
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col+1]) and (blocks[row][col] = blocks[row+2][col+2])
and (blocks[row][col] = blocks[row+3][col+1]) and not(blocks[row][col] = blocks[row][col+1])then
begin //[]
x := 120 + (45 * col); // []
y := 93 + (45 * row); // []
found := true; // []
end;
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col+2] = blocks[row+1][col+1]) and (blocks[row][col+2] = blocks[row+2][col])
and (blocks[row][col] = blocks[row+3][col+1]) and not(blocks[row][col+1] = blocks[row][col+2])then
begin // []
x := 80 + (45 * (col+2)); // []
y := 93 + (45 * row); //[]
found := true; // []
end;
if not(found) and not(blocks[row+3][col+2] = -2) and not(blocks[row+3][col+1] = -2)
and (blocks[row][col+1] = blocks[row+1][col]) and (blocks[row][col+1] = blocks[row+2][col+1])
and (blocks[row][col+1] = blocks[row+3][col+2]) and not(blocks[row+3][col+2] = blocks[row+3][col+1])then
begin // []
x := 80 + (45 * (col+2)); //[]
y := 93 + (45 * (row+3)); // []
found := true; // []
end;
if not(found) and not(blocks[row+3][col] = -2) and not(blocks[row+3][col+1] = -2)
and (blocks[row][col+1] = blocks[row+1][col+2]) and (blocks[row][col+1] = blocks[row+2][col+1])
and (blocks[row][col+1] = blocks[row+3][col]) and not(blocks[row+3][col] = blocks[row+3][col+1])then
begin // []
x := 120 + (45 * col); // []
y := 93 + (45 * (row+3)); // []
found := true; //[]
end;
end;
if(found) then
begin
ClickMouse(x, y, true);
Wait(500);
LoadBoard;
foundsth:= true;
end;
end;
end;
if(foundsth) then
begin
result:= true;
end else
result:= false;
end;
function FindCombos():boolean;
var
x, y: integer;
foundsth, found: boolean;
begin
foundsth:= false;
for row:= 0 to 11 do
begin
for col:= 0 to 5 do
begin
found:= false;
if(col < 5) then
begin
if not(found) and not(blocks[row][col+1] = -2)
and not((blocks[row][col+1] = -1) or (blocks[row][col+1] = -3))
and ((blocks[row][col] = -1) or (blocks[row][col] = -3)) then
begin
x := 120 + (45 * col);
y := 93 + (45 * row);
found:= true;
end;
end else
if not(found) and not(blocks[row][col-1] = -2)
and not((blocks[row][col-1] = -1) or (blocks[row][col-1] = -3))
and ((blocks[row][col] = -1) or (blocks[row][col] = -3)) then
begin
x := 80 + (45 * col);
y := 93 + (45 * row);
found := true;
end;
if(row < 10) and (col < 5) then
begin
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col+1]) and (blocks[row][col] = blocks[row+2][col+1]) then
begin //[]
x := 120 + (45 * col); // []
y := 93 + (45 * row); // []
found := true;
end;
if not(found) and not(blocks[row+1][col] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row][col+1] = blocks[row+1][col]) and (blocks[row][col+1] = blocks[row+2][col+1]) then
begin // []
x := 120 + (45 * col); //[]
y := 93 + (45 * (row + 1)); // []
found := true;
end;
if not(found) and not(blocks[row+2][col] = -2) and not(blocks[row+2][col+1] = -2)
and (blocks[row][col+1] = blocks[row+1][col+1]) and (blocks[row][col+1] = blocks[row+2][col]) then
begin // []
x := 120 + (45 * col); // []
y := 93 + (45 * (row + 2)); //[]
found := true;
end;
if not(found) and not(blocks[row][col+1] = -2) and not(blocks[row][col] = -2)
and (blocks[row][col+1] = blocks[row+1][col]) and (blocks[row][col+1] = blocks[row+2][col]) then
begin // []
x := 80 + (45 * (col + 1)); //[]
y := 93 + (45 * row); //[]
found := true;
end;
if not(found) and not(blocks[row+1][col+1] = -2) and not(blocks[row+1][col] = -2)
and (blocks[row][col] = blocks[row+1][col+1]) and (blocks[row][col] = blocks[row+2][col]) then
begin //[]
x := 80 + (45 * (col + 1)); // []
y := 93 + (45 * (row + 1)); //[]
found := true;
end;
if not(found) and not(blocks[row+2][col+1] = -2) and not(blocks[row+2][col] = -2)
and (blocks[row][col] = blocks[row+1][col]) and (blocks[row][col] = blocks[row+2][col+1]) then
begin //[]
x := 80 + (45 * (col + 1)); //[]
y := 93 + (45 * (row + 2)); // []
found := true;
end;
end;
if(col < 3) then
begin
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row][col+2]) and (blocks[row][col] = blocks[row][col+3]) then
begin //[] [][]
x := 120 + (45 * col);
y := 93 + (45 * row);
found := true;
end;
if not(found) and not(blocks[row][col+3] = -2) and not(blocks[row][col+2] = -2)
and (blocks[row][col] = blocks[row][col+1]) and (blocks[row][col] = blocks[row][col+3]) then
begin //[][] []
x := 80 + (45 * (col + 3));
y := 93 + (45 * row);
found := true;
end;
end;
if(found) then
begin
ClickMouse(x, y, true);
Wait(500);
LoadBoard;
foundsth:= true;
end;
end;
end;
if(foundsth) then
begin
result:= true;
end else
result:= false;
end;
function FindCombos2movesa():boolean;
var
x, y: integer;
foundsth, found: boolean;
begin
foundsth:= false;
for row:= 0 to 11 do
begin
for col:= 0 to 5 do
begin
found := false;
if(row < 10) and (col < 4) then
begin
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col+2]) and (blocks[row][col] = blocks[row+2][col+2]) then
begin //[]
x := 120 + (45 * col); // []
y := 93 + (45 * row); // []
found := true;
end;
if not(found) and not(blocks[row+1][col] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row][col+2] = blocks[row+1][col]) and (blocks[row][col+2] = blocks[row+2][col+2]) then
begin // []
x := 120 + (45 * col); //[]
y := 93 + (45 * (row + 1)); // []
found := true;
end;
if not(found) and not(blocks[row+2][col] = -2) and not(blocks[row+2][col+1] = -2)
and not(blocks[row+2][col] = blocks[row+2][col+1])
and (blocks[row][col+2] = blocks[row+1][col+2]) and (blocks[row][col+2] = blocks[row+2][col]) then
begin // []
x := 120 + (45 * col); // []
y := 93 + (45 * (row + 2)); //[]
found := true;
end;
if not(found) and not(blocks[row][col+2] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col+2] = blocks[row+1][col]) and (blocks[row][col+2] = blocks[row+2][col]) then
begin // []
x := 80 + (45 * (col + 2)); //[]
y := 93 + (45 * row); //[]
found := true;
end;
if not(found) and not(blocks[row+1][col+2] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col+2]) and (blocks[row][col] = blocks[row+2][col]) then
begin //[]
x := 80 + (45 * (col + 2)); // []
y := 93 + (45 * (row + 1)); //[]
found := true;
end;
if not(found) and not(blocks[row+2][col+2] = -2) and not(blocks[row+2][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col]) and (blocks[row][col] = blocks[row+2][col+2]) then
begin //[]
x := 80 + (45 * (col + 2)); //[]
y := 93 + (45 * (row + 2)); // []
found := true;
end;
end;
if(col < 2) then
begin
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row][col+3]) and (blocks[row][col] = blocks[row][col+4]) then
begin //[] [][]
x := 120 + (45 * col);
y := 93 + (45 * row);
found := true;
end;
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row][col+2]) and (blocks[row][col] = blocks[row][col+4]) then
begin //[] [] []
x := 120 + (45 * col);
y := 93 + (45 * row);
found := true;
end;
if not(found) and not(blocks[row][col+4] = -2) and not(blocks[row][col+3] = -2)
and (blocks[row][col] = blocks[row][col+1]) and (blocks[row][col] = blocks[row][col+4]) then
begin //[][] []
x := 80 + (45 * (col + 4));
y := 93 + (45 * row);
found := true;
end;
end;
if(found) then
begin
ClickMouse(x, y, true);
Wait(500);
LoadBoard;
foundsth:= true;
end;
end;
end;
if(foundsth) then
begin
result:= true;
end else
result:= false;
end;
function FindCombos2movesb():boolean;
var
x, y: integer;
foundsth, found: boolean;
begin
foundsth:= false;
for row:= 0 to 11 do
begin
for col:= 0 to 5 do
begin
found := false;
if(col < 4) and (row < 10) then
begin
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col+1]) and (blocks[row][col] = blocks[row+2][col+2]) then
begin //[]
x := 120 + (45 * col); // []
y := 93 + (45 * row); // []
found := true;
end;
if not(found) and not(blocks[row][col+2] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col+2] = blocks[row+1][col+1]) and (blocks[row][col+2] = blocks[row+2][col]) then
begin // []
x := 80 + (45 * (col+2)); // []
y := 93 + (45 * row); //[]
found := true;
end;
if not(found) and not(blocks[row+1][col] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row][col+1] = blocks[row+1][col]) and (blocks[row][col+1] = blocks[row+2][col+2]) then
begin // []
x := 120 + (45 * col); //[]
y := 93 + (45 * (row+1)); // []
found := true;
end;
if not(found) and not(blocks[row+1][col+2] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row][col+1] = blocks[row+1][col+2]) and (blocks[row][col+1] = blocks[row+2][col]) then
begin // []
x := 80 + (45 * (col+2)); // []
y := 93 + (45 * (row+1)); //[]
found := true;
end;
if not(found) and not(blocks[row+1][col+2] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col+2]) and (blocks[row][col] = blocks[row+2][col+1]) then
begin //[]
x := 80 + (45 * (col+2)); // []
y := 93 + (45 * (row+1)); // []
found := true;
end;
if not(found) and not(blocks[row+1][col] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row][col+2] = blocks[row+1][col]) and (blocks[row][col+2] = blocks[row+2][col+1]) then
begin // []
x := 120 + (45 * col); //[]
y := 93 + (45 * (row+1)); // []
found := true;
end;
end;
if(found) then
begin
ClickMouse(x, y, true);
Wait(500);
LoadBoard;
foundsth:= true;
end;
end;
end;
if(foundsth) then
begin
result:= true;
end else
result:= false;
end;
function FindCombos3movesa():boolean;
var
x, y: integer;
foundsth, found: boolean;
begin
foundsth:= false;
for row:= 0 to 11 do
begin
for col:= 0 to 5 do
begin
found := false;
if(row < 10) and (col < 3) then
begin
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col+3]) and (blocks[row][col] = blocks[row+2][col+3]) then
begin //[]
x := 120 + (45 * col); // []
y := 93 + (45 * row); // []
found := true;
end;
if not(found) and not(blocks[row+1][col] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row][col+3] = blocks[row+1][col]) and (blocks[row][col+3] = blocks[row+2][col+3]) then
begin // []
x := 120 + (45 * col); //[]
y := 93 + (45 * (row + 1)); // []
found := true;
end;
if not(found) and not(blocks[row+2][col] = -2) and not(blocks[row+2][col+1] = -2)
and (blocks[row][col+3] = blocks[row+1][col+3]) and (blocks[row][col+3] = blocks[row+2][col]) then
begin // []
x := 120 + (45 * col); // []
y := 93 + (45 * (row + 2)); //[]
found := true;
end;
if not(found) and not(blocks[row][col+3] = -2) and not(blocks[row][col+2] = -2)
and (blocks[row][col+3] = blocks[row+1][col]) and (blocks[row][col+3] = blocks[row+2][col]) then
begin // []
x := 80 + (45 * (col + 3)); //[]
y := 93 + (45 * row); //[]
found := true;
end;
if not(found) and not(blocks[row+1][col+3] = -2) and not(blocks[row+1][col+2] = -2)
and (blocks[row][col] = blocks[row+1][col+3]) and (blocks[row][col] = blocks[row+2][col]) then
begin //[]
x := 80 + (45 * (col + 2)); // []
y := 93 + (45 * (row + 1)); //[]
found := true;
end;
if not(found) and not(blocks[row+2][col+3] = -2) and not(blocks[row+2][col+2] = -2)
and (blocks[row][col] = blocks[row+1][col]) and (blocks[row][col] = blocks[row+2][col+3]) then
begin //[]
x := 80 + (45 * (col + 3)); //[]
y := 93 + (45 * (row + 2)); // []
found := true;
end;
end;
if(col < 1) then
begin
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row][col+4]) and (blocks[row][col] = blocks[row][col+5]) then
begin //[] [][]
x := 120 + (45 * col);
y := 93 + (45 * row);
found := true;
end;
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row][col+3]) and (blocks[row][col] = blocks[row][col+5]) then
begin //[] [] []
x := 120 + (45 * col);
y := 93 + (45 * row);
found := true;
end;
if not(found) and not(blocks[row][col+5] = -2) and not(blocks[row][col+4] = -2)
and (blocks[row][col] = blocks[row][col+2]) and (blocks[row][col] = blocks[row][col+5]) then
begin //[] [] []
x := 80 + (45 * (col+5));
y := 93 + (45 * row);
found := true;
end;
if not(found) and not(blocks[row][col+5] = -2) and not(blocks[row][col+4] = -2)
and (blocks[row][col] = blocks[row][col+1]) and (blocks[row][col] = blocks[row][col+5]) then
begin //[][] []
x := 80 + (45 * (col + 5));
y := 93 + (45 * row);
found := true;
end;
end;
if(found) then
begin
ClickMouse(x, y, true);
Wait(500);
LoadBoard;
foundsth:= true;
end;
end;
end;
if(foundsth) then
begin
result:= true;
end else
result:= false;
end;
function FindCombos3movesb():boolean;
var
x, y: integer;
foundsth, found: boolean;
begin
foundsth:= false;
for row:= 0 to 11 do
begin
for col:= 0 to 5 do
begin
found := false;
if(col < 3) and (row < 10) then
begin
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col+2]) and (blocks[row][col] = blocks[row+2][col+3]) then
begin //[]
x := 120 + (45 * col); // []
y := 93 + (45 * row); // []
found := true;
end;
if not(found) and not(blocks[row][col+2] = -2) and not(blocks[row][col+3] = -2)
and (blocks[row][col+3] = blocks[row+1][col+1]) and (blocks[row][col+2] = blocks[row+2][col]) then
begin // []
x := 80 + (45 * (col+3)); // []
y := 93 + (45 * row); //[]
found := true;
end;
if not(found) and not(blocks[row+2][col+2] = -2) and not(blocks[row+2][col+3] = -2)
and (blocks[row][col+1] = blocks[row+1][col]) and (blocks[row][col+1] = blocks[row+2][col+3]) then
begin // []
x := 80 + (45 * (col+3)); //[]
y := 93 + (45 * (row+1)); // []
found := true;
end;
if not(found) and not(blocks[row+2][col] = -2) and not(blocks[row+2][col+1] = -2)
and (blocks[row][col+2] = blocks[row+1][col+3]) and (blocks[row][col+2] = blocks[row+2][col]) then
begin // []
x := 120 + (45 * col); // []
y := 93 + (45 * (row+2)); //[]
found := true;
end;
if not(found) and not(blocks[row][col] = -2) and not(blocks[row][col+1] = -2)
and (blocks[row][col] = blocks[row+1][col+3]) and (blocks[row][col] = blocks[row+2][col+2]) then
begin //[]
x := 120 + (45 * col); // []
y := 93 + (45 * row); // []
found := true;
end;
if not(found) and not(blocks[row][col+3] = -2) and not(blocks[row][col+2] = -2)
and (blocks[row][col+3] = blocks[row+1][col]) and (blocks[row][col+3] = blocks[row+2][col+1]) then
begin // []
x := 80 + (45 * (col+3)); //[]
y := 93 + (45 * row); // []
found := true;
end;
if not(found) and not(blocks[row+1][col] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row][col+2] = blocks[row+1][col]) and (blocks[row][col+2] = blocks[row+2][col+3]) then
begin // []
x := 120 + (45 * col); //[]
y := 93 + (45 * (row+1)); // []
found := true;
end;
if not(found) and not(blocks[row+1][col+3] = -2) and not(blocks[row+1][col+2] = -2)
and (blocks[row][col+1] = blocks[row+1][col+3]) and (blocks[row][col+1] = blocks[row+2][col]) then
begin // []
x := 80 + (45 * (col+3)); // []
y := 93 + (45 * (row+1)); //[]
found := true;
end;
if not(found) and not(blocks[row+1][col+3] = -2) and not(blocks[row+1][col+2] = -2)
and (blocks[row][col] = blocks[row+1][col+3]) and (blocks[row][col] = blocks[row+2][col+1]) then
begin //[]
x := 80 + (45 * (col+3)); // []
y := 93 + (45 * (row+1)); // []
found := true;
end;
if not(found) and not(blocks[row+1][col] = -2) and not(blocks[row+1][col+1] = -2)
and (blocks[row][col+3] = blocks[row+1][col]) and (blocks[row][col+3] = blocks[row+2][col+2]) then
begin // []
x := 120 + (45 * col); //[]
y := 93 + (45 * (row+1)); // []
found := true;
end;
end;
if(found) then
begin
ClickMouse(x, y, true);
Wait(500);
LoadBoard;
foundsth:= true;
end;
end;
end;
if(foundsth) then
begin
result:= true;
end else
result:= false;
end;
begin
ActivateClient;
repeat
LoadBoard;
if(FindDoubleCombos) then
begin
end else
begin
Find4Combos;
if(FindCombos) then
begin
end else
if(FindCombos2movesa) then
begin
end else
if(FindCombos2movesb) then
begin
end else
if(FindCombos3movesa) then
begin
end else
FindCombos3movesb;
end;
until(iskeydown('s'));
end.
There are currently 1 users browsing this thread. (0 members and 1 guests)