Results 1 to 7 of 7

Thread: [Help] Invalid number of parameters at line 292

  1. #1
    Join Date
    Mar 2013
    Posts
    7
    Mentioned
    0 Post(s)
    Quoted
    6 Post(s)

    Default [Help] Invalid number of parameters at line 292

    hey i have problems with simba i am very new i dont know nothing bout codes and stuffs
    the problem is smart params



    Code:
    (*
    Smart Params
    ============
    
    .. contents::
    
    *)
    
    {$DEFINE SRL_SMART}
    {$DEFINE SMART}
    {$loadlib libsmartremote}
    
    (*
    GetSmartParams
    ~~~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      function GetSmartParams: TStringArray;
    
    Grabs The Correct Parameters For passing to the SmartClient.
    
    .. note::
    
      By: Brandon.
      Modified By: Mormanman, Benland100.
    
    Example:
    
    .. code-block:: pascal
    
    *)
    function GetSmartParams: TStringArray;
    var
      Params: TStringArray;
      Page: String;
    begin
      Page := 'http://oldschool33.runescape.com/,j1';
      Params := Explode(',', Page);
      Result := Params;
    end;
    
    (*
    FixSmartSpeed
    ~~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      procedure FixSmartSpeed;
    
    Fixes Smart's Loading Speed.
    Moves the Mouse & Adjusting the Canvas Refresh rate.
    
    .. note::
    
      By: Brandon.
    
    Example:
    
    .. code-block:: pascal
    
    *)
    procedure FixSmartSpeed;
    var
      T: Integer;
    begin
      T:= GetSystemTime + 2000;
      While (Not SmartEnabled) Do
      begin
        if (GetSystemTime >= T) Then
          Break;
        Wait(500);
      end;
    
      While (GetColor(382, 252) = 0) Do
      begin
        If RSReady then
          Break;
        SmartSetRefresh(SmartGetRefresh + 1);
        MMouse(4, 4, 0, 0);
        SmartSetRefresh(SmartGetRefresh - 1);
        if (GetSystemTime >= T) Then
          Break;
        Wait(500);
      end;
    end;
    
    (*
    SmartGetClientIDs
    ~~~~~~~~~~~~~~~~~
    
    .. code-block:: pascal
    
        function SmartGetClientIDs: TIntegerArray;
    
    Grabs All Client ID's of the current remote.
    
    .. note::
    
      By: Mormanman.
    
    Example:
    
    .. code-block:: pascal
    
    *)
    function SmartGetClientIDs: TIntegerArray;
    var
      I, Count: Integer;
    begin
      Count := SmartGetClients(True);
      SetLength(Result, Count);
      If (Count > 0) then
        For I:= 0 to (Count - 1) do
          Result[I] := SmartClientID(I);
    end;
    
    (*
    SmartKillClients
    ~~~~~~~~~~~~~~~~
    
    .. code-block:: pascal
    
        procedure SmartKillClients;
    
    Kills all Smart clients.
    
    .. note::
    
      By: Mormanman.
    
    Example:
    
    .. code-block:: pascal
    
    *)
    procedure SmartKillClients;
    var
      IDs: TIntegerArray;
      I: Integer;
    begin
      IDs := SmartGetClientIDs;
      For I := High(IDs) DownTo 0 Do
        If SmartKillClient(IDs[I]) Then
          Writeln('Killed Client: ' + ToStr(IDs[I]))
        else
          Writeln('Failed To Kill Client: ' + ToStr(IDs[I]));
    end;
    
    (*
    SixHourFix
    ~~~~~~~~~~
    
    .. code-block:: pascal
    
        procedure SixHourFix;
    
    Kills The Current Smart Client and Restarts it.
    Fixes the 6 hour login.
    
    .. note::
    
      By: Brandon.
    
    Example:
    
    .. code-block:: pascal
    
    *)
    procedure FreeSRL; Forward;
    procedure SetupSRL; Forward;
    procedure SixHourFix;
    var
      Trash: TVariantArray;
      Refresh: Integer;
    begin
      FreeSRL;
      Refresh := SmartGetRefresh;
      SmartKillClient(SmartCurrentClient);
      SetupSRL;
    
      try
        CallProc('SMART_FreeDebug', Trash);
        CallProc('SMART_SetupDebug', Trash);
      except
      end;
    
      SmartSetRefresh(Refresh);
    
      try
        if (not LoginPlayer) then
          srl_Warn('SixHourFix', 'Could not log in player', warn_Terminate);
      except
        srl_Warn('SixHourFix', 'Players not declared', warn_Terminate);
      end;
    end;
    
    
    (*
    PairSmart
    ~~~~~~~~~
    
    .. code-block:: pascal
    
        function PairSmart(ID: Integer): Boolean;
    
    Pairs A Client To The Current Controller.
    
    .. note::
    
      By: Benland100, Brandon.
    
    Example:
    
    .. code-block:: pascal
    
    *)
    function PairSmart(ID: Integer): Boolean;
    var
      I, Count: Integer;
      IDs: TIntegerArray;
    begin
      IDs := SmartGetClientIDs;
      Count := Length(IDs);
      If (Count > 0) then
        For I:= 0 To (Count - 1) Do
          If (IDs[I] = ID) and SmartPairClient(ID) then
          begin
            SetEIOSTarget('libsmartremote', ToStr(ID));
            Writeln('Paired with SMART[' + ToStr(ID) + ']');
            Result := True;
            Exit;
          end;
      Writeln('** Failed To Pair Client: ' + ToStr(ID) + '; Client Does Not exist **');
    end;
    
    (*
    InitSmart
    ~~~~~~~~~
    
    .. code-block:: pascal
    
        function InitSmart(ForceNew: Boolean): Integer;
    
    Initializes A Smart Remote Client.
    Terminates the current script upon failure.
    Terminates all clients of the current remote upon failure.
    ForceNew Creates a new client.
    
    .. note::
    
      By: Benland100, Mormanman, Brandon.
    
    Example:
    
    .. code-block:: pascal
    
    *)
    function InitSmart(ForceNew: Boolean): Integer;
    var
      I, Count: Integer;
      IDs: TIntegerArray;
      Params: TStringArray;
    begin
      If (Not ForceNew) then
      begin
        Ids := SmartGetClientIDs;
        Count := Length(IDs);
        If (Count > 0) then
          For I:= 0 To (Count - 1) Do
          begin
            If SmartPairClient(IDs[I]) then
            begin
              Result := IDs[I];
              SetEIOSTarget('libsmartremote', ToStr(Result));
              Writeln('Paired with SMART[' + ToStr(Result) + ']');
              Exit;
            end;
          end;
      end;
    
      Params := GetSmartParams;
      If (Length(Params) <> 2) then
      begin
        Writeln('** Failed To Grab Smart Parameters **');
        Writeln('** Please check your internet connection/firewall **');
        TerminateScript;
        Exit;
      end;
      
      {$IFDEF SMART8}
      Result := SmartSpawnClient(ReplaceWrap(PluginPath, '\', '/', [rfReplaceAll]), Params[0], ',' + Params[1], 765, 503, 's', '', '');
      {$ELSE}
      Result := SmartSpawnClient(ReplaceWrap(PluginPath, '\', '/', [rfReplaceAll]), Params[0], ',' + Params[1], 765, 503, 's', '', '', -1);
      {$ENDIF}
      
      If (Result > 0) Then
      begin
        try
          SetEIOSTarget('libsmartremote', ToStr(Result));
          Writeln('Loading SMART: ' + Params[0] + Params[1]);
        except
          WriteLn('** Fatal Error: Pairing Clients; Terminating Script **');
          TerminateScript;
        end;
      end else
        begin
          Writeln('** Smart Cannot Spawn Clients **');
          TerminateScript;
        end;
    end;
    
    (*
    SetupSmart
    ~~~~~~~~~~
    
    .. code-block:: pascal
    
        procedure SetupSmart(ForceNewClient: Boolean);
    
    Sets Up a new Smart Client and waits until it's on screen.
    Terminates The current script upon failure.
    
    .. note::
    
      By: Mormanman.
      Modified By: Brandon.
    
    Example:
    
    .. code-block:: pascal
    
    *)
    procedure SetupSmart(ForceNewClient: Boolean);
    var
      T: Integer;
    begin
      T:= GetSystemTime + 120000;
      Smart_CurrentClient:= InitSmart(ForceNewClient);
      if (Smart_CurrentClient <= 0) then
      begin
        writeln('*** Smart Failed To Load ***');
        TerminateScript;
      end;
    
      if (SRL_SixHourFix) then
        SRL_Procs[SRL_OnRSUpdate]:= @SixHourFix;
    
      While (GetColor(382, 252) <> 0) Do
      begin
        if RSReady then
          break;
    
        Wait(100);
        if (GetTimeRunning >= 120000) then
        begin
          Writeln('*** Failed To Detect Clients ***');
          TerminateScript;
        end;
      end;
    end;
    
    
    
    
    
    {*           Functions Below Here are From the Original Smart.Simba           *}
    
    
    {*
      By: Unknown Author.
      Finds a Windows by partial title and Sets it as the target.
    *}
    function FindAndSetTarget(TitlePrefix: String; SetAsTarget: Boolean): Boolean;
    var
      T : TSysProcArr;
      I : Integer;
    begin
      T := GetProcesses;
      for I := High(T) downto 0 do
        if Pos(TitlePrefix, T[I].Title) <> 0 then
        begin
          Result := True;
          if SetAsTarget then SetTarget(T[I]);
          Exit;
        end;
    end;
    
    {*
      By: Unknown Author.
      Gets the position of the actual mouse (Not Smart's Mouse).
    *}
    procedure GetRealMousePos(var X, Y : Integer);
    var
      KMTarget, ITarget: Integer;
    begin
      {$IFDEF LAPE}
      writeln('GetRealMousePos not implemented yet in SRL-5 Lape!');
      TerminateScript;
      {$ELSE}
      KMTarget := GetKeyMouseTarget;
      ITarget := GetImageTarget;
      FindAndSetTarget('SMART', True);
      GetTClient.IOManager.GetMousePos(X, Y);
      FreeTarget(GetImageTarget);
      SetKeyMouseTarget(KMTarget);
      SetImageTarget(ITarget);
    
      // These are not universial offsets, but works somewhat for some Windows themes.
      X := X - 8;
      Y := Y - 25;
      {$ENDIF}
    end;
    
    {*
      By: Unknown Author.
      Returns if the "Real Mouse" (Not Smart's Mouse) Is Within a given Box.
    *}
    function IsRealMouseInBox(B : TBox): Boolean;
    var
      P : TPoint;
    begin
      GetRealMousePos(P.X, P.Y);
      Result := PointInBox(P, B);
    end;

  2. #2
    Join Date
    Mar 2013
    Posts
    7
    Mentioned
    0 Post(s)
    Quoted
    6 Post(s)

    Default

    i dont get it.....

  3. #3
    Join Date
    Mar 2013
    Posts
    7
    Mentioned
    0 Post(s)
    Quoted
    6 Post(s)

    Default

    Tysm fixed it!!!!!!!!! U da best

  4. #4
    Join Date
    Mar 2013
    Posts
    167
    Mentioned
    7 Post(s)
    Quoted
    62 Post(s)

    Default

    Quote Originally Posted by tungaturken View Post
    i dont get it.....
    In the script that you are trying to use, change:

    Code:
    {$DEFINE SMART}
    To
    Code:
    {$DEFINE SMART8}
    and make sure
    Code:
    SetupSRL;
    Is at the bottom of the script (In the main loop)
    "To sleep, perchance to dream"

  5. #5
    Join Date
    Mar 2013
    Posts
    7
    Mentioned
    0 Post(s)
    Quoted
    6 Post(s)

    Default

    thanks vusn even tho it works no scripts are

Thread Information

Users Browsing this Thread

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

Posting Permissions

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