View Poll Results: Is this something we want?

Voters
1. This poll is closed
  • Yes

    0 0%
  • No

    1 100.00%
Results 1 to 5 of 5

Thread: [Feature]Ciient Detction

  1. #1
    Join Date
    Dec 2015
    Location
    Toronto, Ontario
    Posts
    85
    Mentioned
    2 Post(s)
    Quoted
    21 Post(s)

    Lightbulb [Feature]Ciient Detction

    Hey everyone, I was thinking about this awhile ago. While botting without SMART and using alternate clients like Osbuddy it can crash if you have "remember username" on login.

    This sparked the idea that if you can detect which type of client you can get way more out of botting.

    I looked into it a little but was unsuccessful. So I am wondering if this is actually something that would be interesting and worthwhile looking into.

    There are tonnes of other uses that this could be applied too.

    Maybe it already exists though lol.

  2. #2
    Join Date
    Jun 2013
    Location
    Scranton
    Posts
    496
    Mentioned
    5 Post(s)
    Quoted
    220 Post(s)

    Default

    Not sure what you are envisioning, I'll leave these here though.

    Snippet that verifies OSBuddy is targeted correctly
    Simba Code:
    procedure checkClient();
    var
      I, X,
      Y : integer;
      T : TSysProcArr;
    begin
      T := getProcesses;
      for I := 0 to High(T) do
        if (Pos('OSBuddy', T[I].Title) > 0) then
        begin
          (GetClientDimensions(x, y));
          if (x = 765) and (y = 504) then
          begin
            writeln('OSBuddy detected and targeted');
            exit;
          end
          else
          begin
            writeln('OSBuddy detected but not targeted (correctly)');
            exit;
          end;
        end;
      writeln('OSBuddy not detected');
    end;

    Snippet that sets client for you. thank @Citrus
    Simba Code:
    procedure getAndSet();
    var
      pp: TSysProcArr;
      i, left, top, right, bot: integer;
    begin
      pp := client.getIOManager.getProcesses;
      for i := 0 to high(pp) do
      begin
        if pos('RuneHD', pp[i].title) then
        begin
          setTarget(pp[i]);
          getClientPosition(left, top);
          left += 8;
          top += 30;
          right := left + 764;
          bot := top + 502;
          setDesktopAsClient();
          imageSetClientArea(left, top, right, bot);
          mouseSetClientArea(left, top, right, bot);
          exit();
        end;
      end;
      writeln('RuneHD not found');
      terminateScript();
    end;

  3. #3
    Join Date
    Dec 2015
    Location
    Toronto, Ontario
    Posts
    85
    Mentioned
    2 Post(s)
    Quoted
    21 Post(s)

    Default

    Quote Originally Posted by jstemper View Post
    Not sure what you are envisioning, I'll leave these here though.

    Snippet that verifies OSBuddy is targeted correctly
    Simba Code:
    procedure checkClient();
    var
      I, X,
      Y : integer;
      T : TSysProcArr;
    begin
      T := getProcesses;
      for I := 0 to High(T) do
        if (Pos('OSBuddy', T[I].Title) > 0) then
        begin
          (GetClientDimensions(x, y));
          if (x = 765) and (y = 504) then
          begin
            writeln('OSBuddy detected and targeted');
            exit;
          end
          else
          begin
            writeln('OSBuddy detected but not targeted (correctly)');
            exit;
          end;
        end;
      writeln('OSBuddy not detected');
    end;

    Snippet that sets client for you. thank @Citrus
    Simba Code:
    procedure getAndSet();
    var
      pp: TSysProcArr;
      i, left, top, right, bot: integer;
    begin
      pp := client.getIOManager.getProcesses;
      for i := 0 to high(pp) do
      begin
        if pos('RuneHD', pp[i].title) then
        begin
          setTarget(pp[i]);
          getClientPosition(left, top);
          left += 8;
          top += 30;
          right := left + 764;
          bot := top + 502;
          setDesktopAsClient();
          imageSetClientArea(left, top, right, bot);
          mouseSetClientArea(left, top, right, bot);
          exit();
        end;
      end;
      writeln('RuneHD not found');
      terminateScript();
    end;
    Yes that is actually what I had inmind sorta, I figured it may be useful in situations like world hopping on osbuddy and such things. Would be even better though if it was in a library like AeroLib. Thanks for posting this.

  4. #4
    Join Date
    May 2012
    Location
    Glorious Nippon
    Posts
    1,011
    Mentioned
    50 Post(s)
    Quoted
    505 Post(s)

    Default

    Quote Originally Posted by jstemper View Post
    Snippet that sets client for you. thank @Citrus
    Simba Code:
    procedure getAndSet();
    var
      pp: TSysProcArr;
      i, left, top, right, bot: integer;
    begin
      pp := client.getIOManager.getProcesses;
      for i := 0 to high(pp) do
      begin
        if pos('RuneHD', pp[i].title) then
        begin
          setTarget(pp[i]);
          getClientPosition(left, top);
          left += 8;
          top += 30;
          right := left + 764;
          bot := top + 502;
          setDesktopAsClient();
          imageSetClientArea(left, top, right, bot);
          mouseSetClientArea(left, top, right, bot);
          exit();
        end;
      end;
      writeln('RuneHD not found');
      terminateScript();
    end;
    Just be aware that this is specific to the RuneHD client and was only used because I was using the wrong graphics settings. SetDesktopAsClient() should only be used if Simba cannot target the client window for whatever reason.
    see: https://villavu.com/forum/showthread...04#post1379704
    Last edited by Citrus; 01-04-2017 at 12:24 AM.

  5. #5
    Join Date
    Jun 2014
    Posts
    463
    Mentioned
    27 Post(s)
    Quoted
    229 Post(s)

    Default

    Clarity released this awhile ago.

    Simba Code:
    function getRuneScapeClient(): integer;
    var
      t: tSysProcArr;
      i: integer;
    begin
      t := getProcesses();
      for i := high(t) downto 0 do
      begin
        if (t[i].title = 'RuneScape') then
        begin
          exit(t[i].PID);
        end;
      end;
    end;
    Tsunami

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
  •