Page 1 of 11 123 ... LastLast
Results 1 to 25 of 268

Thread: Puzzle Pirates Bilgepuzzle Solver

  1. #1
    Join Date
    Apr 2008
    Posts
    67
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Puzzle Pirates Bilgepuzzle Solver

    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.

  2. #2
    Join Date
    Dec 2007
    Location
    Wizzup?'s boat
    Posts
    1,013
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Wth is Puzzle Pirates Bilge?
    I would test it for you, but i have no clue wht that is....

    sorry...
    Project: Welcome To Rainbow

  3. #3
    Join Date
    Apr 2008
    Posts
    67
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    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

  4. #4
    Join Date
    May 2008
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Whats the chances of it being detected?

  5. #5
    Join Date
    Jun 2007
    Location
    Wednesday
    Posts
    2,446
    Mentioned
    3 Post(s)
    Quoted
    1 Post(s)

    Default

    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.

  6. #6
    Join Date
    May 2007
    Posts
    53
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    ill try it right now, sorry for taking so long

  7. #7
    Join Date
    May 2007
    Posts
    53
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    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 >.<

  8. #8
    Join Date
    Jan 2007
    Posts
    8,876
    Mentioned
    123 Post(s)
    Quoted
    327 Post(s)

    Default

    why did you include srl? it works without

  9. #9
    Join Date
    May 2007
    Posts
    53
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    just no good

  10. #10
    Join Date
    Feb 2007
    Posts
    34
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Failed when compiling
    Line 11: [Error] (14761:1): Duplicate identifier 'x' in script C:\Documents and Settings\wzz\Escritorio\PuzzlePiratesBilge.scar
    help?
    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

  11. #11
    Join Date
    Apr 2008
    Posts
    67
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    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 )

    Quote Originally Posted by megatennis View Post
    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 >.<
    yeah, i meant this script yea, i should credit him. (A big SORRY to masquerader, but i never was thinking about to publish it)

    Enjoy it

  12. #12
    Join Date
    Nov 2007
    Posts
    131
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    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.

  13. #13
    Join Date
    Apr 2008
    Posts
    67
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Yeah, when i have time to make a whole bot script (in some weeks or months, sry about that..)

  14. #14
    Join Date
    Jun 2008
    Posts
    1
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    How i do that the auto bilge and Gunning thing works?

  15. #15
    Join Date
    Apr 2007
    Location
    Colchester, UK
    Posts
    1,220
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    great scripts, i cant get the gunning to work but oh well

  16. #16
    Join Date
    May 2007
    Posts
    53
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    yay!!! ill test quick :P

  17. #17
    Join Date
    Jun 2008
    Posts
    68
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    this is like an ausome script for puzzle pirates tyvm =)

  18. #18
    Join Date
    Apr 2008
    Posts
    67
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    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?

  19. #19
    Join Date
    Jul 2008
    Location
    UK!!!
    Posts
    119
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    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

  20. #20
    Join Date
    Apr 2008
    Posts
    67
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    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

  21. #21
    Join Date
    Jul 2008
    Location
    UK!!!
    Posts
    119
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    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?

  22. #22
    Join Date
    Jul 2008
    Location
    UK!!!
    Posts
    119
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    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

  23. #23
    Join Date
    Jul 2008
    Location
    UK!!!
    Posts
    119
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    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

  24. #24
    Join Date
    Apr 2008
    Posts
    67
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    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).
    try that, maybe it works

  25. #25
    Join Date
    Jul 2008
    Location
    UK!!!
    Posts
    119
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    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.

Page 1 of 11 123 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Puzzle Pirates
    By nhstarter10 in forum News and General
    Replies: 29
    Last Post: 03-04-2009, 07:06 AM
  2. Puzzle Pirates Bot Help.
    By jeremywilms in forum OSR Help
    Replies: 6
    Last Post: 02-15-2009, 12:57 PM
  3. Puzzle Pirates
    By nhstarter10 in forum Gaming
    Replies: 0
    Last Post: 09-08-2008, 12:09 AM
  4. Help with puzzle pirates
    By Iceevil in forum OSR Help
    Replies: 5
    Last Post: 04-26-2008, 03:00 PM
  5. Puzzle Pirates
    By letme shoot in forum RS3 Outdated / Broken Scripts
    Replies: 3
    Last Post: 06-30-2007, 01:22 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •