Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

Janilabo

 VIPs
  • Content count

    870
  • Joined

  • Last visited

  • Days Won

    1

Janilabo last won the day on November 10 2012

Janilabo had the most liked content!

Community Reputation

11 Good

About Janilabo

  • Rank
    VIP
  • Birthday 08/19/1987

Personal Information

  • Location
    Finland
  • Interests
    Scripting & Programming!
  • Occupation
    Warehouse Worker

Contact Information

  • Skype
    janilabo
  1. Blacklisting pixels

    You simply use the X and Y variables of the TPoint record, like so: var found: TPointArray; h, i: Integer; begin if FindColorSpiralTolEx(100, 100, found, clWhite, 50, 50, 100, 100, 10) then begin h := High(found); WriteLn('Found ' + IntToStr(h + 1) + ' points!') for i := 0 to h do MoveMouse(found[i].X, found[i].Y); // Replace with your clicking method, whatever it is. MoveMouse(found[0].X, found[0].Y); // Index example, without loop. end; end.
  2. Why it say " Invalid search area" ?

    First off, parameter order: XS, YS, XE, YE (X-Start, Y-Start, X-End, Y-End) Examples with yours. 409[XS], 213[YS], 410[XE], 547[YE] <= that is fine! XS is NOT higher than XE and YS is NOT either higher than YE. The area however might be too small for your needs, because it is just 2-pixels wide (((410-409)+1)=2)! 409[XS], 547[YS], 410[XE], 213[YE] <= that is INCORRECT, you can clearly see YS is higher value than YE. It is not proper area. slacky provided you very useful example up there, it really should give you the idea how the "area logic" works. :\
  3. "mickyfastdl" & Scar

    While there is no response about the warning you have reported to here (I cannot help, because I have no idea what that is), I just simply recommend getting the development versions of SCAR - which are available without installer, so there is no third-party stuff like that included (if I remember correctly at least). You can find the development editions from: http://dev.scar-divi.com/ I am fairly sure those warnings have something to do with the installer and not something with SCAR itself, because Freddy really wouldn't try to hit us with any dirty stuff (not by purpose).
  4. RS3 MSSL Commands existing?

    Hey Rooster! Sorry man, MSSL was never developed for RS3 - only for OSR (RS07). :\ I would advice looking around OSI, but not sure if even OSI is up-to-date for RS3? So yeah, you might be out of luck. ..well, unless you are going to write your own libraries for it...
  5. SCAR Divi 4.00.00 Pre-Alpha

    Very happy to see new release/build, Freddy.Glad to hear those future plans aswell (especially about porting entire 3.40 API to v4)!
  6. BitmapFromString in 3.40

    Change Bmp from Integer to TSCARBitmap, like this: var x, y: Integer; Bmp: TSCARBitmap; Could be that it isn't the problem here, but that is how SCAR bitmaps should be defined with 3.35+.
  7. More bitmaps

    Ello spartakos, That is a nasty way of creating the bitmaps (inside loop), you never even free them... You will quickly get SCAR out of memory with this script! Fixed the bitmap creation problem: var Bmp1, Bmp2, x, y: Integer; begin Bmp1 := TSCARBitmap.Create('deNoTZuBgaGD4P4qGAQIA7QLjhA=='); Bmp2 := TSCARBitmap.Create('deNrjY+Bj+N/gMIpGEVUQAKBMVmg='); repeat if FindBitmapTol(x, y, Bmp1, 82, 125, 1158, 770, 50) then begin MoveMouse(x, y); ClickMouse(x, y, mbRight); // mbLeft to use Left Mouse Button! TypeText(Chr(32)); end; if FindBitmapTol(x, y, Bmp2, 82, 125, 1158, 770, 50) then begin MoveMouse(x, y); ClickMouse(x, y, mbRight); TypeText(Chr(32)); end; until False; end. Sadly I don't know what is the actual problem you are asking here, but could it be that you simply need a small delay between the bitmap lookups? Also, please always use CODE or SCAR tags.
  8. Need a Script.

    It would be a lot easier for people to help you out, if you also include the webpage of this game that you are playing. Without that I just don't think anybody is able to do this, what you are after here...
  9. My second script needs some help.

    So, I guess it works now as you wanted? Anyways, if you want a bit faster response for stopping the script with CTRL+ALT+S hotkey, then here you go: program Gopro; const ROUNDS = 5; // Before banking? var normal_path, bank_path, return_path: TPointArray; procedure Setup; var U, D, L, R: TPoint; begin U := Point(639, 702); D := Point(639, 780); L := Point(599, 739); R := Point(676, 738); normal_path := [R, U, R, U, L, L, L, L, L, U, R, R, R, R, R, R, R, R, U, L, L, L, L, L, L, L, L, U, R, R, R, R, R, R, U, L, L, L, L, U, R, R, R, D, L, L, L, L, D, R, R, R, R, R, R, D, L, L, L, L, L, L, L, L, D, R, R, R, R, R, R, R, R, D, L, L, L, L, L, L, L, D, R, R, D, R, R]; bank_path := [D, D, D, L, L, D, D, D, D, D, D, D, D, D, L, L]; return_path := [R, R, U, U, U, U, U, U, U, U, U, R, R, U, U, U]; end; procedure Wait2(MS: Integer); var t: Integer; k: Byte; begin t := GetTimeRunning; k := CharToVKey('s'); repeat if GetCurrentKeyState(VK_CONTROL) then if GetCurrentKeyState(VK_MENU) then if GetCurrentKeyState(k) then TerminateScript; until ((GetTimeRunning- t) > MS); end; procedure Move(coordinates: TPoint); begin MoveMouse(coordinates.X, coordinates.Y); Wait2(2000); ClickMouse(coordinates.X, coordinates.Y, mbLeft); Wait2(3000); end; procedure RunPath(path: TPointArray); var h, i: Integer; begin h := High(path); for i := 0 to h do begin MoveMouse(path[i].X, path[i].Y); Wait2(2000); ClickMouse(path[i].X, path[i].Y, mbLeft); Wait2(3000); end; end; procedure Detection; var x, y: Integer; begin while FindColor(x, y, 3094824, 94, 43, 171, 779) do begin MoveMouse(x, y); Wait2(350); ClickMouse(x, y, mbLeft); Wait2(50 + Random(35)); ClickMouse(x, y, mbLeft); Wait2(2000); end; end; procedure Put; begin MoveMouse(525, 769); Wait2(500) ClickMouse(525, 769, mbLeft); Wait2(500) MoveMouse(775, 654); Wait2(500) ClickMouse(775, 654, mbLeft); Wait2(500) MoveMouse(974, 128); Wait2(500) ClickMouse(974, 128, mbLeft); end; procedure Play; var h, i, c: Integer; begin h := High(normal_path); repeat for c := 1 to ROUNDS do for i := 0 to h do begin Detection; Move(normal_path[i]); end; RunPath(bank_path); Put; RunPath(return_path); until False; end; begin case (ROUNDS > 0) of True: begin Setup; Play; end; False: WriteLn('TERMINATING: Invalid rounds! Must be over 0...'); end; end. Enjoy!
  10. My second script needs some help.

    This aint going to be easy for me, because I don't play the game... But, I expect you are after something like this (I hope so): program Gopro; const ROUNDS = 5; // Before banking? var normal_path, bank_path, return_path: TPointArray; procedure Setup; var U, D, L, R: TPoint; begin U := Point(639, 702); D := Point(639, 780); L := Point(599, 739); R := Point(676, 738); normal_path := [R, U, R, U, L, L, L, L, L, U, R, R, R, R, R, R, R, R, U, L, L, L, L, L, L, L, L, U, R, R, R, R, R, R, U, L, L, L, L, U, R, R, R, D, L, L, L, L, D, R, R, R, R, R, R, D, L, L, L, L, L, L, L, L, D, R, R, R, R, R, R, R, R, D, L, L, L, L, L, L, L, D, R, R, D, R, R]; bank_path := [D, D, D, L, L, D, D, D, D, D, D, D, D, D, L, L]; return_path := [R, R, U, U, U, U, U, U, U, U, U, R, R, U, U, U]; end; procedure Move(coordinates: TPoint); begin MoveMouse(coordinates.X, coordinates.Y); Wait(2000); ClickMouse(coordinates.X, coordinates.Y, mbLeft); Wait(3000); end; procedure RunPath(path: TPointArray); var h, i: Integer; begin h := High(path); for i := 0 to h do begin MoveMouse(path[i].X, path[i].Y); Wait(2000); ClickMouse(path[i].X, path[i].Y, mbLeft); Wait(3000); end; end; procedure Detection; var x, y: Integer; begin while FindColor(x, y, 3094824, 94, 43, 171, 779) do begin MoveMouse(x, y); Wait(350); ClickMouse(x, y, mbLeft); Wait(50 + Random(35)); ClickMouse(x, y, mbLeft); Wait(2000); end; end; procedure Put; begin MoveMouse(525, 769); Wait(500) ClickMouse(525, 769, mbLeft); Wait(500) MoveMouse(775, 654); Wait(500) ClickMouse(775, 654, mbLeft); Wait(500) MoveMouse(974, 128); Wait(500) ClickMouse(974, 128, mbLeft); end; procedure Play; var h, i, c: Integer; begin h := High(normal_path); repeat for c := 1 to ROUNDS do for i := 0 to h do begin Detection; Move(normal_path[i]); end; RunPath(bank_path); Put; RunPath(return_path); until False; end; begin case (ROUNDS > 0) of True: begin Setup; Play; end; False: WriteLn('TERMINATING: Invalid rounds! Must be over 0...'); end; end.
  11. My second script needs some help.

    Of course, feel free to do that! It is made for you.
  12. My second script needs some help.

    Hmmmm... Maybe something like this: program Gopro; const ROUNDS = 5; // Before banking? var normal_path, bank_path, return_path: TPointArray; procedure Setup; var U, D, L, R: TPoint; begin U := Point(639, 702); D := Point(639, 780); L := Point(599, 739); R := Point(676, 738); normal_path := [R, U, R, U, L, L, L, L, L, U, R, R, R, R, R, R, R, R, U, L, L, L, L, L, L, L, L, U, R, R, R, R, R, R, U, L, L, L, L, U, R, R, R, D, L, L, L, L, D, R, R, R, R, R, R, D, L, L, L, L, L, L, L, L, D, R, R, R, R, R, R, R, R, D, L, L, L, L, L, L, L, D, R, R, D, R, R]; bank_path := [D, D, D, L, L, D, D, D, D, D, D, D, D, D, L, L]; return_path := [R, R, U, U, U, U, U, U, U, U, U, R, R, U, U, U]; end; procedure Move(coordinates: TPoint); begin MoveMouse(coordinates.X, coordinates.Y); Wait(2000); ClickMouse(coordinates.X, coordinates.Y, mbLeft); Wait(3000); end; procedure RunPath(path: TPointArray); var h, i: Integer; begin h := High(path); for i := 0 to h do begin MoveMouse(path[i].X, path[i].Y); Wait(2000); ClickMouse(path[i].X, path[i].Y, mbLeft); Wait(3000); end; end; procedure Detection; var x, y: Integer; begin if FindColor(x, y, 3094824, 94, 43, 171, 779) then begin MoveMouse(x, y); Wait(350); ClickMouse(x, y, mbLeft); Wait(50 + Random(35)); ClickMouse(x, y, mbLeft); end; end; procedure Put; begin MoveMouse(525, 769); Wait(500) ClickMouse(525, 769, mbLeft); Wait(500) MoveMouse(775, 654); Wait(500) ClickMouse(775, 654, mbLeft); Wait(500) MoveMouse(974, 128); Wait(500) ClickMouse(974, 128, mbLeft); end; procedure Play; var h, i, c: Integer; begin h := High(normal_path); repeat for c := 1 to ROUNDS do for i := 0 to h do begin Detection; Move(normal_path[i]); end; RunPath(bank_path); Put; RunPath(return_path); until False; end; begin case (ROUNDS > 0) of True: begin Setup; Play; end; False: WriteLn('TERMINATING: Invalid rounds! Must be over 0...'); end; end. P.S. Thank you for using code-tags! Much cleaner now.
  13. Help with script.

    Hehe, happy to hear I was able to help you out! Hopefully I was able to teach you some new tricks aswell.
  14. Help with script.

    Please, I told you to use code-tags... Without code-tags you will get rid of standards and also there's a lot more scrolling for forums involved. Anyways, here is the code with some edits, is it doing finally what you need - or possibly even getting closer to it? program mining; var U, D, L, R: TPoint; path: TPointArray; procedure Setup; begin U := Point(639, 702); D := Point(639, 780); L := Point(599, 739); R := Point(676, 738); path := [u, U, L, U, L, U, L, L, L, L, D, R, R, R, R, R, D, L, L, L, L, L, L, L, D, R, R, R, R, R, D, L, L, L, L, L, D, R, R, R, R, R, R, R, D, L, L, L, L, L, L, L, L, D, R, R, R, R, R, R, D, L, L, L, L, L, D, R, R, R, U, R, R, U, R, U, R, U, R, U]; end; procedure Pick; begin Wait(1000); MoveMouse(276, 770); Wait(1000); ClickMouse(276, 770, mbLeft); Wait(50 + Random(35)); ClickMouse(276, 770, mbLeft); end; procedure Move(coordinates: TPoint); begin MoveMouse(coordinates.X, coordinates.Y); Wait(1000); ClickMouse(coordinates.X, coordinates.Y, mbLeft); Wait(1000); end; procedure Detection; var x, y: Integer; begin if FindColor(x, y, 8163998, 94, 43, 171, 779) then begin MoveMouse(x, y); Wait(250); ClickMouse(x, y, mbLeft); Wait(50 + Random(35)); ClickMouse(x, y, mbLeft); Wait(500); MoveMouse(736, 605); Wait(500); ClickMouse(736, 605, mbLeft); Wait(500); end; end; procedure Play; var h, i: Integer; begin h := High(path); repeat Detection; for i := 0 to h do begin Move(path[i]); Pick; end; until False; end; begin Setup; Play; end.
  15. Help with script.

    Show me your current script? I can change it to click the color instead...please use code-tags: [c0de]code goes here[/c0de] (replace 0's with o's) Also please give me the area where the color for detection can possibly be/appear.
×