SRL Archive - Help

Can you guys spot what is wrong with this :D


i need to bot!

2012-01-24 15:07:51

Yeya everyone :) i have actually been really enjoying Simba, and started on this new script; but i get the error: 'Invalid number of parameters at line 175'.. here is the script

program MehScript;

{$DEFINE Smart}
{$i srl/srl.simba}
{$i SRL/SRL/misc/paintsmart.scar}

Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := '';
Pass := '';
Pin := '';
BoxRewards := ['XP','xp','lamp'];
LampSkill := 'Farming';
Active := True;
LoginPlayer
end;
end;

var
x, y: integer;

function BankColour: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.19, 0.49);

if not (FindColorsTolerance(arP, 4664116, MSX1, MSY1, MSX2, MSY2, 11)) then
begin
Writeln('Failed to find the color, no result(bankcolour).');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;

arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);

for i := 0 to arL do
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
procedure bankbanker;
begin
if findobjcustom(x, y, ['ank'], [BankColour], 2) then
begin
Mouse(x, y, 0, 0, false);
chooseoption ('Bank Banker');
wait (10000+ random (500));
depositall;
if (bankscreen) then
end;
end;

function Vial: boolean;
var
x, y, Vial01: Integer;
begin
Result := (false);
Vial01 := DTMFromString('maQEAAHicrcvLCYBADIThqBXY3B6sUVhfK+Kqq9iMZfgf5iB41MAXApkpzWxGwIAeLRp43UGZhBMHdmxYsWBErU6nzoSoXHp0on5BWa+ucxU7/+Qq7PNkP3jNDVIBGo8=');
begin
if FindDTM(Vial01, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Writeln ('found vial in bank!');
Mouse (x, y, 0, 0, false);
ChooseOption ('ithdraw-ll');
freeDTM (Vial01);
Wait(1000+Random(300));
Closebank;
end;
end;
end;

function Vial2: boolean;
var
x, y, Vial02: Integer;
begin
Result := (false);
Vial02 := DTMFromString('maQEAAHicrcvLCYBADIThqBXY3B6sUVhfK+Kqq9iMZfgf5iB41MAXApkpzWxGwIAeLRp43UGZhBMHdmxYsWBErU6nzoSoXHp0on5BWa+ucxU7/+Qq7PNkP3jNDVIBGo8=');
begin
if FindDTM(Vial02, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Writeln ('found vial in inventory!');
Mouse (x, y, 0, 0, true);
freeDTM (Vial02);
Wait(1000+Random(300));
end;
end;
end;



function WalkToBank: boolean;
var
x, y, Location1: Integer;
begin
Result := (false);
Location1 := DTMFromString('mlwAAAHicY2dgYGhnYmAwg2I7KC4H4iogdgLKBwBxMBCHAHE4EBtC8Uc2JpzYCCiPCzPiwVAAAH0sDJw=');
begin
if FindDTM(Location1, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Writeln ('found location!');
Mouse (x, y, 0, 0, true);
freeDTM (Location1);
Wait(1000+Random(300));
MakeCompass('S');
end;
end;
end;



function FountC(var fx, fy: Integer): Boolean;
var
arP: TPointArray;
ararP: T2DPointArray;
tmpCTS, i, arL: Integer;
P: TPoint;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.02, 3.26);

if not(FindColorsTolerance(arP, 15574402, MSX1, MSY1, MSX2, MSY2, 6)) then
begin
Writeln('Failed to find the color, no object found.(fountain)');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;

SortTPAFrom(arP, Point(MSCX, MSCY));
ararP := SplitTPAEx(arP, 10, 10);
arL := High(ararP);

for i := 0 to arL do
begin
P := MiddleTPA(ararP[i]);
MMouse(P.x, P.y, 5, 5);
Wait(100 + Random(100));
if (IsUpText('Take')) then
begin;
Result := True;
Break;
end;
end;

ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);

if (i = arL + 1) then
begin
Writeln('FindObject could not find object.(fountain)');
Exit;
end;

GetMousePos(fx, fy);
end;

procedure fountainclick;
begin
if findobjcustom (x, y, ['Foun'], [FountC], 2) then
begin
Mouse(x, y, 0, 0, true);
wait (20000+random (1000));
end;
end;

begin
SetupSRL;
DeclarePlayers;
LoginPlayer;
repeat
bankbanker;
Vial;
Vial2;
fountainclick;
WalkToBank;
until (invcount > 28);
end.


i don't understand what has gone wrong :( does anyone know how I can fix this xD

thanks! :D
note: would it be possible to say wait until (bankscreen)?

Kyle Undefined

2012-01-24 15:13:41

What line is 175? Also, you could do:


repeat
Wait({time});
until(BankScreen);

i need to bot!

2012-01-24 15:18:05

yes, line 175

thanks kyle :D saved hours of searching through tutorials xD

footballjds

2012-01-24 15:36:28

i need to bot!

It compiles for me…
Although, your standards are killing me! :P

Inception

2012-01-24 15:50:13

The problem is that you modified FountC (generated by ACA) to return a Boolean when it needs to return an Integer.

E: Use ggzz's solution.

Brandon

2012-01-24 15:50:29

findobjcustom(X, Y, ['Foun'], [FountC(X, Y)], 2)

i need to bot!

2012-01-24 15:52:39

i actually find it much easier to read without standars o.0

and really? I still get

'[Error] (176:42): Invalid number of parameters at line 175
Compiling failed.'

:(

Inception

2012-01-24 16:02:32

If ggzz's solution doesn't work, then I would change FountC back to the way it was when you generated it. You aren't referencing it any other place then that call so there really is no reason for it to return a Boolean.

i need to bot!

2012-01-24 17:27:50

thanks ggzz :-) such an epic community

thanks again people :D