daily pastebin goal
14%
SHARE
TWEET

Untitled

a guest Jan 28th, 2016 55 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. program SSPoweThiever; //(gem)
  2.  
  3. {$I srl/srl.simba}
  4.  
  5. var
  6. x, y, stall, shark, count: integer;
  7. Status:String;
  8.  
  9. const
  10.  
  11. USERNAME = '';
  12. PASSWORD = '';
  13.  
  14. procedure proggy;
  15. begin
  16. cleardebug;
  17. writeln('JStemper ~~ SS3 Thiever');
  18. writeln('  Time Running: '+ MsToTime(GetTimeRunning,3))
  19. Writeln('  Status: ' + Status)
  20. exit;
  21. end;
  22. function IsLoggedIn: boolean;
  23. begin
  24. if findcolortolerance(x, y, 1911085, 740, 130, 762, 161, 20) then
  25. begin
  26. result := true
  27. //writeln('we are logged in');
  28. wait(200)
  29. end
  30. else
  31. begin
  32. result := false
  33. //writeln('we are not logged in');
  34. wait(200)
  35. end;
  36. end;
  37.  
  38. procedure Login;
  39. begin
  40. wait(3000)
  41.   begin
  42.   movemouse(484, 338);
  43.   Status := 'Entering Username';
  44.   proggy;
  45.   Wait(200);
  46.   clickmouse(x, y, mouse_left);
  47.   count := 0;
  48.   repeat
  49.     Inc(count);
  50.     PressKey(VK_Back);
  51.   until count > 25;
  52.   Wait(250);
  53.   sendkeys(USERNAME, 0, 0);
  54.   Wait(1000);
  55.   Status := ('Entering Password');
  56.   proggy;
  57.   movemouse(480, 385);
  58.   Wait(200);
  59.   clickmouse(x, y, Mouse_left);
  60.   Wait(200);
  61.   count := 0;
  62.   repeat
  63.     PressKey(VK_Back);
  64.     Inc(count);
  65.   until count > 25
  66.   sendkeys(PASSWORD, 50, 25);
  67.   Status := ('logging in');
  68.   proggy;
  69.   Wait(1000);
  70.   movemouse(491, 417);
  71.   Wait(1000);
  72.   ClickMouse(x, y, mouse_left);
  73.   Wait(4000);
  74.   writeln('logged in! (?)')
  75. end;
  76. end;
  77.  
  78. procedure setmeup;
  79. begin
  80. writeln('setting up....');
  81. writeln('putting angle right');
  82. sleep(5000)
  83. count := 0
  84. repeat
  85. inc(count);
  86. presskey(38);
  87. until count > 25;
  88. sleep(1000);
  89. writeln('completed');
  90. writeln('open inventory');
  91. movemouse(654, 186);
  92. sleep(200);
  93. clickmouse(x, y, mouse_left);
  94. sleep(1000);
  95. writeln('completed');
  96. writeln('set up completed!');
  97. end;
  98.  
  99. procedure teleport;
  100. var
  101. x, tele, y:integer;
  102. begin
  103. tele := DTMFromString('mbQAAAHicY2VgYLBkYmAwA2JbIDYFYjsgfg8UfwXEbxgg7I9A/O/fP4aqqh9gbGqSB6aVgeLomBELBgMAFesQHQ==');
  104.  
  105.  
  106. Status := 'Teleporting home';
  107. proggy;
  108. presskey(115)
  109. wait(400)
  110. presskey(115)
  111. wait(500)
  112. if findDTM(tele, x, y, 552, 221, 590, 252) then
  113.       mmouse(x, y, 1, 1);
  114.       wait(randomrange(300, 600));
  115.       clickmouse2(mouse_Left);
  116.       clickmouse(x, y, mouse_left);
  117.  freedtm(tele);
  118.  terminatescript;
  119.       end;
  120. function DebugTPA(Points: TPointArray; BmpName: string): Boolean;
  121. var
  122.   Bmp: integer;
  123.   Box : TBox;
  124.   TempTPA : TPointArray;
  125. begin
  126.   Box := GetTPABounds(Points);
  127.   Bmp := BitmapFromClient(Box.x1,Box.y1,Box.x2,Box.y2);
  128.   TempTPA := CopyTPA(Points);
  129.   OffsetTPA(TempTPA,Point(-box.x1,-box.y1));
  130.   DrawTPABitmap(Bmp,TempTPA,clRed);
  131.   DisplayDebugImgWindow(box.x2-Box.x1 + 1, box.y2-box.y1 + 1);
  132.   DrawBitmapDebugImg(Bmp);
  133.   if bmpname <> '' then
  134.     SaveBitmap(Bmp, ScriptPath + BmpName +'.bmp');
  135.   FreeBitmap(Bmp);
  136.   Result := True;
  137. end;
  138.  function rsps_getUpText:string;
  139. var
  140.   blueTPA: tpointarray;
  141.   blueATPA: t2dpointarray;
  142.   begin
  143.   FindColorsTolerance(blueTPA, 14080518, 0, 0, 194, 25, 40);
  144.   if (length(blueTPA) > 1) then
  145.   blueATPA := splitTPAEx(blueTPA, 1, 10);
  146.   sortATPAFromFirstPointX(blueATPA, point(0, 0));
  147.   result:= getTextATPA(blueATPA, 5, 'UpChars07');
  148.   //DebugTPA(blueTPA, 'bmp');
  149.   end;
  150.  
  151.   Function rspsIsUpTextMultiCustom(Text: TStringArray): Boolean;
  152. Var
  153.   TheText: String;
  154.   i, n: Integer;
  155. Begin
  156.   TheText := rsps_getUpText;
  157.   n := High(Text);
  158.   For i := 0 to n do
  159.     If (Pos(Text[i], TheText) > 0) then
  160.     Begin
  161.       Result := True;
  162.       Exit;
  163.     End;
  164. End;
  165. Function InCombat: boolean;
  166.  begin
  167.   if findcolortolerance(x, y, 45647, 254, 135, 268, 162, 45) or
  168.   findcolortolerance(x, y, 330180, 254, 135, 268, 162, 45) then
  169.       Begin
  170.        Status := ('We are being attacked');
  171.        proggy;
  172.         Begin
  173.          Result:=True
  174.        End
  175.      End Else
  176.    wait(100);
  177.  exit;
  178. End;
  179. procedure thief;   //Edited from hoodz
  180. Var
  181.    TPAA: T2DPointArray;
  182.    TPA: TPointArray;
  183.    CTS, I: Integer;
  184. Begin
  185.   CTS := GetColorToleranceSpeed;
  186.   ColorToleranceSpeed(2);
  187.   setcolorspeed2modifiers(0.25, 0.12);
  188.   FindColorsSpiralTolerance(216, 125, TPA, 1522522, 216, 113, 296, 199, 25);
  189.   ColorToleranceSpeed(CTS);
  190.   TPAA := TPAToATPAEx(TPA, 40, 40); //Put the Width and Heigh here
  191.   SortATPASize(TPAA, True);
  192.   For I := 0 To High(TPAA) Do
  193.     If GetArraylength(TPAA[i]) > 50 Then // Set How Much Points you need for your function to take Ation
  194.     Begin
  195.       MiddleTPAEx(TPAA[i], x, y);
  196.       MMouse(X, Y, 2, 2);
  197.       Status := 'Thieving';
  198.       proggy;
  199.       KeyUp(37);
  200.        If (rspsIsUpTextMultiCustom(['Scimitar'])) Then
  201.       clickmouse(x, y, mouse_left);
  202.       sleep(20)
  203.       exit;
  204.       end
  205.       else
  206.       begin
  207.       KeyDown(37);
  208.       Status := ('Rotating Screen')
  209.       proggy;
  210.       exit;
  211.       end;
  212.       end;
  213. function Lowish_HP(): Boolean;
  214. var
  215.   x, y, i: Integer;
  216.   colours: TIntegerArray;
  217. begin
  218.   colours := [1912114, 3886164]
  219.  
  220.   for i := 0 to High(colours) do
  221.   begin
  222.     if FindColorTolerance(x, y, colours[i], 712, 30, 718, 35, 20) then
  223.     begin
  224.       WriteLn('Health Point is low');
  225.       Result := True
  226.     end else
  227.       WriteLn('Health point not low');
  228. end;
  229. end;
  230.  
  231. function VeryLowHp(): Boolean;
  232. var
  233.   x, y, i: Integer;
  234.   colours: TIntegerArray;
  235. begin
  236.   colours := [3426899]
  237.  
  238.   for i := 0 to High(colours) do
  239.   begin
  240.     if FindColorTolerance(x, y, colours[i], 697, 36, 715, 40, 25) then
  241.     begin
  242.       WriteLn('Health Point is very low, teleporting');
  243.       Result := True
  244.     end else
  245.      // WriteLn('Health point not low');
  246. end;
  247. end;
  248.  function Restore: Boolean;
  249. var
  250.   x, y, i: Integer;
  251.   potDTMs: TIntegerarray;
  252. begin
  253.   potDTMs := [
  254.     DTMFromString('mbQAAAHicY2VgYNjPhMDHgHgnEC9iZGCYC8TTGSHsZUC8RieaYb1uDMM2vUSGUFFdhuVaEQySQP3omBELBgMAqUMM4Q=='),
  255.     DTMFromString('mggAAAHicY2NgYJjAxMAwFYjnAvFMKHsaEC9ghOCFQDwHiKdA6SVa4WAcKqrL0KHkzlBeUckwVyOYQRJoFjbMiANDAAC3tw46'),
  256.      DTMFromString('mggAAAHicY2NgYMhlYmDIBOJCIM4B4gwgTgfiuYwMDAuheDoQzwPiJUC8oKCVYYlWOEOmlDlDWVk5w9GmOWC+JNAsbJgRB4YAAK3KDs4='),
  257.     DTMFromString('mggAAAHicY2NgYDjAxMBwBIhPQvE5KP85IwPDHSC+DcQPgPgJFO+pnspQUFDEEB4RwxARGcsQ4RzIML+sg0ESaBY2zIgDQwAAMiMSYw==')
  258.  
  259.  
  260.     ];
  261.  
  262.   for i := 0 to High(potDTMs) do
  263.   if FindDTM(potDTMs[i], x, y, 548, 206, 737, 467) then
  264.   begin
  265.     Wait(100 + Random(200));
  266.     Status := ('Drinking ' + toStr(i + 1) + ' dose restore');
  267.     proggy;
  268.     MMouse(x, y, 2, 2);
  269.     Mouse(x, y, 2, 2, True);
  270.     clickmouse(x, y, mouse_left);
  271.      Wait(1200);
  272.     Result := True;
  273.     exit;
  274.   end; //else
  275.   //  WriteLn('Can''t drink Restore');
  276.  
  277.   for i := 0 to high(potDTMs) do
  278.     FreeDTM(potDTMs[i]);
  279. end;
  280. function Brew: Boolean;
  281. var
  282.   x, y, i: Integer;
  283.   potDTMs: TIntegerArray;
  284. begin
  285. if (not Lowish_HP()) then
  286. exit;
  287. //else
  288.   potDTMs := [
  289.     DTMFromString('mggAAAHicY2NgYJjGxMAwFYhnA3E/EM8E4klA/BYo9wSIPwDxZyB+CcTvgPjwQVOG40cCGebP0wTyGBlmzdRgOHrEg0ESyMOGGXFgCAAA4SsR4g=='),
  290.    DTMFromString('mbQAAAHicY2VgYMhiguACIM4F4jQgrmNkYCgB4nogrgDiWiA+ctiJoba2jmHjel2GwweNwHxJoH50zIgFgwEAb8YNYQ=='),
  291.     DTMFromString('mWAAAAHicY2FgYMhlYmBIZ4LQ2UCsw8jAoAfEhkBsBsQFBUUM5eUVDEVFxQwP7k9jkATqQcaMaBgEANvdCUo='),
  292.     DTMFromString('mggAAAHicY2NgYHBkgmB3ILYEYhcgdgLiGkYGhkIgroXiEiBuBOIjh+wZamvrGObP02TYuF6XIS0tk+HIYScGSaBZ2DAjDgwBAEgfDkc=')
  293.  
  294.     ];
  295.  
  296.   for i := 0 to High(potDTMs) do
  297.   if FindDTM(potDTMs[i], x, y, 548, 206, 737, 467) then
  298.   begin
  299.     Status := ('Drinking ' + toStr(i + 1) + ' dose Brew ');
  300.     proggy;
  301.     MMouse(x, y, 2, 2);
  302.     Mouse(x, y, 2, 2, True);
  303.     clickmouse(x, y, mouse_left);
  304.     Wait(1200);
  305.     Result := True;
  306.     if (i >= 2) then
  307.     begin
  308.    // writeln ('Drank 3 or more brews so restoring');
  309.     restore;
  310.     break;
  311.     end;
  312.   end; //else
  313.   //  WriteLn('Can''t drink  brew');
  314.  for i := 0 to high(potDTMs) do
  315.     FreeDTM(potDTMs[i]);
  316. end;
  317.  
  318.  
  319. begin
  320. setupsrl();
  321. mouseresetclientarea;
  322. imageresetclientarea;
  323. cleardebug;
  324. writeln('JStemper ~~ SS3 Thiever');
  325. repeat
  326. if (not isloggedin) then
  327.   begin
  328.    login;
  329.    SetMeUp;
  330.   end;
  331. if (isloggedin) then
  332.   begin
  333.       if (not incombat) then
  334.       begin
  335.        repeat
  336.         thief;
  337.         If VeryLowHp then teleport;
  338.        until(not isloggedin) or (incombat)
  339.      end;
  340.     If (incombat) then
  341.       begin
  342.         wait(100);
  343.         If lowish_Hp then
  344.          begin
  345.           brew;
  346.          end;
  347.         If VeryLowHp then teleport;
  348.       end;
  349.    end;
  350.  until(false)
  351. end.
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top