Cazax
2010-02-20 13:56:52
Just a little script so you can actually start using Simba to auto. All the instructions are inside the script… can cast low level alchemy and high level alchemy.
Can't upload .simb files, posting it here:
Can't upload .simb files, posting it here:
program SimbAlcher;
{$define SMART}
{$i srl/srl.scar}
{$i srl/srl/skill/magic.scar}
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
Players[0].Integers[0] := 1000; // Items to alch
Players[0].Integers[1] := 5; // Items' slot. recommended is 5 for low alch and 15 for high alch
Players[0].Integers[2] := 2000 + Random(1000); // Time to wait after spell is casted. Use less time for low alch and more for high alch
Players[0].Booleans[0] := False; // True to high alchemy, False to low alchemy
{
Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Active := True;
Players[1].Integers[0] := 1000; // Items to alch
Players[1].Integers[1] := 5; // Items' slot. recommended is 5 for low alch and 15 for high alch
Players[1].Integers[2] := 2000 + Random(1000); // Time to wait after spell is casted. Use less time for low alch and more for high alch
Players[1].Booleans[0] := True; // True to high alchemy, False to low alchemy
Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Active := True;
Players[2].Integers[0] := 1000; // Items to alch
Players[2].Integers[1] := 5; // Items' slot. recommended is 5 for low alch and 15 for high alch
Players[2].Integers[2] := 2000 + Random(1000); // Time to wait after spell is casted. Use less time for low alch and more for high alch
Players[2].Booleans[0] := True; // True to high alchemy, False to low alchemy }
end;
Procedure Debug(S : String);
Begin
WriteLn('[' + TheTime + '] ' + S);
End;
Procedure MouseAntiBan;
Var
X, Y : Integer;
Begin
Debug('Performing AntiBan');
Case Random(15) Of
0: MMouse(Random(500), Random(500), Random(MIX2), Random(MIX2));
1: SleepAndMoveMouse(Random(500));
2: IdleTime(Random(500), 2, 5.2);
3: Begin
MMouse(Random(500), Random(500), Random(MIX2), Random(MIX2));
Wait(200 + Random(100));
If IsUpText('xamine') Then
Begin
GetMousePos(X, Y);
Mouse(X, Y, 0, 0, False);
Wait(200 + Random(100));
ChooseOption('xamine');
End;
End;
4: PickUpMouse;
5: RandomRClick;
6: If MouseSpeed < 15 Then
IncEx(MouseSpeed, Random(5))
Else
DecEx(MouseSpeed, Random(5));
7: BoredHuman;
End;
End;
Function StuckInRandom: Boolean;
Begin
Debug('Checking randoms');
Result := FindNonInventoryRandoms;
If Result Then
Result := LoggedIn;
End;
Function Alch: Boolean;
Var
Spell : String;
Box : TBox;
Begin
If Not LoggedIn Then
Exit;
If Players[CurrentPlayer].Booleans[0] Then
Spell := 'high level alchemy'
Else
Spell := 'low level alchemy';
If Not Cast(Spell, False) Then
Begin
Players[CurrentPlayer].Loc := 'Can''t cast.';
Exit;
End;
Wait(500 + Random(500));
Box := InvBox(Players[CurrentPlayer].Integers[1]);
MouseBox(Box.X1, Box.Y1, Box.X2, Box.Y2, 1);
Debug('Alching...');
Players[CurrentPlayer].Loc := 'Alching';
Wait(Players[CurrentPlayer].Integers[2]);
Inc(Players[CurrentPlayer].Integers[3]);
If Random(5) = 1 Then
MouseAntiBan;
If StuckInRandom Then
Exit;
Result := True;
End;
begin
SetupSRL;
DeclarePlayers;
SetupSpells;
LoginPlayer;
Repeat
Repeat
If Not Alch Then
Break;
Debug('Player[''' + Players[CurrentPlayer].Name + '''] has alched ' + IntToStr(Players[CurrentPlayer].Integers[3]) + ' times. Loc: ' + Players[CurrentPlayer].Loc);
Until Players[CurrentPlayer].Integers[0] = Players[CurrentPlayer].Integers[3];
NextPlayer(False);
Until AllPlayersInactive;
end.