Results 1 to 10 of 10

Thread: Line 1186: [Error] (19481:61): Invalid number of parameters in script

  1. #1
    Join Date
    Jul 2007
    Posts
    75
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Line 1186: [Error] (19481:61): Invalid number of parameters in script

    gives me this error for several scripts=/

    Line 1186: [Error] (19481:61): Invalid number of parameters in script

    help??

  2. #2
    Join Date
    Oct 2006
    Location
    ithurtsithurtsithurtsithurts
    Posts
    2,930
    Mentioned
    7 Post(s)
    Quoted
    135 Post(s)

    Default

    Which scripts are you using?

  3. #3
    Join Date
    Dec 2008
    Posts
    47
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by mr n0obie2 View Post
    gives me this error for several scripts=/

    Line 1186: [Error] (19481:61): Invalid number of parameters in script

    help??
    What script, also post the line were the error occurs will help us help you faster.

    ~brad.

  4. #4
    Join Date
    Oct 2007
    Posts
    678
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by mr n0obie2 View Post
    gives me this error for several scripts=/

    Line 1186: [Error] (19481:61): Invalid number of parameters in script

    help??
    lol i'm willing to bet $$$ its invalid number of parameters for smarsetup function huh? to fix this check out my tut HERE

  5. #5
    Join Date
    Jul 2007
    Posts
    75
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    {===============================Script Info====================================|
    | ScriptName = Narcle's Autofight |
    | Author = Narcle |
    | Description = Fights any monster: Melee & Ranging |
    | Version = 0.91 |
    | Date = 8/28/08 |
    | SRL Version = 4.0 Rev 23 |
    | SCAR Divi = 3.15 |
    |================================================= =============================|
    | Instructions. |
    |================================================= =============================|
    | Make sure File access is set to "Allow All" to do this go: |
    | Tools > Options... > FiLewall settings > check "Allow All" > hit OK |
    | |
    | Please let this script connect to narcle.100webspace.net for NEWS |
    | |
    | Instructions are now on the thread to prevent leechers. |
    | |
    | Credits: |
    | HyperSecret, Chitin, nose_smasher, Logik, Versace, Cruel100 |
    |_________________________________________________ _____________________________}
    {.include srl/srl/misc/Smart.scar}
    {.include srl/srl.scar}
    {.include srl/srl/misc/Users.scar}
    var PickupColors: array of integer; PickupNames, DropAllBut, AmmoEquip: array of string;
    const
    {------------------------------------------------------------------------------}
    {===============================Player Setup===================================}
    {------------------------------------------------------------------------------}
    //SRL - Stats
    MySRLID = '';//example: '9999'
    MySRLPassword = '';//example: 'password'

    UseForm = true;//Use form? [true/false]
    LogoutEvery = 15;//Logout and back in every ? minutes. (9-14 is best)
    UseFileLogging = true;//This will keep a record of your fighting on computer, will also keep your SRL id & password now.
    FileLogStats = false;//Show your current stats on startup of script.

    //SMART setup
    WorldNumber = 134;

    //Sleeping / Breaking options:
    TakeBreaks = true;//Take 5-15 min breaks every 1-3 hours?
    TakeSleeps = false;//Take couple hour sleeps?
    SleepAt = '23:30';//In Military time! Must be in 'hh:mm' format.

    //Advance options:
    FindMobByMM = false;//Clicks to closes mob on Minimap
    DebugMode = false;//debug mode
    UseReportWin = false;//Use report window for status?
    RightClickOnly = false;//Use right click attacking only?

    //Pick-ups:
    PickUpPriority = true;//pick up even while in combat?
    PickupTol = 3;//Color tolerance for picking up items

    //Inventory Management
    DropCrap = false;
    BuryBones = false;
    EquipAmmo = false;

    procedure DeclarePlayers;
    begin

    //Custom Pickup
    PickupColors := []; //edit here
    PickupNames := ['charm', 'oin', 'rune']; //edit here

    { Example:
    PickupColors := [2130543,1035462,4641275]
    PickupNames := ['rimy','ranarr','rune','oin','rrow','ones']
    }

    //Inventory Management
    DropAllBut := ['ones', 'oin', 'rune','rrow']//names of items not to drop [drops everything else]
    AmmoEquip := []//full name perfect spelling, ['Equips 1st', 'Equips 2nd'] etc.

    if not(UseForm) then
    begin
    {================================================= =====}
    {!!!!! If UseForm = true then this does not APPLY !!!!!}
    {================================================= =====}
    HowManyPlayers := 1;//Change this accordinly
    NumberOfPlayers(HowManyPlayers);
    CurrentPlayer := 0;

    Players[0].Name := ''; //Character Name
    Players[0].Pass := ''; //Character Pass
    Players[0].Nick := 't r i'; //Nickname 3 - 4 Letter's of char name
    Players[0].Active := True; //Use player in script?
    Players[0].Booleans[0] := false;//Toggle Pickups?
    Players[0].Booleans[1] := false;//Inventory management?
    Players[0].Booleans[2] := false;//Use Special?
    Players[0].Strings[0] := '2829368 3887985 464163';//Monster Colors '231234 1243123 123123'
    Players[0].Strings[1] := 'scorpion';//Monster Name(s) 'giant uard oblin'
    Players[0].Strings[2] := 'attack'; //> strength, attack, defence, pure, even, accurate, rapid or longrange <
    Players[0].Strings[3] := 'e';//Player run direction > n, e, s, w <

    {
    Players[1].Name := ''; //Character Name
    Players[1].Pass := ''; //Character Pass
    Players[1].Nick := ''; //Nickname 3 - 4 Letter's of char name
    Players[1].Active := True; //Use player in script?
    Players[0].Booleans[0] := false;//Toggle Pickups?
    Players[0].Booleans[1] := false;//Inventory management?
    Players[0].Booleans[2] := false;//Use Special?
    Players[1].Strings[0] := '';//Monster Colors '231234 1243123 123123'
    Players[1].Strings[1] := '';//monster Name(s) 'giant uard oblin'
    Players[1].Strings[2] := 'even'; //> strength, attack, defence, pure, even, accurate, rapid or longrange <
    Players[1].Strings[3] := 's';//Player run direction > n, e, s, w <
    }
    {
    Players[2].Name := ''; //Character Name
    Players[2].Pass := ''; //Character Pass
    Players[2].Nick := ''; //Nickname 3 - 4 Letter's of char name
    Players[2].Active := True; //Use player in script?
    Players[0].Booleans[0] := false;//Toggle Pickups?
    Players[0].Booleans[1] := false;//Inventory management?
    Players[0].Booleans[2] := false;//Use Special?
    Players[2].Strings[0] := '';//Monster Colors '231234 1243123 123123'
    Players[2].Strings[1] := '';//monster Name(s) 'giant uard oblin'
    Players[2].Strings[2] := 'even'; //> strength, attack, defence, pure, even, accurate, rapid or longrange <
    Players[2].Strings[3] := 's';//Player run direction > n, e, s, w <
    }
    {
    Players[3].Name := ''; //Character Name
    Players[3].Pass := ''; //Character Pass
    Players[3].Nick := ''; //Nickname 3 - 4 Letter's of char name
    Players[3].Active := True; //Use player in script?
    Players[0].Booleans[0] := false;//Toggle Pickups?
    Players[0].Booleans[1] := false;//Inventory management?
    Players[0].Booleans[2] := false;//Use Special?
    Players[3].Strings[0] := '';//Monster Colors '231234 1243123 123123'
    Players[3].Strings[1] := '';//monster Name(s) 'giant uard oblin'
    Players[3].Strings[2] := 'even'; //> strength, attack, defence, pure, even, accurate, rapid or longrange <
    Players[3].Strings[3] := 's';//Player run direction > n, e, s, w <
    }
    {
    Players[4].Name := ''; //Character Name
    Players[4].Pass := ''; //Character Pass
    Players[4].Nick := ''; //Nickname 3 - 4 Letter's of char name
    Players[4].Active := True; //Use player in script?
    Players[0].Booleans[0] := false;//Toggle Pickups?
    Players[0].Booleans[1] := false;//Inventory management?
    Players[0].Booleans[2] := false;//Use Special?
    Players[4].Strings[0] := '';//Monster Colors '231234 1243123 123123'
    Players[4].Strings[1] := '';//monster Name(s) 'giant uard oblin'
    Players[4].Strings[2] := 'even'; //> strength, attack, defence, pure, even, accurate, rapid or longrange <
    Players[4].Strings[3] := 's';//Player run direction > n, e, s, w <
    }

    {------------------------------------------------------------------------------}
    {========================Don't touch Below this!===============================}
    {------------------------------------------------------------------------------}
    end else
    begin
    SRLPlayerForm(True, ['Toggle Pickups', 'Inv Manage', 'Use Special'], [], ['Monster Colors','Monster Name (tack)', 'Skill to train (even)','Run Direction (s)'], []);
    end;
    end;

    const
    Version = '0.91';
    ScriptINIid = 'NAFFight';
    ScriptName = 'Narcle''s AutoFight';
    DebugName = 'NAF';
    var
    TArrowAmount,Txp,TKilled,TFoodate,Titemspicked,TBo nesBuried:integer;//Total Stats
    StartXP, ArrowStartAmount:integer;//Stats
    LogoutTime, MobTackTime, RoundTimer, RanCheckTime, BreakTime:integer;//Timers
    Hoverskillis, CurrentRunDir, CurrentStyle:string;//Various Strings
    ColorArray: array of integer;//Monster color array
    NameArray: array of String;//Monster name array

    procedure LogoutSeq(reason:string); forward;

    function NInFight: Boolean;
    var
    x, y : Integer;
    begin
    Result := (FindColor(x, y, 65280, 242, 142, 283, 158) or
    FindColor(x, y, 255, 242, 142, 283, 158));
    end;

    function MouseInvTextCustom(istextup: TStringArray; option:string; waitt, times:integer; IsUp: Boolean; Action :fnct_ActionOptions): integer;
    var
    i,x,y:integer;
    leftclick: boolean;
    begin
    gametab(4);
    if Action = ClickLeft then leftclick := true;
    if Action = ClickRight then leftclick := false;
    for i := 1 to 28 do
    if (ExistsItem(i)) then
    begin
    if NInFight then
    Exit;
    MMouseItem(i);
    GetMousePos(x, y);
    wait(100+random(50));
    if IsUp then if (IsUpTextMultiCustom(istextup)) then
    begin
    if not (Action = Nothing) then Mouse(x,y,0,0,leftclick);
    if Action = Nothing then result := result+1;
    if Action = ClickLeft then result := result+1;
    if Action = ClickRight then if Chooseoption(option) then result := result+1;
    if not (Action = Nothing) then wait(waitt+random(100));
    end;
    if not(IsUp) then if not(IsUpTextMultiCustom(istextup)) then
    begin
    if not (Action = Nothing) then Mouse(x,y,0,0,leftclick);
    if Action = Nothing then result := result+1;
    if Action = ClickLeft then result := result+1;
    if Action = ClickRight then if Chooseoption(option) then result := result+1;
    if not (Action = Nothing) then wait(waitt+random(100));
    end;
    if (result = times) then exit;
    end;
    end;

    procedure NoID;
    begin
    ClearDebug;
    if (MySRLPassword = '') and not(MySRLID = '') then writeln('You need a ID & password entered.');
    writeln('To set up a SRL stats ID go here: http://www.stats.srl-forums.com');
    Disguise('No more leeching');
    ShowMessage('Please register at SRL-stats to use this script' +Chr(13)+
    'To set up a SRL stats ID go here: '+Chr(13)+' http://www.stats.srl-forums.com'+Chr(13)+
    +Chr(13)+' -Narcle');
    end;

    procedure NarcSig;
    var
    I,II:integer;
    s:string;
    begin
    Disguise('Sig Call');
    ChangeReportWidth(255);
    Status('Signature call; Watch the report box!');
    for I := 0 to 57 do
    begin
    clearreport;
    for II := 0 to 5 do
    Addtoreport(s+'||');
    wait(30);
    if I < 29 then s := s + ' ' else delete(s, Length(s), 1);
    end;
    for I := 1 to 29 do
    begin
    ClearReport;
    AddtoReport(Left(' _ _ _ ', I));
    AddtoReport(Left('| \ | | made by | | ', I));
    AddtoReport(Left('| \| | __ _ _ __ ___| | ___ ', I));
    AddtoReport(Left('| . ` |/ _` | ''__/ __| |/ _ \', I));
    AddtoReport(Left('| |\ | (_| | | | (__| | __/', I));
    AddtoReport(Left('|_| \_|\__,_|_| \___|_|\___|', I));
    wait(50);
    end;
    AddtoReport(ScriptName+' v'+Version);
    end;

    procedure ScriptNews;
    var
    i, len : Integer;
    news: string;
    begin
    ClearDebug;
    Status('Getting NEWS...');
    try
    news := GetPage('http://narcle.100webspace.net/'+DebugName+'/NEWS.txt');
    if news = '' then
    begin
    writeln('#@ Failed to get News');
    exit;
    end;
    Writeln('#@ NEWS '+Between('{da}','{te}', news)+ ' | Online version: '+Between('{ver}','{sion}', news));
    Case Between('{sta}', '{tus}', news) of
    'banage': Writeln('#@ Possible bug in script causing bans, recommend to stop autoing till fixed.');
    '1bugged': Writeln('#@ Minor bug(s) in script, read forums/below for details.');
    '2bugged': Writeln('#@ Major bug(s) in script, read forums/below for details.');
    'urgent': Writeln('#@ Urgent News please read!');
    'urgentforums': Writeln('#@ Urgent News please read the forums for details.');
    'perfect': Writeln('#@ Script is working fine, report any problems via forums.');
    end;
    len := strtoint( Between('{len}','{gth}', news) );
    for i := 0 to len do
    writeln('## '+Between('{'+inttostr(i)+'}','{'+inttostr(i+1)+'} ', news) );
    except
    writeln('#@ Failed to get News');
    exit;
    end;
    end;

    procedure NarclesINI;
    var
    Killed,XPGained,Timeran:integer;
    begin
    Disguise('Watch SCAR!');
    if not FileExists(AppPath+'Chars.ini') then
    begin
    WriteINI('NarclesINI', 'TTimeran', '0', AppPath+'Chars.ini');
    Writeln('#@ File Logging is ON.');
    WriteINI(ScriptINIid, 'Timeran', '0', AppPath+'Chars.ini');
    WriteINI(ScriptINIid, 'YourKills', '0', AppPath+'Chars.ini');
    WriteINI(ScriptINIid, 'XPGained', '0', AppPath+'Chars.ini');
    WriteINI(ScriptINIid,'CurrentVersion',Version,AppP ath+'Chars.ini');
    end else
    begin
    if ReadINI(ScriptINIid, 'Timeran', AppPath+'Chars.ini')='' then
    WriteINI(ScriptINIid, 'Timeran', '0', AppPath+'Chars.ini');
    if ReadINI(ScriptINIid, 'YourKills', AppPath+'Chars.ini')='' then
    WriteINI(ScriptINIid, 'YourKills', '0', AppPath+'Chars.ini');
    if ReadINI(ScriptINIid, 'XPGained', AppPath+'Chars.ini')='' then
    WriteINI(ScriptINIid, 'XPGained', '0', AppPath+'Chars.ini');
    if FileLogStats then
    begin
    Killed := strtoint(ReadINI(ScriptINIid, 'YourKills', AppPath+'Chars.ini'));
    XPGained := strtoint(ReadINI(ScriptINIid, 'XPGained', AppPath+'Chars.ini'));
    Timeran := strtoint(ReadINI(ScriptINIid, 'Timeran', AppPath+'Chars.ini'));
    Writeln('## __ File Logging __');
    Writeln('## Welcome back, you have ran '+ScriptName+' for '+inttostr(Timeran)+' minutes,');
    Writeln('## Killed '+inttostr(Killed)+' Monsters, Gained '+inttostr(XPGained)+' XP');
    end;
    if not (ReadINI(ScriptINIid, 'CurrentVersion',AppPath+'Chars.ini') = Version) then
    begin
    WriteINI(ScriptINIid,'CurrentVersion',Version,AppP ath+'Chars.ini');
    end;
    end;
    if not (MySRLID = '') and not(MySRLPassword = '') then
    begin
    if (ReadINI('NarclesINI', 'SRLid', AppPath+'Chars.ini')='') then
    begin
    writeln('#@ Your SRL id & password for SRL-stats has been stored in Chars.ini');
    writeln('## To update this just put in new MySRLid & MySRLpassword and push play');
    writeln('## After this is done you won''t have to put it in again for newer versions');
    end;
    WriteINI('NarclesINI', 'SRLid', MySRLID, AppPath+'Chars.ini');
    WriteINI('NarclesINI', 'SRLpassword', MySRLPassword, AppPath+'Chars.ini');
    end;
    if not(ReadINI('NarclesINI', 'SRLid', AppPath+'Chars.ini')='') then
    begin
    SRLid := ReadINI('NarclesINI', 'SRLid', AppPath+'Chars.ini');
    SRLPassword := ReadINI('NarclesINI', 'SRLpassword', AppPath+'Chars.ini');
    writeln('#@ SRL id & password loaded from ini file.');
    end;
    wait(3000);
    end;

    procedure NarcDebug(ln:string);
    begin
    if (debugmode) then
    WriteINI(TheDate(2), TheTime+' '+inttostr(getsystemtime)+' :', ' '+ln, AppPath+DebugName+'Debug.ini');
    end;

    function ActiveCount:integer;
    var i:integer;
    begin
    for i := 0 to HowManyPlayers-1 do
    if Players[i].Active then
    result := result+1;
    end;

    function FightOnScreen: Boolean;
    var
    x,y:integer;
    B:TBox;
    begin
    B:=IntToBox(240, 140, 285, 160);
    result := FindColorSkipBox(x, y, 65280, MSX1, MSY1, MSX2, MSY2, B) or
    FindColorSkipBox(x, y, 255, MSX1, MSY1, MSX2, MSY2, B);
    end;

    Function MobTPAs: TPointArray;
    Var
    TPA: TPointArray;
    begin
    FindColorsSpiralTolerance(MMCX, MMCY, TPA, 195836, MMX1, MMY1, MMX2, MMY2, 0);
    If Length(TPA) < 1 Then
    Exit;
    RAaSTPA(TPA, 4);
    SortTPAFrom(TPA, IntToPoint(MMCX, MMCY));
    result := TPA;
    end;

    Function MobsOnScreen: integer;
    var
    i: integer;
    TPA : TPointArray;
    begin
    TPA := MobTPAs;
    for i := 0 to High(TPA) do
    If InAbstractBox(590, 62, 656, 62, 646, 100, 600, 100, TPA[i].x, TPA[i].y) then
    result := result + 1;
    end;

    function ChangeCamera: boolean;
    var
    i, II, PosNeg:integer;
    begin
    Case random(2) of
    0: PosNeg := 1;
    1: PosNeg := -1;
    end;
    i := Round(rs_GetCompassAngleDegrees/45 - 1);
    if i < 0 then i := 0;
    if i > 7 then i := 7;
    For II := 0 to 7 do
    begin
    if (MobsOnScreen > 0) then
    begin
    result := true;
    exit;
    end;
    i := i+PosNeg;
    if i > 7 then i := 0;
    if i < 0 then i := 7;
    MakeCompass(inttostr(i*45));
    end;
    end;

    procedure InvManagement;
    begin
    if Players[currentplayer].Booleans[1] then
    begin
    NarcDebug('Inv Management');
    if BuryBones then
    ReportVars[4] := ReportVars[4] + MouseInvTextCustom(['ones'], 'ury', 600, 28, true, ClickRight);
    if EquipAmmo then
    MouseInvTextCustom(AmmoEquip, 'eild', 550, 1, true, ClickRight);
    if DropCrap then
    MouseInvTextCustom(DropAllBut, 'rop', 550, 28, false, ClickRight);
    ArrangeInv;
    end;
    end;

    function GetArrowCount:integer;
    begin
    gametab(5);
    result := GetAmount(666, 249);
    end;

    procedure Antiban;
    begin
    if not LoggedIn then Exit;
    case Random(60) of
    0: wait(500+random(10000));
    1: begin
    RandomMovement;
    SetAngle(true);
    end;
    2: HoverSkill(Hoverskillis ,false);
    3: PickUpMouse;
    end;
    end;

    Function AFWait(Time: Integer): Boolean;
    var
    ti,t: Integer;
    begin
    if not(loggedin) then exit;
    if time = 0 then Ti := 1 else Ti := Time;
    begin
    for T := 1 to Ti do
    begin
    if ( GetSystemTime > RanCheckTime ) then
    begin
    if FindNormalRandoms then
    result:=true;
    RanCheckTime := Getsystemtime + 120000+random(20000);
    end;
    if FindNonInventoryRandoms then
    begin
    FindInventoryRandoms;
    result := true;
    end;
    if FindTalk then
    Result := True;
    if Time = 0 then exit else Wait(200 + Random(50));
    end;
    end;
    end;

    {************************************************* ******************************
    function strToIntArrayEx(intArray, Separater : String) : Array of Integer;
    By: moparisthebest and Ron modified by Narcle
    Description: Loads a String into an array of integer.
    ************************************************** *****************************}
    function strToIntArrayEx(intArray, Separater : String) : Array of Integer;
    var
    i, spacePos: Integer;
    begin
    try
    repeat
    SetArrayLength(Result, i + 1);
    spacePos := Pos(Separater, intArray);
    if (not (spacePos = 0)) then
    Result[i] := StrToInt(Copy(intArray, 1, spacePos - 1))
    else
    begin
    Result[i] := StrToInt(Copy(intArray, 1, Length(intArray)));
    break;
    end;
    Delete(intArray, 1, spacePos);
    i := i + 1;
    until (False)
    except
    writeln('');
    Writeln('Check your color setup, its incorrect.');
    TerminateScript;
    end;
    for i := 0 to High(Result) do
    begin
    if Result[i] < 1 then
    begin
    swap(Result[i], Result[High(Result)])
    SetArrayLength(Result, High(Result)-1);
    end;
    end;
    end;

    {************************************************* ******************************
    function strToStrArrayEx(strArray, Separater : String) : Array of String;
    By: moparisthebest and Ron modified by Narcle
    Description: Loads a String into an array of String.
    ************************************************** *****************************}
    function strToStrArrayEx(strArray, Separater : String) : Array of String;
    var
    i, spacePos: Integer;
    begin
    repeat
    SetArrayLength(Result, i + 1);
    spacePos := Pos(Separater, strArray);
    if (not (spacePos = 0)) then
    Result[i] := (Copy(strArray, 1, spacePos - 1))
    else
    begin
    Result[i] := (Copy(strArray, 1, Length(strArray)));
    Break;
    end;
    Delete(strArray, 1, spacePos);
    i := i + 1;
    until (False)
    for i := 0 to High(Result) do
    begin
    if Result[i] = '' then
    begin
    swap(Result[i], Result[High(Result)])
    SetArrayLength(Result, High(Result)-1);
    end;
    end;
    end;

    procedure CombatLookup;
    var
    x, y, i, T:integer;
    Xarr, Yarr:array of integer;
    TB: TBox;
    TP: TPointArray;
    begin
    Xarr := [600, 685, 600, 685];
    Yarr := [275, 275, 330, 330];
    GameTab(1);
    for i := 0 to 3 do
    begin
    MMouse(Xarr[i], Yarr[i], 7, 7);
    T := GetSystemTime + 10000;
    repeat
    wait(50);
    if GetSystemTime > T then Exit;
    until FindColor(x, y, 10551295, 540, 205, 750, 465);
    wait(200);
    GetClientDimensions(TB.X2, TB.Y2);
    TB.X1 := 0;
    TB.Y1 := 0;
    FindColorsTolerance(TP, 10551295, TB.X1, TB.Y1, TB.X2, TB.Y2, 0);
    If Length(TP) = 0 Then Exit;
    TB := GetTPABounds(TP);
    //Writeln(Inttostr(TB.X1)+', '+inttostr(TB.Y1));
    Players[currentplayer].Strings[i+50] := Lowercase(Between('(', ' XP', GetTextAtEx(TB.X1+2, TB.Y1+27, 0, SmallChars, False, True, 0, 1, -1, 30, False, tr_AllChars)));
    if Players[currentplayer].Strings[i+50] = '' then
    begin
    Players[currentplayer].Strings[i+50] := Lowercase(Between('(', ' XP',
    GetTextAtEx(TB.X1+2, TB.Y1+14, 0, SmallChars, False, True, 0, 1, 0, 20, False, tr_AllChars)));
    end;
    Writeln(Players[currentplayer].Strings[i+50]);
    end;
    end;

    function CombatSelect(kind: string): boolean;
    var
    i:integer;
    begin
    for i := 0 to 3 do
    if Lowercase(kind) = Players[currentplayer].Strings[i+50] then
    begin
    SetFightMode(i+1);
    Hoverskillis := kind;
    Result := true;
    Exit;
    end;
    end;

    procedure SetupPlayer;
    Var
    Mode, i:integer;
    begin
    if (not(LoggedIn)) then LoginPlayer;
    Status('Setting up player: '+Players[CurrentPlayer].Name+'...');
    MouseSpeed := RandomRange(11, 16);
    ClickContinue(true,true);

    if Not Players[CurrentPlayer].Booleans[9] then
    begin
    Players[CurrentPlayer].Integers[8] := MouseInvTextCustom(['Eat'],'Eat', 100, 28, true, Nothing);
    Players[CurrentPlayer].Booleans[9] := true;
    writeln('Food = '+inttostr(Players[CurrentPlayer].Integers[8]));
    end;

    if Players[CurrentPlayer].Strings[3] = '' then
    CurrentRunDir := 's'
    else
    CurrentRunDir := lowercase(Players[CurrentPlayer].Strings[3]);

    if Players[CurrentPlayer].Strings[2] = '' then
    CurrentStyle := 'even'
    else
    CurrentStyle := lowercase(Players[CurrentPlayer].Strings[2]);

    ColorArray := strToIntArrayEx(Players[CurrentPlayer].Strings[0], ' ');;

    if (Players[CurrentPlayer].Strings[1] = '') then
    begin
    SetArrayLength(NameArray, 1);
    NameArray[0] := 'tack';
    end
    else NameArray := strToStrArrayEx(Players[CurrentPlayer].Strings[1], ' ');

    If (CurrentPlayer > 0) and (Players[CurrentPlayer].Strings[0]= '') then
    begin
    ColorArray := strToIntArrayEx(Players[0].Strings[0], ' ');
    try
    NameArray := strToStrArrayEx(Players[0].Strings[1], ' ');
    except
    SetArrayLength(NameArray, 1);
    NameArray[0] := 'tack';
    end;
    end;

    if High(ColorArray) < 2 then
    begin
    Logout;
    Writeln('Error: Please enter at least 2 monster colors for player(s).');
    terminatescript;
    end;

    GetAllLevels;

    if Players[currentplayer].Strings[50] = '' then
    begin
    CombatLookup;
    Players[currentplayer].Strings[60] := 'melee';
    for i := 0 to 3 do
    begin
    if ( Players[currentplayer].Strings[i+50] = 'ranged' ) then
    Players[currentplayer].Strings[60] := 'range';
    if ( Players[currentplayer].Strings[i+50] = 'magic' ) then
    Players[currentplayer].Strings[60] := 'magic';
    end;
    Writeln(Players[currentplayer].Strings[60])
    end;

    case Players[currentplayer].Strings[60] of
    'melee': begin
    case CurrentStyle of
    'attack': mode := 1;
    'strength': mode := 2;
    'defence': mode := 3;
    'even': begin
    if (Players[CurrentPlayer].level[3] <= Players[CurrentPlayer].level[1]) and
    (Players[CurrentPlayer].level[3] <= Players[CurrentPlayer].level[2]) then mode := 3;
    if (Players[CurrentPlayer].level[1] <= Players[CurrentPlayer].level[3]) and
    (Players[CurrentPlayer].level[1] <= Players[CurrentPlayer].level[2]) then mode := 1;
    if (Players[CurrentPlayer].level[2] <= Players[CurrentPlayer].level[1]) and
    (Players[CurrentPlayer].level[2] <= Players[CurrentPlayer].level[3]) then mode := 2;
    end;
    'pure': begin
    if Players[CurrentPlayer].level[2]<15 then mode := 2 else
    if Players[CurrentPlayer].level[1]<30 then mode := 1 else
    if Players[CurrentPlayer].level[2]<25 then mode := 2 else
    if Players[CurrentPlayer].level[1]<40 then mode := 1 else mode := 2;
    end;
    end;
    Case mode of
    1: if not CombatSelect('attack') then
    if not CombatSelect('strength') then
    CombatSelect('defence');
    2: if not CombatSelect('strength') then
    if not CombatSelect('attack') then
    CombatSelect('defence');
    3: if not CombatSelect('defence') then
    if not CombatSelect('strength') then
    CombatSelect('attack');
    end;
    end;
    'range': begin
    case CurrentStyle of
    'accurate' : SetFightMode(1);
    'rapid' : SetFightMode(2);
    'longrange': SetFightMode(3);
    'even': SetFightMode(2);
    end;
    Players[CurrentPlayer].Booleans[6] := true;
    HoverSkillIs := 'ranged';
    ArrowStartAmount:=GetArrowCount;
    If (ArrowStartAmount <= 200) then
    begin
    LogoutSeq('Low ammo count! (below 200)');
    exit;
    end;
    end;
    'magic': begin
    writeln('NAF doesn''t support Magic yet.');
    TerminateScript;
    end;
    end;

    Retaliate(True);
    StartXP := GetXP(Hoverskillis);
    SetRun(True);
    SetAngle(true);
    LogoutTime := Getsystemtime + RandomRange((LogoutEvery-2)*60000, (LogoutEvery+2)*60000);
    MarkTime(RoundTimer);
    MarkTime(MobTackTime)
    if UseReportWin then
    begin
    ClearReport;
    ChangeReportWidth(284);
    AddtoReport('/~~~' +Scriptname+' v'+Version+' ~~\');
    AddtoReport('|________Made by Narcle_________|');
    AddtoReport('| Active Players: '+inttostr(ActiveCount)+' False: '+inttostr(HowManyPlayers-ActiveCount)+' |');
    AddtoReport('Current Player: '+Players[Currentplayer].Name);
    end;
    Status('Script Running...');
    end;

    function ScriptRunTime: string;
    var
    H,M,S:integer;
    begin
    ConvertTime(gettimerunning, H, M, S);
    result := inttostr(H) + 'h:' + inttostr(M) + 'm:' + inttostr(S)+'s';
    end;

    procedure ProgressReport;
    Var
    AmmoPerHour, XPpH, CurRemXP, CurXP, CurAmmo, TimeToLvl, I, H,M,S,rH,rM,rS:integer;
    TimeToLvlStr:string;
    FailedRemXP: boolean;
    begin
    if not(loggedin) then LoginPlayer;

    ConvertTime(GetTimeRunning, rH, rM, rS);
    CurXP := GetXP(Hoverskillis);
    if (CurXP > Startxp) then
    ReportVars[1] := CurXP - Startxp;//XP gained this round

    ReportVars[0] := Round(ReportVars[0]*0.80);//Miss-click rate

    TKilled := TKilled + ReportVars[0];//Total Kills
    Txp := Txp + ReportVars[1];//Total XP
    TFoodate := TFoodate + ReportVars[2];//Total Food ate
    Titemspicked := Titemspicked + ReportVars[6];//Total Item picked up
    TBonesBuried := TBonesBuried + ReportVars[4];//Total Bones Buried


    if (HowManyPlayers = 1) then
    begin
    CurRemXP := XpTillNextLevel(Hoverskillis);
    if (CurRemXP = -1) then FailedRemXP := true;
    XPpH := Round( Txp / (rH+rM/60.0) );//XP per Hour
    TimeToLvl := Round( CurRemXP / ( Txp / ((rH*3600.0+rM*60.0+rS)*1000) ) ); //Time to Level in MS
    ConvertTime(TimeToLvl, H, M, S);
    if FailedRemXP then TimeToLvlStr := 'Failed'
    else TimeToLvlStr := inttostr(H) + 'h:' + inttostr(M) + 'm:' + inttostr(S) +'s';
    end;

    if Players[CurrentPlayer].Booleans[6] then
    begin
    CurAmmo := GetArrowCount;
    if (ArrowStartAmount > CurAmmo) then
    ReportVars[7] := ArrowStartAmount - CurAmmo;
    TArrowAmount := TArrowAmount + ReportVars[7];
    AmmoPerHour := Round( TArrowAmount / (rH+rM/60.0) );
    end;

    if (HowManyPlayers = 1) then
    begin
    Cleardebug;

    Writeln('***************************************** *****************************************');
    Writeln(Padr('| Narcle''s AutoFight v'+Version, 27) + Padr('| - Single Player -',27)+
    Padr('| '+ScriptRunTime, 27)+ '|');
    Writeln('***************************************** *****************************************');
    WriteLn(Padr('| Total Kills: ' + inttostr(TKilled), 27) + Padr('| Total XP: ' + inttostr(Txp), 27) +
    + Padr('| XP/hour: ' + inttostr(XPpH), 27) + '|');
    WriteLn(Padr('| Round Kills: ' + inttostr(ReportVars[0]), 27) + Padr('| Round XP : ' + inttostr(ReportVars[1]), 27)+
    + Padr('| '+Capitalize(HoverskillIs) + ' lvl: ' + TimeToLvlStr, 27) + '|');

    If Players[CurrentPlayer].Booleans[6] then
    writeln(Padr('| Ammo Remain: '+inttostr(GetArrowCount), 27) + Padr('| Ammo used: ' +inttostr(TArrowAmount), 27) +
    + Padr('| Ammo Used/hour: '+inttostr(AmmoPerHour), 27)+'|');

    if (TFoodate > 0) or (Titemspicked > 0) or (TBonesBuried >0) then
    WriteLn(Padr('| Pick ups: ' + inttostr(Titemspicked)+' ', 27) + Padr('| Food ate: '+inttostr(TFoodate)+' ', 27) +
    + Padr('| Bones Buried: ' + inttostr(TBonesBuried)+' ', 27)+'|');
    Writeln('***************************************** *****************************************');

    end;

    if (HowManyPlayers > 1) then
    begin
    Players[currentplayer].Integers[11] := Players[currentplayer].Integers[11] + ReportVars[1];//XP
    Players[currentplayer].Integers[12] := Players[currentplayer].Integers[12] + ReportVars[0];//Kills
    Players[currentplayer].Integers[13] := Players[currentplayer].Integers[13] + ReportVars[7];//Ammo Used
    Players[currentplayer].Integers[14] := Players[currentplayer].Integers[14] + ReportVars[6];//Items Picked-up
    Players[currentplayer].Integers[15] := Players[currentplayer].Integers[15] + ReportVars[2];//Food Ate
    Players[currentplayer].Integers[31] := Players[currentplayer].Integers[31] + TimeFromMark(RoundTimer);//Time in MS
    Players[currentplayer].Integers[32] := Round( (Players[currentplayer].Integers[11]*3600)/(Players[currentplayer].Integers[31]/1000) );//XP per Hour

    ClearDebug;
    Writeln('***************************************** **********************************************');
    Writeln('| - Multi - Player - Narcle''s AutoFight v'+Version+' by Narcle_| Run Time: '+
    +Padr(ScriptRunTime, 17)+' |');
    Writeln('***************************************** **********************************************');
    Writeln('| # | Nick | Active | XP Gained | Kills | XP/Hour | Food ate | Pick-ups | Ammo Used |');
    Writeln('| -- | ALL | Totals | '+Padr(IntToStr(Txp),9) + ' | ' + Padr(IntToStr(TKilled),6) +
    + ' | ------- | ' + Padr('Ate: ' + IntToStr(TFoodate),8) + ' | ' +Padr(inttostr(Titemspicked), 8) +
    + ' | '+ Padr(IntToStr(TArrowAmount),9) + ' |');

    For I := 0 to HowManyPlayers - 1 do
    begin
    Writeln('| '+Padl(IntToStr(I), 2)+' | '+Padr(Players[i].Nick, 4)+' | '+ Padr(BoolToStr(Players[i].Active), 6) + ' | ' +
    + Padr(IntToStr(Players[i].Integers[11]),9) + ' | ' + Padr(IntToStr(Players[i].Integers[12]),6) + ' | ' +
    + Padr(IntToStr(Players[i].Integers[32]),7) + ' | ' + Padr('Ate: ' + IntToStr(Players[i].Integers[15]),8) + ' | ' +
    + Padr(IntToStr(Players[i].Integers[14]),8) + ' | ' + Padr(IntToStr(Players[i].Integers[13]),9) + ' |');
    end;
    Writeln('***************************************** ***********************************');
    end;

    if UseFileLogging then
    begin
    WriteINI(ScriptINIid, 'Timeran',inttostr(strtoint(ReadINI(ScriptINIid, 'Timeran', AppPath+'Chars.ini')) + (TimeFromMark(RoundTimer)/60000) ), AppPath+'Chars.ini');
    WriteINI(ScriptINIid, 'YourKills',inttostr(strtoint(ReadINI(ScriptINIid, 'YourKills', AppPath+'Chars.ini')) + ReportVars[0]), AppPath+'Chars.ini');
    WriteINI(ScriptINIid, 'XPGained',inttostr(strtoint(ReadINI(ScriptINIid, 'XPGained', AppPath+'Chars.ini')) + ReportVars[1]), AppPath+'Chars.ini');
    end;

    SendSRLReport;
    end;


    procedure NAFHpCheck;
    var
    c:Integer;
    begin
    if (not LoggedIn) or (HPPercent > 64) then
    Exit;
    if (HPPercent < 30) then
    begin
    Status('Running away HP% < 30...');
    RunAway(CurrentRunDir, true, 1, 5000+random(5000) );
    end;
    if (HPPercent < 65) then
    begin
    Status('HP low doing HP checks...');
    if Players[CurrentPlayer].Integers[8] > 0 then
    if not(InvEmpty) then
    for c := 0 to 2 do
    begin
    if (MouseInvTextCustom(['Eat'],'Eat', 550, 1, true, ClickLeft) > 0) then
    begin
    ReportVars[2] := ReportVars[2] + 1;
    Players[CurrentPlayer].Integers[8] := Players[CurrentPlayer].Integers[8]-1;
    end;
    if (not(loggedin)) or (HPPercent > 64) then exit;
    end;
    repeat
    if not LoggedIn then
    Exit;
    AFWait(4);
    Case random(20) of
    0: RandomMovement;
    end;
    if NInFight then
    begin
    RunAway(CurrentRunDir, true, 1, 10000+random(2000) );
    if (HPPercent < 50) and NInFight then
    begin
    Status('Waiting to auto-logout...');
    repeat
    AFwait(4);
    until(not(loggedin))
    LogoutSeq('');
    end;
    end;
    MarkTime(MobTackTime);
    if (Getsystemtime > LogoutTime) then LogoutSeq('');

    Status('HP is ' + inttostr(HPPercent) + '%');
    until(HPPercent > 64);
    SetAngle(true);
    end;
    end;


    function CustomPickup:boolean;
    var
    i,x,y,L:integer;
    B: TBox;
    P: TPointArray;

    begin
    for i := 0 to (GetArrayLength(PickupColors)-1) do
    begin
    x:=MSCX;
    y:=MSCY;
    if (FindColorSpiralTolerance(x, y, PickupColors[i], MSX1, MSY1, MSX2, MSY2, PickupTol)) then
    begin
    MMouse(x,y,3,3);
    Wait(200+random(50));
    if IsUpText('ake') then
    begin
    GetMousePos(x, y);
    Mouse(x, y, 0, 0, False);
    wait(25+random(25));
    L := High(PickupNames);
    GetClientDimensions(B.X2, B.Y2);
    B.X1 := 0; B.Y1 := 0;
    FindColorsTolerance(P, 4674653, B.X1, B.Y1, B.X2, B.Y2, 0);
    If Length(P) = 0 Then Exit;
    B := GetTPABounds(P);

    for i := 0 to L do
    begin
    if (FindText(x, y, PickupNames[i], upchars, B.X1, B.Y1, B.X2, B.Y2)) then
    begin
    Wait(10);
    Mouse(x + 5, y + 3, Length(PickupNames[i]) * 6, 4, True);
    Result := True;
    NarcDebug('Picking up item');
    ReportVars[6] := ReportVars[6] + 1;
    AFWait(1);
    FFlag(0);
    end;
    end;
    if Not Result then
    MMouse(x, y-40, 30, 10)
    end;
    end;
    end;
    end;

    procedure NAFOutFight;
    var
    T: integer;
    begin
    if Players[CurrentPlayer].Booleans[6] then
    T := GetSystemTime - 12000
    else
    T := GetSystemTime;
    while not NInFight and (TimeFromMark(T) < 5000) do wait(100);
    if NInFight then
    begin
    Status('Killing monster...');
    repeat
    AFWait(1);
    NAFhpcheck;
    If Players[CurrentPlayer].Booleans[0] then
    If PickUpPriority then
    CustomPickup;
    until(not NInFight) or (not FightOnScreen) or (not LoggedIn)
    Status('');
    end else
    Wait(300);
    end;

    procedure LogoutSeq(reason:string);
    begin
    NAFOutFight;
    ProgressReport;
    if HowManyPlayers = 1 then
    begin
    while LoggedIn do Wait(100);
    wait(5000+random(30000));
    end;
    if (reason = '') then
    nextplayer(true)
    else
    begin
    writeln(reason+' '+Players[CurrentPlayer].Name+' is now inactive.');
    nextplayer(false);
    end;
    SetupPlayer;
    end;

    function TakeABreak: boolean;
    var
    H, M, S, BreakFor, T: integer;
    begin
    if ( GetSystemTime >= BreakTime ) then
    begin
    result := true;
    ProgressReport;
    BreakFor := RandomRange(5 * 60000, 25 * 60000);
    ConvertTime(BreakFor, H, M, S);
    Writeln('Break for: '+inttostr(M)+ 'm:' +inttostr(S)+ 's');
    Logout;
    MarkTime(T);
    Repeat
    ConvertTime(BreakFor - TimeFromMark(T), H, M, S)
    Disguise(inttostr(M)+ 'm:' +inttostr(S)+ 's Break');
    wait(1000);
    until (BreakFor < TimeFromMark(T))
    BreakTime := GetSystemTime+RandomRange(45*60000, 180*60000);
    Disguise('Resuming...');
    NextPlayer(true);
    SetupPlayer;
    end;
    end;

    function TakeASleep(SleepTime: string): boolean;
    var
    H, M, S, ms: Word;
    SleepH, SleepM, SleepFor, Hr, Mr, Sr, T: integer;
    begin
    SleepH := StrToInt(Left(SleepTime, 2));
    SleepM := StrToInt(Right(SleepTime, 2));
    DecodeTime(Now, H, M, S, ms);
    if (H = SleepH) and (M > SleepM) then
    begin
    Result := true;
    ProgressReport;
    SleepFor := RandomRange(350 * 60000, 730 * 60000);
    ConvertTime(SleepFor, Hr, Mr, Sr);
    Writeln('Sleep for: '+inttostr(Hr)+ 'h:'+inttostr(Mr)+ 'm:' +inttostr(Sr)+ 's');
    Logout;
    MarkTime(T);
    Repeat
    ConvertTime(SleepFor - TimeFromMark(T), Hr, Mr, Sr);
    Disguise(inttostr(Hr)+ 'h:'+inttostr(Mr)+ 'm:' +inttostr(Sr)+ 's Sleep');
    wait(1000);
    until (SleepFor < TimeFromMark(T))
    BreakTime := GetSystemTime+RandomRange(45*60000, 180*60000);
    Disguise('Resuming...');
    NextPlayer(true);
    SetupPlayer;
    end;
    end;


    var
    SpecTime: integer;
    procedure UseSpecial;
    begin
    if ( GetSystemTime > SpecTime) then
    begin
    gametab(1);
    Status('Using Special...');
    NarcDebug('Using special');
    wait(100+random(50));
    Mouse(640,421,8,4,true);
    SpecTime := GetSystemTime + RandomRange(66000, 132000);
    end;
    end;


    function SeekMob: Boolean;
    var
    Mobs : TPointArray;
    begin
    if not FindMobByMM then
    begin
    Result := false;
    exit;
    end;
    FindColorsTolerance(Mobs, 195836, MMX1, MMY1, MMX2, MMY2, 19);
    if Length(Mobs) > 3 then
    begin
    RAaSTPA(Mobs, 4);
    SortTPAFrom(Mobs, IntToPoint(MMCX, MMCY));
    if Length(Mobs) > 0 then
    begin
    Mouse(Mobs[0].x, Mobs[0].y, 3, 3, True);
    FFlag(0);
    Result := True;
    end;
    end;
    end;


    function NAFAttack(Names:TStringArray; Colors:TintegerArray; R_ClickOnly:Boolean): boolean;
    var
    xx, yy, c, x, y, L, ClickNum: integer;
    begin
    if not LoggedIn then
    Exit;
    if NInFight then
    if FightOnScreen then
    Exit;
    L := High(Colors);
    Status('Searching...');
    for c := 0 to L do
    begin
    if (MobsOnScreen = 0) or NInFight then
    Exit;
    x:=MSCX;
    y:=MSCY;
    if FindColorSpiralTolerance(x, y, Colors[c], MSX1, MSY1, MSX2, MSY2, 3) then
    begin
    MMouse(x, y, 3, 3);
    if FindColorSpiral(xx, yy, 65280, x - 15, y - 40, x + 15, y+ 40) then
    Continue;
    wait(150+random(50));
    if IsUpTextMultiCustom(Names) then
    begin
    GetMousePos(x, y);
    if R_ClickOnly then ClickNum := 0 else ClickNum := Random(2);
    case ClickNum of
    0: begin
    Mouse(x, y, 0, 0, false);
    if ChooseOption('tack') then
    result := true;
    end;
    1: begin
    HoldMouse(x, y, True);
    Wait(80 + Random(60));
    GetMousePos(x, y);
    ReleaseMouse(x, y, True);
    try
    Result := FindColor(x, y, 255, x-10, y-10, x+10, y+10);
    except
    Result := False;
    end;
    end;
    end;
    if result then
    begin
    MarkTime(MobTackTime);
    FFlag(0);
    if Players[CurrentPlayer].Booleans[6] then AFWait(20);
    ReportVars[0] := ReportVars[0] + 1;
    Exit;
    end;
    end;
    end;
    end;
    end;

    function SitAndWait: Boolean;
    var
    WaitTime: integer;
    TPA: TPointArray;
    begin
    MarkTime(WaitTime);
    repeat
    if not LoggedIn then exit;
    AFWait(2);
    NAFHpCheck;
    TPA := MobTPAs;
    if (Getarraylength(TPA) > 0) then
    if ChangeCamera then
    if NAFattack(NameArray, ColorArray, RightClickOnly) then
    begin
    result := true;
    Exit;
    end;
    until (TimeFromMark(WaitTime) > 120000)
    end;


    procedure NAFSetup;
    var
    V: TVariantArray;
    begin
    ScriptNews;
    NarcSig;

    SmartSetup('world'+inttostr(WorldNumber), true, true, false);
    while not SmartActive do wait(100);
    SetTargetDC(SmartGetDC);

    SetupSRL;

    if UseFileLogging then
    NarclesINI
    else
    begin
    SRLid:= MySRLId;
    SRLpassword:= MySRLPassword;
    end;

    if (SRLID = '') or (SRLPassword = '') then
    begin
    ThreadSafeCall('NoID', V);
    TerminateScript;
    end;

    ScriptID := '418';
    Disguise(ScriptName+' v'+Version);
    Status('Start Narcle''s AutoFight!');

    AddtoReport('Start time: '+TheTime);
    DeclarePlayers;
    CheckUserNicks;
    Status('Waiting for Runescape to load.');
    SetupPlayer;
    BreakTime := GetSystemTime+RandomRange(60*60000, 150*60000);
    end;

    {------------------------------------------------------------------------------}
    {===============================Main Execution=================================}
    {------------------------------------------------------------------------------}

    begin
    NAFSetup;
    repeat
    if not LoggedIn then
    LoginPlayer;

    NAFhpcheck;

    if NInFight then
    if FightOnScreen then
    NAFOutFight;

    if (MobsOnScreen = 0) then
    if not ChangeCamera then
    if not SeekMob then SitAndWait;

    if (TimeFromMark(MobTackTime) >= 180000) then
    LogoutSeq('Couldn''t find monsters.');

    if (Players[CurrentPlayer].Booleans[2]) then
    UseSpecial;

    if NAFattack(NameArray, ColorArray, RightClickOnly) then
    NAFOutFight;

    if Players[CurrentPlayer].Booleans[0] then
    CustomPickup;

    if (Getsystemtime > LogoutTime) then
    LogoutSeq('');

    if InvFull then
    InvManagement;

    if TakeSleeps then
    TakeASleep(SleepAt);
    if TakeBreaks then
    TakeABreak;
    Antiban;
    AFWait(0);
    until(false);
    end.

  6. #6
    Join Date
    Oct 2006
    Location
    ithurtsithurtsithurtsithurts
    Posts
    2,930
    Mentioned
    7 Post(s)
    Quoted
    135 Post(s)

    Default

    Quote Originally Posted by chitin View Post
    lol i'm willing to bet $$$ its invalid number of parameters for smarsetup function huh? to fix this check out my tut HERE
    And you would have won that money if anyone had taken that bet.

    @mr n0obie2: chitin is right. Follow the link he posted, and do what it says.

  7. #7
    Join Date
    Oct 2008
    Location
    C:\Simba\Includes\
    Posts
    7,566
    Mentioned
    19 Post(s)
    Quoted
    180 Post(s)

    Default

    Use Scar tags next time.

    SCAR Code:
    {===============================Script Info====================================|
    | ScriptName = Narcle's Autofight |
    | Author = Narcle |
    | Description = Fights any monster: Melee & Ranging |
    | Version = 0.91 |
    | Date = 8/28/08 |
    | SRL Version = 4.0 Rev 23 |
    | SCAR Divi = 3.15 |
    |================================================= =============================|
    | Instructions. |
    |================================================= =============================|
    | Make sure File access is set to "Allow All" to do this go: |
    | Tools > Options... > FiLewall settings > check "Allow All" > hit OK |
    | |
    | Please let this script connect to narcle.100webspace.net for NEWS |
    | |
    | Instructions are now on the thread to prevent leechers. |
    | |
    | Credits: |
    | HyperSecret, Chitin, nose_smasher, Logik, Versace, Cruel100 |
    |_________________________________________________ _____________________________}

    {.include srl/srl/misc/Smart.scar}
    {.include srl/srl.scar}
    {.include srl/srl/misc/Users.scar}
    var PickupColors: array of integer; PickupNames, DropAllBut, AmmoEquip: array of string;
    const
    {------------------------------------------------------------------------------}
    {===============================Player Setup===================================}
    {------------------------------------------------------------------------------}
    //SRL - Stats
    MySRLID = '';//example: '9999'
    MySRLPassword = '';//example: 'password'

    UseForm = true;//Use form? [true/false]
    LogoutEvery = 15;//Logout and back in every ? minutes. (9-14 is best)
    UseFileLogging = true;//This will keep a record of your fighting on computer, will also keep your SRL id & password now.
    FileLogStats = false;//Show your current stats on startup of script.

    //SMART setup
    WorldNumber = 134;

    //Sleeping / Breaking options:
    TakeBreaks = true;//Take 5-15 min breaks every 1-3 hours?
    TakeSleeps = false;//Take couple hour sleeps?
    SleepAt = '23:30';//In Military time! Must be in 'hh:mm' format.

    //Advance options:
    FindMobByMM = false;//Clicks to closes mob on Minimap
    DebugMode = false;//debug mode
    UseReportWin = false;//Use report window for status?
    RightClickOnly = false;//Use right click attacking only?

    //Pick-ups:
    PickUpPriority = true;//pick up even while in combat?
    PickupTol = 3;//Color tolerance for picking up items

    //Inventory Management
    DropCrap = false;
    BuryBones = false;
    EquipAmmo = false;

    procedure DeclarePlayers;
    begin

    //Custom Pickup
    PickupColors := []; //edit here
    PickupNames := ['charm', 'oin', 'rune']; //edit here

    { Example:
    PickupColors := [2130543,1035462,4641275]
    PickupNames := ['rimy','ranarr','rune','oin','rrow','ones']
    }


    //Inventory Management
    DropAllBut := ['ones', 'oin', 'rune','rrow']//names of items not to drop [drops everything else]
    AmmoEquip := []//full name perfect spelling, ['Equips 1st', 'Equips 2nd'] etc.

    if not(UseForm) then
    begin
    {================================================= =====}
    {!!!!! If UseForm = true then this does not APPLY !!!!!}
    {================================================= =====}
    HowManyPlayers := 1;//Change this accordinly
    NumberOfPlayers(HowManyPlayers);
    CurrentPlayer := 0;

    Players[0].Name := ''; //Character Name
    Players[0].Pass := ''; //Character Pass
    Players[0].Nick := 't r i'; //Nickname 3 - 4 Letter's of char name
    Players[0].Active := True; //Use player in script?
    Players[0].Booleans[0] := false;//Toggle Pickups?
    Players[0].Booleans[1] := false;//Inventory management?
    Players[0].Booleans[2] := false;//Use Special?
    Players[0].Strings[0] := '2829368 3887985 464163';//Monster Colors '231234 1243123 123123'
    Players[0].Strings[1] := 'scorpion';//Monster Name(s) 'giant uard oblin'
    Players[0].Strings[2] := 'attack'; //> strength, attack, defence, pure, even, accurate, rapid or longrange <
    Players[0].Strings[3] := 'e';//Player run direction > n, e, s, w <

    {
    Players[1].Name := ''; //Character Name
    Players[1].Pass := ''; //Character Pass
    Players[1].Nick := ''; //Nickname 3 - 4 Letter's of char name
    Players[1].Active := True; //Use player in script?
    Players[0].Booleans[0] := false;//Toggle Pickups?
    Players[0].Booleans[1] := false;//Inventory management?
    Players[0].Booleans[2] := false;//Use Special?
    Players[1].Strings[0] := '';//Monster Colors '231234 1243123 123123'
    Players[1].Strings[1] := '';//monster Name(s) 'giant uard oblin'
    Players[1].Strings[2] := 'even'; //> strength, attack, defence, pure, even, accurate, rapid or longrange <
    Players[1].Strings[3] := 's';//Player run direction > n, e, s, w <
    }

    {
    Players[2].Name := ''; //Character Name
    Players[2].Pass := ''; //Character Pass
    Players[2].Nick := ''; //Nickname 3 - 4 Letter's of char name
    Players[2].Active := True; //Use player in script?
    Players[0].Booleans[0] := false;//Toggle Pickups?
    Players[0].Booleans[1] := false;//Inventory management?
    Players[0].Booleans[2] := false;//Use Special?
    Players[2].Strings[0] := '';//Monster Colors '231234 1243123 123123'
    Players[2].Strings[1] := '';//monster Name(s) 'giant uard oblin'
    Players[2].Strings[2] := 'even'; //> strength, attack, defence, pure, even, accurate, rapid or longrange <
    Players[2].Strings[3] := 's';//Player run direction > n, e, s, w <
    }

    {
    Players[3].Name := ''; //Character Name
    Players[3].Pass := ''; //Character Pass
    Players[3].Nick := ''; //Nickname 3 - 4 Letter's of char name
    Players[3].Active := True; //Use player in script?
    Players[0].Booleans[0] := false;//Toggle Pickups?
    Players[0].Booleans[1] := false;//Inventory management?
    Players[0].Booleans[2] := false;//Use Special?
    Players[3].Strings[0] := '';//Monster Colors '231234 1243123 123123'
    Players[3].Strings[1] := '';//monster Name(s) 'giant uard oblin'
    Players[3].Strings[2] := 'even'; //> strength, attack, defence, pure, even, accurate, rapid or longrange <
    Players[3].Strings[3] := 's';//Player run direction > n, e, s, w <
    }

    {
    Players[4].Name := ''; //Character Name
    Players[4].Pass := ''; //Character Pass
    Players[4].Nick := ''; //Nickname 3 - 4 Letter's of char name
    Players[4].Active := True; //Use player in script?
    Players[0].Booleans[0] := false;//Toggle Pickups?
    Players[0].Booleans[1] := false;//Inventory management?
    Players[0].Booleans[2] := false;//Use Special?
    Players[4].Strings[0] := '';//Monster Colors '231234 1243123 123123'
    Players[4].Strings[1] := '';//monster Name(s) 'giant uard oblin'
    Players[4].Strings[2] := 'even'; //> strength, attack, defence, pure, even, accurate, rapid or longrange <
    Players[4].Strings[3] := 's';//Player run direction > n, e, s, w <
    }


    {------------------------------------------------------------------------------}
    {========================Don't touch Below this!===============================}
    {------------------------------------------------------------------------------}
    end else
    begin
    SRLPlayerForm(True, ['Toggle Pickups', 'Inv Manage', 'Use Special'], [], ['Monster Colors','Monster Name (tack)', 'Skill to train (even)','Run Direction (s)'], []);
    end;
    end;

    const
    Version = '0.91';
    ScriptINIid = 'NAFFight';
    ScriptName = 'Narcle''s AutoFight';
    DebugName = 'NAF';
    var
    TArrowAmount,Txp,TKilled,TFoodate,Titemspicked,TBo nesBuried:integer;//Total Stats
    StartXP, ArrowStartAmount:integer;//Stats
    LogoutTime, MobTackTime, RoundTimer, RanCheckTime, BreakTime:integer;//Timers
    Hoverskillis, CurrentRunDir, CurrentStyle:string;//Various Strings
    ColorArray: array of integer;//Monster color array
    NameArray: array of String;//Monster name array

    procedure LogoutSeq(reason:string); forward;

    function NInFight: Boolean;
    var
    x, y : Integer;
    begin
    Result := (FindColor(x, y, 65280, 242, 142, 283, 158) or
    FindColor(x, y, 255, 242, 142, 283, 158));
    end;

    function MouseInvTextCustom(istextup: TStringArray; option:string; waitt, times:integer; IsUp: Boolean; Action :fnct_ActionOptions): integer;
    var
    i,x,y:integer;
    leftclick: boolean;
    begin
    gametab(4);
    if Action = ClickLeft then leftclick := true;
    if Action = ClickRight then leftclick := false;
    for i := 1 to 28 do
    if (ExistsItem(i)) then
    begin
    if NInFight then
    Exit;
    MMouseItem(i);
    GetMousePos(x, y);
    wait(100+random(50));
    if IsUp then if (IsUpTextMultiCustom(istextup)) then
    begin
    if not (Action = Nothing) then Mouse(x,y,0,0,leftclick);
    if Action = Nothing then result := result+1;
    if Action = ClickLeft then result := result+1;
    if Action = ClickRight then if Chooseoption(option) then result := result+1;
    if not (Action = Nothing) then wait(waitt+random(100));
    end;
    if not(IsUp) then if not(IsUpTextMultiCustom(istextup)) then
    begin
    if not (Action = Nothing) then Mouse(x,y,0,0,leftclick);
    if Action = Nothing then result := result+1;
    if Action = ClickLeft then result := result+1;
    if Action = ClickRight then if Chooseoption(option) then result := result+1;
    if not (Action = Nothing) then wait(waitt+random(100));
    end;
    if (result = times) then exit;
    end;
    end;

    procedure NoID;
    begin
    ClearDebug;
    if (MySRLPassword = '') and not(MySRLID = '') then writeln('You need a ID & password entered.');
    writeln('To set up a SRL stats ID go here: http://www.stats.srl-forums.com');
    Disguise('No more leeching');
    ShowMessage('Please register at SRL-stats to use this script' +Chr(13)+
    'To set up a SRL stats ID go here: '+Chr(13)+' http://www.stats.srl-forums.com'+Chr(13)+
    +Chr(13)+' -Narcle');
    end;

    procedure NarcSig;
    var
    I,II:integer;
    s:string;
    begin
    Disguise('Sig Call');
    ChangeReportWidth(255);
    Status('Signature call; Watch the report box!');
    for I := 0 to 57 do
    begin
    clearreport;
    for II := 0 to 5 do
    Addtoreport(s+'||');
    wait(30);
    if I < 29 then s := s + ' ' else delete(s, Length(s), 1);
    end;
    for I := 1 to 29 do
    begin
    ClearReport;
    AddtoReport(Left(' _ _ _ ', I));
    AddtoReport(Left('| \ | | made by | | ', I));
    AddtoReport(Left('| \| | __ _ _ __ ___| | ___ ', I));
    AddtoReport(Left('| . ` |/ _` | ''__/ __| |/ _ \', I));
    AddtoReport(Left('| |\ | (_| | | | (__| | __/', I));
    AddtoReport(Left('|_| \_|\__,_|_| \___|_|\___|', I));
    wait(50);
    end;
    AddtoReport(ScriptName+' v'+Version);
    end;

    procedure ScriptNews;
    var
    i, len : Integer;
    news: string;
    begin
    ClearDebug;
    Status('Getting NEWS...');
    try
    news := GetPage('http://narcle.100webspace.net/'+DebugName+'/NEWS.txt');
    if news = '' then
    begin
    writeln('#@ Failed to get News');
    exit;
    end;
    Writeln('#@ NEWS '+Between('{da}','{te}', news)+ ' | Online version: '+Between('{ver}','{sion}', news));
    Case Between('{sta}', '{tus}', news) of
    'banage': Writeln('#@ Possible bug in script causing bans, recommend to stop autoing till fixed.');
    '1bugged': Writeln('#@ Minor bug(s) in script, read forums/below for details.');
    '2bugged': Writeln('#@ Major bug(s) in script, read forums/below for details.');
    'urgent': Writeln('#@ Urgent News please read!');
    'urgentforums': Writeln('#@ Urgent News please read the forums for details.');
    'perfect': Writeln('#@ Script is working fine, report any problems via forums.');
    end;
    len := strtoint( Between('{len}','{gth}', news) );
    for i := 0 to len do
    writeln('## '+Between('{'+inttostr(i)+'}','{'+inttostr(i+1)+'} ', news) );
    except
    writeln('#@ Failed to get News');
    exit;
    end;
    end;

    procedure NarclesINI;
    var
    Killed,XPGained,Timeran:integer;
    begin
    Disguise('Watch SCAR!');
    if not FileExists(AppPath+'Chars.ini') then
    begin
    WriteINI('NarclesINI', 'TTimeran', '0', AppPath+'Chars.ini');
    Writeln('#@ File Logging is ON.');
    WriteINI(ScriptINIid, 'Timeran', '0', AppPath+'Chars.ini');
    WriteINI(ScriptINIid, 'YourKills', '0', AppPath+'Chars.ini');
    WriteINI(ScriptINIid, 'XPGained', '0', AppPath+'Chars.ini');
    WriteINI(ScriptINIid,'CurrentVersion',Version,AppP ath+'Chars.ini');
    end else
    begin
    if ReadINI(ScriptINIid, 'Timeran', AppPath+'Chars.ini')='' then
    WriteINI(ScriptINIid, 'Timeran', '0', AppPath+'Chars.ini');
    if ReadINI(ScriptINIid, 'YourKills', AppPath+'Chars.ini')='' then
    WriteINI(ScriptINIid, 'YourKills', '0', AppPath+'Chars.ini');
    if ReadINI(ScriptINIid, 'XPGained', AppPath+'Chars.ini')='' then
    WriteINI(ScriptINIid, 'XPGained', '0', AppPath+'Chars.ini');
    if FileLogStats then
    begin
    Killed := strtoint(ReadINI(ScriptINIid, 'YourKills', AppPath+'Chars.ini'));
    XPGained := strtoint(ReadINI(ScriptINIid, 'XPGained', AppPath+'Chars.ini'));
    Timeran := strtoint(ReadINI(ScriptINIid, 'Timeran', AppPath+'Chars.ini'));
    Writeln('## __ File Logging __');
    Writeln('## Welcome back, you have ran '+ScriptName+' for '+inttostr(Timeran)+' minutes,');
    Writeln('## Killed '+inttostr(Killed)+' Monsters, Gained '+inttostr(XPGained)+' XP');
    end;
    if not (ReadINI(ScriptINIid, 'CurrentVersion',AppPath+'Chars.ini') = Version) then
    begin
    WriteINI(ScriptINIid,'CurrentVersion',Version,AppP ath+'Chars.ini');
    end;
    end;
    if not (MySRLID = '') and not(MySRLPassword = '') then
    begin
    if (ReadINI('NarclesINI', 'SRLid', AppPath+'Chars.ini')='') then
    begin
    writeln('#@ Your SRL id & password for SRL-stats has been stored in Chars.ini');
    writeln('## To update this just put in new MySRLid & MySRLpassword and push play');
    writeln('## After this is done you won''t have to put it in again for newer versions');
    end;
    WriteINI('NarclesINI', 'SRLid', MySRLID, AppPath+'Chars.ini');
    WriteINI('NarclesINI', 'SRLpassword', MySRLPassword, AppPath+'Chars.ini');
    end;
    if not(ReadINI('NarclesINI', 'SRLid', AppPath+'Chars.ini')='') then
    begin
    SRLid := ReadINI('NarclesINI', 'SRLid', AppPath+'Chars.ini');
    SRLPassword := ReadINI('NarclesINI', 'SRLpassword', AppPath+'Chars.ini');
    writeln('#@ SRL id & password loaded from ini file.');
    end;
    wait(3000);
    end;

    procedure NarcDebug(ln:string);
    begin
    if (debugmode) then
    WriteINI(TheDate(2), TheTime+' '+inttostr(getsystemtime)+' :', ' '+ln, AppPath+DebugName+'Debug.ini');
    end;

    function ActiveCount:integer;
    var i:integer;
    begin
    for i := 0 to HowManyPlayers-1 do
    if Players[i].Active then
    result := result+1;
    end;

    function FightOnScreen: Boolean;
    var
    x,y:integer;
    B:TBox;
    begin
    B:=IntToBox(240, 140, 285, 160);
    result := FindColorSkipBox(x, y, 65280, MSX1, MSY1, MSX2, MSY2, B) or
    FindColorSkipBox(x, y, 255, MSX1, MSY1, MSX2, MSY2, B);
    end;

    Function MobTPAs: TPointArray;
    Var
    TPA: TPointArray;
    begin
    FindColorsSpiralTolerance(MMCX, MMCY, TPA, 195836, MMX1, MMY1, MMX2, MMY2, 0);
    If Length(TPA) < 1 Then
    Exit;
    RAaSTPA(TPA, 4);
    SortTPAFrom(TPA, IntToPoint(MMCX, MMCY));
    result := TPA;
    end;

    Function MobsOnScreen: integer;
    var
    i: integer;
    TPA : TPointArray;
    begin
    TPA := MobTPAs;
    for i := 0 to High(TPA) do
    If InAbstractBox(590, 62, 656, 62, 646, 100, 600, 100, TPA[i].x, TPA[i].y) then
    result := result + 1;
    end;

    function ChangeCamera: boolean;
    var
    i, II, PosNeg:integer;
    begin
    Case random(2) of
    0: PosNeg := 1;
    1: PosNeg := -1;
    end;
    i := Round(rs_GetCompassAngleDegrees/45 - 1);
    if i < 0 then i := 0;
    if i > 7 then i := 7;
    For II := 0 to 7 do
    begin
    if (MobsOnScreen > 0) then
    begin
    result := true;
    exit;
    end;
    i := i+PosNeg;
    if i > 7 then i := 0;
    if i < 0 then i := 7;
    MakeCompass(inttostr(i*45));
    end;
    end;

    procedure InvManagement;
    begin
    if Players[currentplayer].Booleans[1] then
    begin
    NarcDebug('Inv Management');
    if BuryBones then
    ReportVars[4] := ReportVars[4] + MouseInvTextCustom(['ones'], 'ury', 600, 28, true, ClickRight);
    if EquipAmmo then
    MouseInvTextCustom(AmmoEquip, 'eild', 550, 1, true, ClickRight);
    if DropCrap then
    MouseInvTextCustom(DropAllBut, 'rop', 550, 28, false, ClickRight);
    ArrangeInv;
    end;
    end;

    function GetArrowCount:integer;
    begin
    gametab(5);
    result := GetAmount(666, 249);
    end;

    procedure Antiban;
    begin
    if not LoggedIn then Exit;
    case Random(60) of
    0: wait(500+random(10000));
    1: begin
    RandomMovement;
    SetAngle(true);
    end;
    2: HoverSkill(Hoverskillis ,false);
    3: PickUpMouse;
    end;
    end;

    Function AFWait(Time: Integer): Boolean;
    var
    ti,t: Integer;
    begin
    if not(loggedin) then exit;
    if time = 0 then Ti := 1 else Ti := Time;
    begin
    for T := 1 to Ti do
    begin
    if ( GetSystemTime > RanCheckTime ) then
    begin
    if FindNormalRandoms then
    result:=true;
    RanCheckTime := Getsystemtime + 120000+random(20000);
    end;
    if FindNonInventoryRandoms then
    begin
    FindInventoryRandoms;
    result := true;
    end;
    if FindTalk then
    Result := True;
    if Time = 0 then exit else Wait(200 + Random(50));
    end;
    end;
    end;

    {************************************************* ******************************
    function strToIntArrayEx(intArray, Separater : String) : Array of Integer;
    By: moparisthebest and Ron modified by Narcle
    Description: Loads a String into an array of integer.
    ************************************************** *****************************}

    function strToIntArrayEx(intArray, Separater : String) : Array of Integer;
    var
    i, spacePos: Integer;
    begin
    try
    repeat
    SetArrayLength(Result, i + 1);
    spacePos := Pos(Separater, intArray);
    if (not (spacePos = 0)) then
    Result[i] := StrToInt(Copy(intArray, 1, spacePos - 1))
    else
    begin
    Result[i] := StrToInt(Copy(intArray, 1, Length(intArray)));
    break;
    end;
    Delete(intArray, 1, spacePos);
    i := i + 1;
    until (False)
    except
    writeln('');
    Writeln('Check your color setup, its incorrect.');
    TerminateScript;
    end;
    for i := 0 to High(Result) do
    begin
    if Result[i] < 1 then
    begin
    swap(Result[i], Result[High(Result)])
    SetArrayLength(Result, High(Result)-1);
    end;
    end;
    end;

    {************************************************* ******************************
    function strToStrArrayEx(strArray, Separater : String) : Array of String;
    By: moparisthebest and Ron modified by Narcle
    Description: Loads a String into an array of String.
    ************************************************** *****************************}

    function strToStrArrayEx(strArray, Separater : String) : Array of String;
    var
    i, spacePos: Integer;
    begin
    repeat
    SetArrayLength(Result, i + 1);
    spacePos := Pos(Separater, strArray);
    if (not (spacePos = 0)) then
    Result[i] := (Copy(strArray, 1, spacePos - 1))
    else
    begin
    Result[i] := (Copy(strArray, 1, Length(strArray)));
    Break;
    end;
    Delete(strArray, 1, spacePos);
    i := i + 1;
    until (False)
    for i := 0 to High(Result) do
    begin
    if Result[i] = '' then
    begin
    swap(Result[i], Result[High(Result)])
    SetArrayLength(Result, High(Result)-1);
    end;
    end;
    end;

    procedure CombatLookup;
    var
    x, y, i, T:integer;
    Xarr, Yarr:array of integer;
    TB: TBox;
    TP: TPointArray;
    begin
    Xarr := [600, 685, 600, 685];
    Yarr := [275, 275, 330, 330];
    GameTab(1);
    for i := 0 to 3 do
    begin
    MMouse(Xarr[i], Yarr[i], 7, 7);
    T := GetSystemTime + 10000;
    repeat
    wait(50);
    if GetSystemTime > T then Exit;
    until FindColor(x, y, 10551295, 540, 205, 750, 465);
    wait(200);
    GetClientDimensions(TB.X2, TB.Y2);
    TB.X1 := 0;
    TB.Y1 := 0;
    FindColorsTolerance(TP, 10551295, TB.X1, TB.Y1, TB.X2, TB.Y2, 0);
    If Length(TP) = 0 Then Exit;
    TB := GetTPABounds(TP);
    //Writeln(Inttostr(TB.X1)+', '+inttostr(TB.Y1));
    Players[currentplayer].Strings[i+50] := Lowercase(Between('(', ' XP', GetTextAtEx(TB.X1+2, TB.Y1+27, 0, SmallChars, False, True, 0, 1, -1, 30, False, tr_AllChars)));
    if Players[currentplayer].Strings[i+50] = '' then
    begin
    Players[currentplayer].Strings[i+50] := Lowercase(Between('(', ' XP',
    GetTextAtEx(TB.X1+2, TB.Y1+14, 0, SmallChars, False, True, 0, 1, 0, 20, False, tr_AllChars)));
    end;
    Writeln(Players[currentplayer].Strings[i+50]);
    end;
    end;

    function CombatSelect(kind: string): boolean;
    var
    i:integer;
    begin
    for i := 0 to 3 do
    if Lowercase(kind) = Players[currentplayer].Strings[i+50] then
    begin
    SetFightMode(i+1);
    Hoverskillis := kind;
    Result := true;
    Exit;
    end;
    end;

    procedure SetupPlayer;
    Var
    Mode, i:integer;
    begin
    if (not(LoggedIn)) then LoginPlayer;
    Status('Setting up player: '+Players[CurrentPlayer].Name+'...');
    MouseSpeed := RandomRange(11, 16);
    ClickContinue(true,true);

    if Not Players[CurrentPlayer].Booleans[9] then
    begin
    Players[CurrentPlayer].Integers[8] := MouseInvTextCustom(['Eat'],'Eat', 100, 28, true, Nothing);
    Players[CurrentPlayer].Booleans[9] := true;
    writeln('Food = '+inttostr(Players[CurrentPlayer].Integers[8]));
    end;

    if Players[CurrentPlayer].Strings[3] = '' then
    CurrentRunDir := 's'
    else
    CurrentRunDir := lowercase(Players[CurrentPlayer].Strings[3]);

    if Players[CurrentPlayer].Strings[2] = '' then
    CurrentStyle := 'even'
    else
    CurrentStyle := lowercase(Players[CurrentPlayer].Strings[2]);

    ColorArray := strToIntArrayEx(Players[CurrentPlayer].Strings[0], ' ');;

    if (Players[CurrentPlayer].Strings[1] = '') then
    begin
    SetArrayLength(NameArray, 1);
    NameArray[0] := 'tack';
    end
    else NameArray := strToStrArrayEx(Players[CurrentPlayer].Strings[1], ' ');

    If (CurrentPlayer > 0) and (Players[CurrentPlayer].Strings[0]= '') then
    begin
    ColorArray := strToIntArrayEx(Players[0].Strings[0], ' ');
    try
    NameArray := strToStrArrayEx(Players[0].Strings[1], ' ');
    except
    SetArrayLength(NameArray, 1);
    NameArray[0] := 'tack';
    end;
    end;

    if High(ColorArray) < 2 then
    begin
    Logout;
    Writeln('Error: Please enter at least 2 monster colors for player(s).');
    terminatescript;
    end;

    GetAllLevels;

    if Players[currentplayer].Strings[50] = '' then
    begin
    CombatLookup;
    Players[currentplayer].Strings[60] := 'melee';
    for i := 0 to 3 do
    begin
    if ( Players[currentplayer].Strings[i+50] = 'ranged' ) then
    Players[currentplayer].Strings[60] := 'range';
    if ( Players[currentplayer].Strings[i+50] = 'magic' ) then
    Players[currentplayer].Strings[60] := 'magic';
    end;
    Writeln(Players[currentplayer].Strings[60])
    end;

    case Players[currentplayer].Strings[60] of
    'melee': begin
    case CurrentStyle of
    'attack': mode := 1;
    'strength': mode := 2;
    'defence': mode := 3;
    'even': begin
    if (Players[CurrentPlayer].level[3] <= Players[CurrentPlayer].level[1]) and
    (Players[CurrentPlayer].level[3] <= Players[CurrentPlayer].level[2]) then mode := 3;
    if (Players[CurrentPlayer].level[1] <= Players[CurrentPlayer].level[3]) and
    (Players[CurrentPlayer].level[1] <= Players[CurrentPlayer].level[2]) then mode := 1;
    if (Players[CurrentPlayer].level[2] <= Players[CurrentPlayer].level[1]) and
    (Players[CurrentPlayer].level[2] <= Players[CurrentPlayer].level[3]) then mode := 2;
    end;
    'pure': begin
    if Players[CurrentPlayer].level[2]<15 then mode := 2 else
    if Players[CurrentPlayer].level[1]<30 then mode := 1 else
    if Players[CurrentPlayer].level[2]<25 then mode := 2 else
    if Players[CurrentPlayer].level[1]<40 then mode := 1 else mode := 2;
    end;
    end;
    Case mode of
    1: if not CombatSelect('attack') then
    if not CombatSelect('strength') then
    CombatSelect('defence');
    2: if not CombatSelect('strength') then
    if not CombatSelect('attack') then
    CombatSelect('defence');
    3: if not CombatSelect('defence') then
    if not CombatSelect('strength') then
    CombatSelect('attack');
    end;
    end;
    'range': begin
    case CurrentStyle of
    'accurate' : SetFightMode(1);
    'rapid' : SetFightMode(2);
    'longrange': SetFightMode(3);
    'even': SetFightMode(2);
    end;
    Players[CurrentPlayer].Booleans[6] := true;
    HoverSkillIs := 'ranged';
    ArrowStartAmount:=GetArrowCount;
    If (ArrowStartAmount <= 200) then
    begin
    LogoutSeq('Low ammo count! (below 200)');
    exit;
    end;
    end;
    'magic': begin
    writeln('NAF doesn''t support Magic yet.');
    TerminateScript;
    end;
    end;

    Retaliate(True);
    StartXP := GetXP(Hoverskillis);
    SetRun(True);
    SetAngle(true);
    LogoutTime := Getsystemtime + RandomRange((LogoutEvery-2)*60000, (LogoutEvery+2)*60000);
    MarkTime(RoundTimer);
    MarkTime(MobTackTime)
    if UseReportWin then
    begin
    ClearReport;
    ChangeReportWidth(284);
    AddtoReport('/~~~' +Scriptname+' v'+Version+' ~~\');
    AddtoReport('|________Made by Narcle_________|');
    AddtoReport('| Active Players: '+inttostr(ActiveCount)+' False: '+inttostr(HowManyPlayers-ActiveCount)+' |');
    AddtoReport('Current Player: '+Players[Currentplayer].Name);
    end;
    Status('Script Running...');
    end;

    function ScriptRunTime: string;
    var
    H,M,S:integer;
    begin
    ConvertTime(gettimerunning, H, M, S);
    result := inttostr(H) + 'h:' + inttostr(M) + 'm:' + inttostr(S)+'s';
    end;

    procedure ProgressReport;
    Var
    AmmoPerHour, XPpH, CurRemXP, CurXP, CurAmmo, TimeToLvl, I, H,M,S,rH,rM,rS:integer;
    TimeToLvlStr:string;
    FailedRemXP: boolean;
    begin
    if not(loggedin) then LoginPlayer;

    ConvertTime(GetTimeRunning, rH, rM, rS);
    CurXP := GetXP(Hoverskillis);
    if (CurXP > Startxp) then
    ReportVars[1] := CurXP - Startxp;//XP gained this round

    ReportVars[0] := Round(ReportVars[0]*0.80);//Miss-click rate

    TKilled := TKilled + ReportVars[0];//Total Kills
    Txp := Txp + ReportVars[1];//Total XP
    TFoodate := TFoodate + ReportVars[2];//Total Food ate
    Titemspicked := Titemspicked + ReportVars[6];//Total Item picked up
    TBonesBuried := TBonesBuried + ReportVars[4];//Total Bones Buried


    if (HowManyPlayers = 1) then
    begin
    CurRemXP := XpTillNextLevel(Hoverskillis);
    if (CurRemXP = -1) then FailedRemXP := true;
    XPpH := Round( Txp / (rH+rM/60.0) );//XP per Hour
    TimeToLvl := Round( CurRemXP / ( Txp / ((rH*3600.0+rM*60.0+rS)*1000) ) ); //Time to Level in MS
    ConvertTime(TimeToLvl, H, M, S);
    if FailedRemXP then TimeToLvlStr := 'Failed'
    else TimeToLvlStr := inttostr(H) + 'h:' + inttostr(M) + 'm:' + inttostr(S) +'s';
    end;

    if Players[CurrentPlayer].Booleans[6] then
    begin
    CurAmmo := GetArrowCount;
    if (ArrowStartAmount > CurAmmo) then
    ReportVars[7] := ArrowStartAmount - CurAmmo;
    TArrowAmount := TArrowAmount + ReportVars[7];
    AmmoPerHour := Round( TArrowAmount / (rH+rM/60.0) );
    end;

    if (HowManyPlayers = 1) then
    begin
    Cleardebug;

    Writeln('***************************************** *****************************************');
    Writeln(Padr('| Narcle''s AutoFight v'+Version, 27) + Padr('| - Single Player -',27)+
    Padr('| '+ScriptRunTime, 27)+ '|');
    Writeln('***************************************** *****************************************');
    WriteLn(Padr('| Total Kills: ' + inttostr(TKilled), 27) + Padr('| Total XP: ' + inttostr(Txp), 27) +
    + Padr('| XP/hour: ' + inttostr(XPpH), 27) + '|');
    WriteLn(Padr('| Round Kills: ' + inttostr(ReportVars[0]), 27) + Padr('| Round XP : ' + inttostr(ReportVars[1]), 27)+
    + Padr('| '+Capitalize(HoverskillIs) + ' lvl: ' + TimeToLvlStr, 27) + '|');

    If Players[CurrentPlayer].Booleans[6] then
    writeln(Padr('| Ammo Remain: '+inttostr(GetArrowCount), 27) + Padr('| Ammo used: ' +inttostr(TArrowAmount), 27) +
    + Padr('| Ammo Used/hour: '+inttostr(AmmoPerHour), 27)+'|');

    if (TFoodate > 0) or (Titemspicked > 0) or (TBonesBuried >0) then
    WriteLn(Padr('| Pick ups: ' + inttostr(Titemspicked)+' ', 27) + Padr('| Food ate: '+inttostr(TFoodate)+' ', 27) +
    + Padr('| Bones Buried: ' + inttostr(TBonesBuried)+' ', 27)+'|');
    Writeln('***************************************** *****************************************');

    end;

    if (HowManyPlayers > 1) then
    begin
    Players[currentplayer].Integers[11] := Players[currentplayer].Integers[11] + ReportVars[1];//XP
    Players[currentplayer].Integers[12] := Players[currentplayer].Integers[12] + ReportVars[0];//Kills
    Players[currentplayer].Integers[13] := Players[currentplayer].Integers[13] + ReportVars[7];//Ammo Used
    Players[currentplayer].Integers[14] := Players[currentplayer].Integers[14] + ReportVars[6];//Items Picked-up
    Players[currentplayer].Integers[15] := Players[currentplayer].Integers[15] + ReportVars[2];//Food Ate
    Players[currentplayer].Integers[31] := Players[currentplayer].Integers[31] + TimeFromMark(RoundTimer);//Time in MS
    Players[currentplayer].Integers[32] := Round( (Players[currentplayer].Integers[11]*3600)/(Players[currentplayer].Integers[31]/1000) );//XP per Hour

    ClearDebug;
    Writeln('***************************************** **********************************************');
    Writeln('| - Multi - Player - Narcle''s AutoFight v'+Version+' by Narcle_| Run Time: '+
    +Padr(ScriptRunTime, 17)+' |');
    Writeln('***************************************** **********************************************');
    Writeln('| # | Nick | Active | XP Gained | Kills | XP/Hour | Food ate | Pick-ups | Ammo Used |');
    Writeln('| -- | ALL | Totals | '+Padr(IntToStr(Txp),9) + ' | ' + Padr(IntToStr(TKilled),6) +
    + ' | ------- | ' + Padr('Ate: ' + IntToStr(TFoodate),8) + ' | ' +Padr(inttostr(Titemspicked), 8) +
    + ' | '+ Padr(IntToStr(TArrowAmount),9) + ' |');

    For I := 0 to HowManyPlayers - 1 do
    begin
    Writeln('| '+Padl(IntToStr(I), 2)+' | '+Padr(Players[i].Nick, 4)+' | '+ Padr(BoolToStr(Players[i].Active), 6) + ' | ' +
    + Padr(IntToStr(Players[i].Integers[11]),9) + ' | ' + Padr(IntToStr(Players[i].Integers[12]),6) + ' | ' +
    + Padr(IntToStr(Players[i].Integers[32]),7) + ' | ' + Padr('Ate: ' + IntToStr(Players[i].Integers[15]),8) + ' | ' +
    + Padr(IntToStr(Players[i].Integers[14]),8) + ' | ' + Padr(IntToStr(Players[i].Integers[13]),9) + ' |');
    end;
    Writeln('***************************************** ***********************************');
    end;

    if UseFileLogging then
    begin
    WriteINI(ScriptINIid, 'Timeran',inttostr(strtoint(ReadINI(ScriptINIid, 'Timeran', AppPath+'Chars.ini')) + (TimeFromMark(RoundTimer)/60000) ), AppPath+'Chars.ini');
    WriteINI(ScriptINIid, 'YourKills',inttostr(strtoint(ReadINI(ScriptINIid, 'YourKills', AppPath+'Chars.ini')) + ReportVars[0]), AppPath+'Chars.ini');
    WriteINI(ScriptINIid, 'XPGained',inttostr(strtoint(ReadINI(ScriptINIid, 'XPGained', AppPath+'Chars.ini')) + ReportVars[1]), AppPath+'Chars.ini');
    end;

    SendSRLReport;
    end;


    procedure NAFHpCheck;
    var
    c:Integer;
    begin
    if (not LoggedIn) or (HPPercent > 64) then
    Exit;
    if (HPPercent < 30) then
    begin
    Status('Running away HP% < 30...');
    RunAway(CurrentRunDir, true, 1, 5000+random(5000) );
    end;
    if (HPPercent < 65) then
    begin
    Status('HP low doing HP checks...');
    if Players[CurrentPlayer].Integers[8] > 0 then
    if not(InvEmpty) then
    for c := 0 to 2 do
    begin
    if (MouseInvTextCustom(['Eat'],'Eat', 550, 1, true, ClickLeft) > 0) then
    begin
    ReportVars[2] := ReportVars[2] + 1;
    Players[CurrentPlayer].Integers[8] := Players[CurrentPlayer].Integers[8]-1;
    end;
    if (not(loggedin)) or (HPPercent > 64) then exit;
    end;
    repeat
    if not LoggedIn then
    Exit;
    AFWait(4);
    Case random(20) of
    0: RandomMovement;
    end;
    if NInFight then
    begin
    RunAway(CurrentRunDir, true, 1, 10000+random(2000) );
    if (HPPercent < 50) and NInFight then
    begin
    Status('Waiting to auto-logout...');
    repeat
    AFwait(4);
    until(not(loggedin))
    LogoutSeq('');
    end;
    end;
    MarkTime(MobTackTime);
    if (Getsystemtime > LogoutTime) then LogoutSeq('');

    Status('HP is ' + inttostr(HPPercent) + '%');
    until(HPPercent > 64);
    SetAngle(true);
    end;
    end;


    function CustomPickup:boolean;
    var
    i,x,y,L:integer;
    B: TBox;
    P: TPointArray;

    begin
    for i := 0 to (GetArrayLength(PickupColors)-1) do
    begin
    x:=MSCX;
    y:=MSCY;
    if (FindColorSpiralTolerance(x, y, PickupColors[i], MSX1, MSY1, MSX2, MSY2, PickupTol)) then
    begin
    MMouse(x,y,3,3);
    Wait(200+random(50));
    if IsUpText('ake') then
    begin
    GetMousePos(x, y);
    Mouse(x, y, 0, 0, False);
    wait(25+random(25));
    L := High(PickupNames);
    GetClientDimensions(B.X2, B.Y2);
    B.X1 := 0; B.Y1 := 0;
    FindColorsTolerance(P, 4674653, B.X1, B.Y1, B.X2, B.Y2, 0);
    If Length(P) = 0 Then Exit;
    B := GetTPABounds(P);

    for i := 0 to L do
    begin
    if (FindText(x, y, PickupNames[i], upchars, B.X1, B.Y1, B.X2, B.Y2)) then
    begin
    Wait(10);
    Mouse(x + 5, y + 3, Length(PickupNames[i]) * 6, 4, True);
    Result := True;
    NarcDebug('Picking up item');
    ReportVars[6] := ReportVars[6] + 1;
    AFWait(1);
    FFlag(0);
    end;
    end;
    if Not Result then
    MMouse(x, y-40, 30, 10)
    end;
    end;
    end;
    end;

    procedure NAFOutFight;
    var
    T: integer;
    begin
    if Players[CurrentPlayer].Booleans[6] then
    T := GetSystemTime - 12000
    else
    T := GetSystemTime;
    while not NInFight and (TimeFromMark(T) < 5000) do wait(100);
    if NInFight then
    begin
    Status('Killing monster...');
    repeat
    AFWait(1);
    NAFhpcheck;
    If Players[CurrentPlayer].Booleans[0] then
    If PickUpPriority then
    CustomPickup;
    until(not NInFight) or (not FightOnScreen) or (not LoggedIn)
    Status('');
    end else
    Wait(300);
    end;

    procedure LogoutSeq(reason:string);
    begin
    NAFOutFight;
    ProgressReport;
    if HowManyPlayers = 1 then
    begin
    while LoggedIn do Wait(100);
    wait(5000+random(30000));
    end;
    if (reason = '') then
    nextplayer(true)
    else
    begin
    writeln(reason+' '+Players[CurrentPlayer].Name+' is now inactive.');
    nextplayer(false);
    end;
    SetupPlayer;
    end;

    function TakeABreak: boolean;
    var
    H, M, S, BreakFor, T: integer;
    begin
    if ( GetSystemTime >= BreakTime ) then
    begin
    result := true;
    ProgressReport;
    BreakFor := RandomRange(5 * 60000, 25 * 60000);
    ConvertTime(BreakFor, H, M, S);
    Writeln('Break for: '+inttostr(M)+ 'm:' +inttostr(S)+ 's');
    Logout;
    MarkTime(T);
    Repeat
    ConvertTime(BreakFor - TimeFromMark(T), H, M, S)
    Disguise(inttostr(M)+ 'm:' +inttostr(S)+ 's Break');
    wait(1000);
    until (BreakFor < TimeFromMark(T))
    BreakTime := GetSystemTime+RandomRange(45*60000, 180*60000);
    Disguise('Resuming...');
    NextPlayer(true);
    SetupPlayer;
    end;
    end;

    function TakeASleep(SleepTime: string): boolean;
    var
    H, M, S, ms: Word;
    SleepH, SleepM, SleepFor, Hr, Mr, Sr, T: integer;
    begin
    SleepH := StrToInt(Left(SleepTime, 2));
    SleepM := StrToInt(Right(SleepTime, 2));
    DecodeTime(Now, H, M, S, ms);
    if (H = SleepH) and (M > SleepM) then
    begin
    Result := true;
    ProgressReport;
    SleepFor := RandomRange(350 * 60000, 730 * 60000);
    ConvertTime(SleepFor, Hr, Mr, Sr);
    Writeln('Sleep for: '+inttostr(Hr)+ 'h:'+inttostr(Mr)+ 'm:' +inttostr(Sr)+ 's');
    Logout;
    MarkTime(T);
    Repeat
    ConvertTime(SleepFor - TimeFromMark(T), Hr, Mr, Sr);
    Disguise(inttostr(Hr)+ 'h:'+inttostr(Mr)+ 'm:' +inttostr(Sr)+ 's Sleep');
    wait(1000);
    until (SleepFor < TimeFromMark(T))
    BreakTime := GetSystemTime+RandomRange(45*60000, 180*60000);
    Disguise('Resuming...');
    NextPlayer(true);
    SetupPlayer;
    end;
    end;


    var
    SpecTime: integer;
    procedure UseSpecial;
    begin
    if ( GetSystemTime > SpecTime) then
    begin
    gametab(1);
    Status('Using Special...');
    NarcDebug('Using special');
    wait(100+random(50));
    Mouse(640,421,8,4,true);
    SpecTime := GetSystemTime + RandomRange(66000, 132000);
    end;
    end;


    function SeekMob: Boolean;
    var
    Mobs : TPointArray;
    begin
    if not FindMobByMM then
    begin
    Result := false;
    exit;
    end;
    FindColorsTolerance(Mobs, 195836, MMX1, MMY1, MMX2, MMY2, 19);
    if Length(Mobs) > 3 then
    begin
    RAaSTPA(Mobs, 4);
    SortTPAFrom(Mobs, IntToPoint(MMCX, MMCY));
    if Length(Mobs) > 0 then
    begin
    Mouse(Mobs[0].x, Mobs[0].y, 3, 3, True);
    FFlag(0);
    Result := True;
    end;
    end;
    end;


    function NAFAttack(Names:TStringArray; Colors:TintegerArray; R_ClickOnly:Boolean): boolean;
    var
    xx, yy, c, x, y, L, ClickNum: integer;
    begin
    if not LoggedIn then
    Exit;
    if NInFight then
    if FightOnScreen then
    Exit;
    L := High(Colors);
    Status('Searching...');
    for c := 0 to L do
    begin
    if (MobsOnScreen = 0) or NInFight then
    Exit;
    x:=MSCX;
    y:=MSCY;
    if FindColorSpiralTolerance(x, y, Colors[c], MSX1, MSY1, MSX2, MSY2, 3) then
    begin
    MMouse(x, y, 3, 3);
    if FindColorSpiral(xx, yy, 65280, x - 15, y - 40, x + 15, y+ 40) then
    Continue;
    wait(150+random(50));
    if IsUpTextMultiCustom(Names) then
    begin
    GetMousePos(x, y);
    if R_ClickOnly then ClickNum := 0 else ClickNum := Random(2);
    case ClickNum of
    0: begin
    Mouse(x, y, 0, 0, false);
    if ChooseOption('tack') then
    result := true;
    end;
    1: begin
    HoldMouse(x, y, True);
    Wait(80 + Random(60));
    GetMousePos(x, y);
    ReleaseMouse(x, y, True);
    try
    Result := FindColor(x, y, 255, x-10, y-10, x+10, y+10);
    except
    Result := False;
    end;
    end;
    end;
    if result then
    begin
    MarkTime(MobTackTime);
    FFlag(0);
    if Players[CurrentPlayer].Booleans[6] then AFWait(20);
    ReportVars[0] := ReportVars[0] + 1;
    Exit;
    end;
    end;
    end;
    end;
    end;

    function SitAndWait: Boolean;
    var
    WaitTime: integer;
    TPA: TPointArray;
    begin
    MarkTime(WaitTime);
    repeat
    if not LoggedIn then exit;
    AFWait(2);
    NAFHpCheck;
    TPA := MobTPAs;
    if (Getarraylength(TPA) > 0) then
    if ChangeCamera then
    if NAFattack(NameArray, ColorArray, RightClickOnly) then
    begin
    result := true;
    Exit;
    end;
    until (TimeFromMark(WaitTime) > 120000)
    end;


    procedure NAFSetup;
    var
    V: TVariantArray;
    begin
    ScriptNews;
    NarcSig;

    SmartSetup('world'+inttostr(WorldNumber), true, true, false);
    while not SmartActive do wait(100);
    SetTargetDC(SmartGetDC);

    SetupSRL;

    if UseFileLogging then
    NarclesINI
    else
    begin
    SRLid:= MySRLId;
    SRLpassword:= MySRLPassword;
    end;

    if (SRLID = '') or (SRLPassword = '') then
    begin
    ThreadSafeCall('NoID', V);
    TerminateScript;
    end;

    ScriptID := '418';
    Disguise(ScriptName+' v'+Version);
    Status('Start Narcle''s AutoFight!');

    AddtoReport('Start time: '+TheTime);
    DeclarePlayers;
    CheckUserNicks;
    Status('Waiting for Runescape to load.');
    SetupPlayer;
    BreakTime := GetSystemTime+RandomRange(60*60000, 150*60000);
    end;

    {------------------------------------------------------------------------------}
    {===============================Main Execution=================================}
    {------------------------------------------------------------------------------}

    begin
    NAFSetup;
    repeat
    if not LoggedIn then
    LoginPlayer;

    NAFhpcheck;

    if NInFight then
    if FightOnScreen then
    NAFOutFight;

    if (MobsOnScreen = 0) then
    if not ChangeCamera then
    if not SeekMob then SitAndWait;

    if (TimeFromMark(MobTackTime) >= 180000) then
    LogoutSeq('Couldn''t find monsters.');

    if (Players[CurrentPlayer].Booleans[2]) then
    UseSpecial;

    if NAFattack(NameArray, ColorArray, RightClickOnly) then
    NAFOutFight;

    if Players[CurrentPlayer].Booleans[0] then
    CustomPickup;

    if (Getsystemtime > LogoutTime) then
    LogoutSeq('');

    if InvFull then
    InvManagement;

    if TakeSleeps then
    TakeASleep(SleepAt);
    if TakeBreaks then
    TakeABreak;
    Antiban;
    AFWait(0);
    until(false);
    end.

    But for your error replace this:
    SCAR Code:
    SmartSetup('world'+inttostr(WorldNumber), true, true, false);
    while not SmartActive do wait(100);
    SetTargetDC(SmartGetDC);

    With:

    SCAR Code:
    SmartSetupEx(84, False, True, False);
    SetTargetDC(SmartGetDC);

    You can also get the new Smart Here

    That should fix your problem

    ~Camo
    Away for awhile, life is keeping me busy. | Want to get my attention in a thread? @Kyle Undefined; me.
    { MSI Phoenix || SRL Stats Sigs || Paste || Scripts || Quotes || Graphics }

    When posting a bug, please post debug! Help us, help you!

    I would love to change the world, but they won't give me the source code. || To be the best, you've got to beat the rest. || Logic never changes, just the syntax.
    If you PM me with a stupid question or one listed in FAQ, or about a script that is not mine, I will NOT respond.


    SRL is a Library of routines made by the SRL community written for the Program Simba. We produce Scripts for the game Runescape.


  8. #8
    Join Date
    Dec 2008
    Posts
    18
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Hi,

    Usually occurs if the script you are running is 'coded' for a different version of SRL and SCAR then what you are using.

    I suggest that, first try updating SCAR and SRL to the latest versions, then looking for scripts that are updated for these versions. Or you can do what i do, install numerous versions of SCAR, and their version of SRL, and then when you find a script you like, you only have to find the version its made for, on your computer, and run it like that.

    Hope i helped. cheers

  9. #9
    Join Date
    Oct 2007
    Posts
    678
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by dre_bro11 View Post
    Hi,

    Usually occurs if the script you are running is 'coded' for a different version of SRL and SCAR then what you are using.

    I suggest that, first try updating SCAR and SRL to the latest versions, then looking for scripts that are updated for these versions. Or you can do what i do, install numerous versions of SCAR, and their version of SRL, and then when you find a script you like, you only have to find the version its made for, on your computer, and run it like that.

    Hope i helped. cheers
    trying to help and not realizing your spamming? or just 1337 spammer lol? no matter what...you tried... but its been answered by 3 ppl..including myself....and your answer doesn't exactly fix the problem...

  10. #10
    Join Date
    Feb 2007
    Location
    Estonia.
    Posts
    1,938
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    Quote Originally Posted by chitin View Post
    trying to help and not realizing your spamming? or just 1337 spammer lol? no matter what...you tried... but its been answered by 3 ppl..including myself....and your answer doesn't exactly fix the problem...
    He is not spamming? He tried to help?
    It doesn't matter that he didn't help, it was his advice.
    Just don't be so rude to new people who want to learn and help.
    Nothing personal, chill.
    ~Eerik~

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Invalid number of parameters error??
    By Bonfield in forum OSR Help
    Replies: 5
    Last Post: 03-01-2008, 12:05 PM
  2. Invalid Number of Parameters Error
    By jmoney343 in forum OSR Help
    Replies: 7
    Last Post: 05-07-2007, 01:22 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •