Guest

Untitled

By: a guest on Jan 28th, 2012  |  syntax: None  |  size: 7.00 KB  |  hits: 40  |  expires: Never
download  |  raw  |  embed  |  report abuse
Copied
  1. program SoulWarsSuperGlassMake;
  2.   {$DEFINE SMART}
  3.   {$DEFINE CRASHSMART}
  4.   {$DEFINE SRL5}
  5.   {$i srl/srl.simba}
  6.   //{$i SRL\SRL\Misc\stats.simba}
  7.  
  8. const
  9.   SRLStats_Username = 'redeclipse';// SRL Stats ID
  10.   SRLStats_Password = 'kosony1996';// SRL Stats Pass
  11.   HowManyToFill = 200000;// to the number of items you want filled.
  12.  
  13.  
  14. var
  15.   CPH, Loads, FilledItem, Casts, Bank : Integer;
  16.   EXP, aFound : Extended;
  17. {*******************************************************************************
  18. Procedure HumanMMouse(eX, eY: Integer);
  19. By: Flight
  20. Description: Human-like miss-and-correct mouse movement
  21. *******************************************************************************}
  22. Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
  23.   var
  24.     randSpeed: extended;
  25.     X,Y,X2,Y2,A,Dist,MP: integer;
  26.   begin
  27.     A := MouseSpeed;
  28.     GetMousePos(X, Y);
  29.     Dist := Distance(X, Y, eX, eY);
  30.     MP := Round(Dist/150);
  31.     If MP < 0 then
  32.       MP := 1;
  33.  
  34.     randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
  35.     X2 := RandomRange(eX-(A*MP), eX+(A*MP));
  36.     Y2 := RandomRange(eY-(A*MP), eY+(A*MP));
  37.     WindMouse(X, Y, X2, Y2, 9.0, 3.0, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
  38.     GetMousePos(X, Y);
  39.     MMouse(eX, eY, ranX, ranY);
  40.     MouseSpeed := A;
  41.   end;
  42.  
  43. Procedure HumanMouse(eX, eY, ranX, ranY: Integer; LeftClick: Boolean);
  44. Var
  45.   x, y:integer;
  46. begin
  47.   HumanMMouse(eX, eY, ranX, ranY);
  48.   GetMousePos(x, y);
  49.   Mouse(x, y, 0, 0, LeftClick);
  50. end;
  51. procedure DeclarePlayers;
  52. begin
  53.   HowManyPlayers := 1;
  54.   NumberOfPlayers(HowManyPlayers);
  55.   CurrentPlayer := 0;
  56.  
  57.   with Players[0] do
  58.   begin
  59.     Name        :='';        // Username
  60.     Pass        :='';        // Password
  61.     Nick        :='Gabe';        // 3-4 lower case letters of your character's name
  62.     Pin         :='';        // NO PIN SUPPORT. PINS ARE FOR BITCHES :)
  63.     Member      := true;
  64.     Active      := true;
  65.   end;
  66. end;
  67.  
  68.  
  69.   Procedure CheckStats;//SRL Stats
  70.  
  71.     begin
  72.       if ((SRLStats_Username = '') And (SRLStats_Password = '')) then
  73.         begin
  74.       case MessageBox('No Stats account entered, would you like to set one up?','SRL Stats',mbYesNoCancel) of
  75.         mrYes:
  76.           begin
  77.             OpenWebPage('http://stats.villavu.com/register');
  78.             TerminateScript;
  79.           end;
  80.         mrNo:
  81.           begin
  82.             SetupSRLStats(399,'Anonymous','anon1337');
  83.             Exit;
  84.           end;
  85.         mrCancel: TerminateScript;
  86.       end;
  87.     end else
  88.       SetupSRLStats(399,SRLStats_Username,SRLStats_Password);
  89.   end;
  90.  
  91. procedure BankChest(PX:Integer; Click: Boolean);
  92. var
  93.   x, y : Integer;
  94.  
  95. begin
  96. Bank := DTMFromString('m1gAAAHic42IAAkYGhi9AihNI/wLSHED6P5D+AWX/BikB0peA9DEgPgrF56D0RSC+BsXXgTgp3JuhLDOaIS3aj6EoLYKhJD2SIS8phKEgJYzBx9mKIdzPmSHUx5GBFagWhvlxYFaI84jCCAAASX8YHQ==');
  97.  
  98.  
  99.   if FindDTMRotated(PX, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
  100.   begin
  101.     MMouse(x, y, 0, 0);
  102.     GetMousePos(x, y);
  103.  
  104.     if (WaitUpText('se Bank', 200)) then
  105.     begin
  106.       Writeln('Opening bank.');
  107.       ClickMouse2(True);
  108.       Wait(500);
  109.  
  110.       if (BankScreen) then
  111.         begin
  112.           Writeln('Bank Opened.');
  113.           FreeDTM(Bank);
  114.           Exit;
  115.         end;
  116.     end;
  117.   end;
  118. end;
  119.  
  120. procedure SetUp;
  121. begin
  122.   MakeCompass('S');
  123.   SetAngle(SRL_ANGLE_HIGH);
  124.   Writeln('Get ready to get rich!');
  125.   Wait(500);
  126. end;
  127. procedure DepositInventory;
  128. Var  x, y, DepInv: Integer;
  129. begin
  130.   DepInv := DTMFromString('mbQAAAHicY2VgYChjZGCoBuJ0IK6D0qZAbADEVkBsDmUrCfEyzI1RZHC47crAz8fLkBrhycAP1I+OGbFgMAAAE0EHjg==');
  131.       FindDTM(DepInv, x, y, MSX1, MSY1, MSX2, MSY2);
  132.       HumanMouse(x, y, 2, 2, True);
  133.       Wait(100+Random(100));
  134.        FreeDTM(DepInv);
  135.     end;
  136.  
  137. procedure WithdrawSeaweed;
  138. Var WithdrawSeaweeds, x, y:Integer;
  139. begin
  140.   WithdrawSeaweeds := DTMFromString('mggAAAHicY2NgYGBhgAB2IOYEYi4gFgFiNiDmA2IhKM0BVccdYAwkmTAwP5DEhhlxYAgAAGxMAW0=');
  141.     FindDTM(WithdrawSeaweeds, x, y, MSX1, MSY1+85, MSX2, MSY2);
  142.     HumanMouse(x, y, 2, 2, False);
  143.     If OptionsExist(['-13 '], False) Then
  144.   begin
  145.       ChooseOption('-13');
  146.       end
  147.         Wait(100+Random(100));
  148.        FreeDTM(WithdrawSeaweeds);
  149.    end;
  150. procedure WithdrawSand;
  151. Var WithdrawSands, x, y:Integer;
  152. begin
  153.    WithdrawSands := DTMFromString('mlwAAAHicY2dgYEhnYmDIB+ICKM4A4jwgTgFiR0YItgFicyD2BmIPKJ0WpAvUzYQV8wNJXJgRD4YCAMf8BkE=');
  154.     FindDTM(WithdrawSands, x, y, MSX1, MSY1, MSX2, MSY2);
  155.     HumanMouse(x, y, 2, 2, False);
  156.     If OptionsExist(['-13 '], False) Then
  157.    begin
  158.     ChooseOption('-13 ');
  159.    end;
  160.       Wait(100+Random(100));
  161.       FreeDTM(WithdrawSands);
  162. end;
  163.  
  164. procedure Banking;
  165. var x, y:Integer;
  166. begin
  167.   BankChest(Bank, True);
  168.   if (BankScreen) then
  169.     begin
  170.       Writeln('Depositing.');
  171.         DepositInventory;
  172.         Wait(750+Random(150));
  173.       Writeln('Withdrawing.');
  174.         WithdrawSeaweed;
  175.           Wait(500+Random(150));
  176.         WithdrawSand;
  177.           Wait(500+Random(150));
  178.         CloseBank;
  179.     end else
  180.   if not (BankScreen) then
  181.     begin
  182.       repeat
  183.         BankChest(Bank, True);
  184.       until(BankScreen);
  185.     Banking;
  186.     end;
  187. end;
  188.  
  189.  
  190. procedure ClickSpell;
  191. var
  192.   x, y : Integer;
  193.   SuperGlassMake : Integer;
  194.  
  195. begin
  196.   GameTab(Tab_Magic);
  197.  
  198.   SuperGlassMake := DTMFromString('mwQAAAHic42RgYGCFYi4GCGADYnYg5oZiEOAEYiYgFoZiESDmA2IOBgTw42FneP36FYNcxCQgjxEFg8Qg4gwMzAz4ASMRGA4A4Y4G5Q==');
  199.  
  200.  
  201.   If FindDTM(SuperGlassMake, X, Y, MIX1, MIY1, MIX2, MIY2) Then
  202.     begin
  203.       Writeln('Casting Superglass Make.');
  204.       Mouse (x, y, 0, 0, true);
  205.       FreeDTM(SuperGlassMake);
  206.       SleepAndMoveMouse(3500);
  207.       IncEx(FilledItem, 27);//Modify if you aren't using a steam staff.....
  208.       IncEx(Casts, 1);
  209.     end;
  210. end;
  211.  
  212.  
  213. procedure ProgressReport;//Thanks to King Kong and Camaro' for their input on this.
  214. begin
  215.   EXP := 208;
  216.   CPH := Round((Casts * 3600) / (GetTimeRunning / 1000));
  217.   ClearDebug;
  218.   Writeln('=======================================================');
  219.   Writeln('                    Soul Wars SuperGlass Maker V2');
  220.   Writeln('            Time running: '+TimeRunning+'');
  221.   Writeln('            Molten Glass Made: '+ToStr(FilledItem)+'');
  222.   Writeln('            Casts done: '+ToStr(Casts)+'');
  223.   Writeln('            Casts per hour: '+ToStr(CPH)+'');
  224.   Writeln('            Amount left: '+ToStr(HowManyToFill - FilledItem)+'');
  225.   Writeln('            Exp gained: ' + FloatToStr(Loads * EXP) + '');
  226.   Writeln('=======================================================');
  227.   stats_IncVariable('Magic EXP (Gained)', 65);
  228.   stats_Commit;
  229. end;
  230.  
  231.  
  232. begin
  233.   Smart_Server := 8;
  234.   Smart_Members := True;
  235.   Smart_Signed := True;
  236.   Smart_SuperDetail := False;
  237.  
  238.   SetupSRL;
  239.   ActivateClient;
  240.   DeclarePlayers;
  241.   CheckStats;
  242.   LogInPlayer;
  243.   SetUp;
  244.   repeat
  245.     if not LoggedIn then TerminateScript;
  246.       //BankChest(Bank, True);
  247.       Banking;
  248.       ClickSpell;
  249.       ProgressReport;
  250.   until(FilledItem=HowManyToFill);
  251.   if (FilledItem=HowManyToFill) then
  252.     LogOut;
  253.     TerminateScript;
  254. end.