Page 1 of 3 123 LastLast
Results 1 to 25 of 59

Thread: R4 ManThief

  1. #1
    Join Date
    Oct 2011
    Location
    Chicago
    Posts
    3,352
    Mentioned
    21 Post(s)
    Quoted
    437 Post(s)

    Smile R4 ManThief

    Basically a script for new accounts to get to higher thieving levels without much on the account (Besides being in the room to start)

    Features:
    • Steals from a women in a room near Lumbridge
    • Anti-Ban
    • Anti-Random
    • Drops after looting
    • Paint
    • Exp tracker
    • Fail Safes
    • Death walk (Hope this works, had a real hard time trying to make it work)


    In Progress:
    • More anti-Ban (I have this written up I just need to implement it)
    • Fail safes (I am trying to think of some :P so far all I have is: tele-home
    • Updater (Figuring it out)
    • Form


    Bugs:
    • Unexpected out of bounds error/Kills script


    Updates:
    2:
    • More anti-ban
    • Can eat ALL FOOD! woo so just bring an inventory full of sharks (You will never die )
    • Paint (Useless but it is there)
    • Exp Tracker (Not really sure if it works >.<)
    • Death walk (doesn't work)
    • A few fail safes


    3:
    • More anti-ban
    • Paint (More interesting!)
    • Death walk
    • More random features.
    • Cleaned up a bunch of useless code (over 100 lines!)


    3-1:
    • SRL-5




    I really don't like releasing unfinished products but I figured I would release this as I made it almost a full month ago and I think releasing it will push me into improving it further.

    Also this can easily be converted into a man killer just by changing the uptext to ttack instead of ocket.

    Credits: Luff + Flight for a lot of help, I would not of been able to of had this working at all without their help. I also used many other's scripts to learn example narcles fighter to learn how to make my script eat.

    -R4nd0m

    The actual Script:
    Version 3.
    Simba Code:
    program R4_ManThief;
    {$i SRL/SRL/misc/smart.simba}
    {$i SRL/SRL.simba}
    {$i sps/sps.simba}
    {$i SRL/SRL/Misc/stats.simba}
    {$i srl/srl/misc/paintsmart.simba}
    //{$i VVForm.simba}


    {Welcome to R4nd0m's Man Thief, this script steals from men/women giving
     you coins and XP!.
     Features:
     Death Walk
     Anti-Ban/Anti-Random
     Eating (50%-) Any food (Just keep in inventory)
     SRL Stats
     An Interesting Paint/Painted Mouse
     Human like Mouse moments (Thanks Flight)
     Progress Reports}


    Var
    man, Location, TimeLast, x, y :Integer;
    Lumbridge, Stairs: TPoint;
    WalkHome: TPointArray;
    CStatus: String;

    Const
    Version = 3;   //Please do not change.

    //SRL info HERE!
      SRLStats_Username = '';
      SRLStats_Password = '';

    procedure DeclarePlayers;
    begin
      HowManyPlayers := 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0; // This is the player to start with
      Players[0].Name := ''; // Username
      Players[0].Pass := ''; // Password
      Players[0].Nick := ''; // 3-4 lowercase letters from username;
      Players[0].Active := True; // Set to true if you want to use Player 0
      Players[0].BoxRewards := ['Xp', 'mote', 'ostume', 'oins', 'aphire', 'ssence'];
    end;

    Procedure CheckStats;
      begin
        if ((SRLStats_Username = '') And (SRLStats_Password = '')) then
        begin
                SetupSRLStats(201,'Anonymous','anon1337');
                Exit;
              end;
          end;

      procedure ClearSmartCanvas;
      {$IFDEF SMART}
        var
          drawing : TBitmap;
       begin
        drawing := TBitmap.Create;
        drawing.canvas.handle := SmartGetDebugDC;
        ClearRSCanvas(drawing.canvas);
        try
          FreeBitmap(drawing);
        except
       end;
      {$ELSE}
      begin
      {$ENDIF}
      end;

    Procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colour: integer);
      var
        mx, my, Pic, I, B, H, TPH, Numb: Integer;
        TTP: TPointArray;
        Canvas: TCanvas;
      begin
        SmartSetDebug(True);
        GetClientDimensions(mx, my);
        Pic := BitmapFromString(mx, my, '');
        TPH := High(TP);
        for I := 0 to TPH do
        begin
          TTP := LoadTextTPA(TP[i], SmallChars, H);
          for B := 0 to High(TTP) do
          begin
            Numb := ((I + 1) * 13);
            FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1,8388736);
            FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
          end;
        end;
        Canvas := TCANVAS.Create;
        Canvas.Handle := SmartGetDebugDC;
        DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
        FreeBitmap(Pic);
      end;

      Procedure Painting;
        begin
          PrintOnSmart(['R4_ManThief','-----------', 'Status:', CStatus],
          Point(40, 50),60928);
        end;

    procedure ProgressReport;
      begin
      ClearDebug;
        WriteLn('[R4nd0m] ManThief');
        WriteLn('===================================================');
        WriteLn('===================================================');
        WriteLn('Running for: ' + TimeRunning);
        WriteLn('Times PickPocketed: ' + IntToStr(man));
        Writeln('XP gained:'+ IntToStr(man*8));
        WriteLn('===================================================');
        WriteLn('===================================================');
      end;

    //By Benland100, modified to paint mouse movements
      procedure WindMouse2(xs, ys, xe, ye, gravity, wind, minWait, maxWait, maxStep, targetArea: extended);
      var
        veloX, veloY, windX, windY, veloMag, dist, randomDist, lastDist, step: extended;
        lastX, lastY: integer;
        sqrt2, sqrt3, sqrt5: extended;
      begin
        sqrt2:= sqrt(2);
        sqrt3:= sqrt(3);
        sqrt5:= sqrt(5);
        while hypot(xs - xe, ys - ye) > 1 do
        begin
          dist:= hypot(xs - xe, ys - ye);
          wind:= minE(wind, dist);
          if dist >= targetArea then
          begin
            windX:= windX / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
            windY:= windY / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
          end else
          begin
            windX:= windX / sqrt2;
            windY:= windY / sqrt2;
            if (maxStep < 3) then
            begin
              maxStep:= random(3) + 3.0;
            end else
              begin
                maxStep:= maxStep / sqrt5;
              end;
          end;
          veloX:= veloX + windX;
          veloY:= veloY + windY;
          veloX:= veloX + gravity * (xe - xs) / dist;
          veloY:= veloY + gravity * (ye - ys) / dist;
          if hypot(veloX, veloY) > maxStep then
          begin
            randomDist:= maxStep / 2.0 + random(round(maxStep) div 2);
            veloMag:= sqrt(veloX * veloX + veloY * veloY);
            veloX:= (veloX / veloMag) * randomDist;
            veloY:= (veloY / veloMag) * randomDist;
          end;
          lastX:= Round(xs);
          lastY:= Round(ys);
          xs:= xs + veloX;
          ys:= ys + veloY;
          if (lastX <> Round(xs)) or (lastY <> Round(ys)) then
            MoveMouse(Round(xs), Round(ys));
          step:= hypot(xs - lastX, ys - lastY);
          wait(round((maxWait - minWait) * (step / maxStep) + minWait));
          lastdist:= dist;
          SMART_DrawDotsEx(False, [Point(lastX, lastY)], 65280);
        end;
        if (Round(xe) <> Round(xs)) or (Round(ye) <> Round(ys)) then
          MoveMouse(Round(xe), Round(ye));

      end;

    {*******************************************************************************
    Procedure HumanMMouse(eX, eY: Integer);
    By: Flight
    Description: Human-like miss-and-correct mouse movement
    *******************************************************************************}

      Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
      var
        randSpeed: extended;
        X,Y,X2,Y2,A,Dist,MP: integer;
      begin
        A := MouseSpeed;
        GetMousePos(X, Y);
        Dist := Distance(X, Y, eX, eY);
        MP := Round(Dist/150);
        if MP < 0 then
          MP := 1;

        randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
        X2 := RandomRange(eX-(A*MP), eX+(A*MP));
        Y2 := RandomRange(eY-(A*MP), eY+(A*MP));
        WindMouse2(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
        GetMousePos(X, Y);
        MMouse(eX, eY, ranX, ranY);
        MouseSpeed := A;
        ClearSmartCanvas;
      end;

    procedure Antiban;
      begin
        CStatus := 'AntiBan working'
        Painting;
          case Random(60) of
            20: HoverSkill('Thieving', False);
            30: PickUpMouse;
            40: RandomMovement;
            50: BoredHuman;
            59: ExamineInv;
          end;
          Writeln('Antiban in action!');
      end;

    procedure AntiRandom;
      begin
        CStatus := 'Checking for randoms'
        Painting;
        FindNormalRandoms;
        LampSkill := 'thieving';
        LevelUp;
        Writeln('Checking for randoms');
      end;

    procedure HpCheck; //Thanks Narcle, used your script to learn how to do this
    var
      a, t, b, x, y:Integer;
    begin
      CStatus := 'Checking Health/Eating'
      Painting;
      if (HPPercent < 50) and LoggedIn then
      begin
        if not InvEmpty then
          for a := 0 to 2 do
            for b := 1 to 28 do
            if ExistsItem(b) then
            begin
              MMouseItem(b);
              GetMousePos(x, y);
              if WaitUptext('Eat', 400) then
              begin
                Mouse(x,y,0,0,false);
                if WaitOption('Eat', 400) then
                begin
                  t := GetSystemTime;
                  while ExistsItem(b) and ((GetSystemTime-t) < 2000) do
                    wait(20);
                  if (HPPercent > 70) then
                    Exit;
                end;
              end;
            end;
            if (not LoggedIn) or (HPPercent > 50) then
              Exit;
      end;
    end;

    Procedure Climb;
      begin
        Wait(RandomRange(200, 700));
            FindObjCustom(x, y, ['tairs'], [4083549, 4215135, 4017499], 10);
          Mouse(x, y, 5, 5, false);
        ChooseOption('limb');
      end;
      Procedure Door;
      begin
        WriteLn('Upstairs!');
          Wait(RandomRange(200, 700));
            FindObjCustom(x, y, ['oor'], [3555142, 3291713, 3686729], 10);
          Mouse(x, y, 5, 5, false);
        ChooseOption('pen');
      end;

    Procedure WalkToHouse;
      begin
        CStatus := 'Walking...'
        Painting;
        Antirandom;
        HumanMMouse(X, Y, 5, 5);
        WalkHome := [Point(4725, 3785), Point(4755, 3740),
        Point(4705, 3710), Point(4645, 3675)];

        If(SPS_WalkPath(WalkHome)) then
        WriteLn('At Stairs');
        Climb;
        Door;
      end;

    function Live: Boolean;
      begin
      CStatus := 'Are we alive?'
        Painting;
        Result := False;
        if FindTextTPA(0, 0, MCX1, MCY1, MCX2, MCY2, 'dear', SmallChars, Nothing) then
          if FindTextTPA(0, 0, MCX1, MCY1, MCX2, MCY2, 'dead', SmallChars, Nothing) then
          begin
            Inc(RandSolved[rand_Death]);
            Result := True;
            SaveToChatLog;
            if (SRL_Procs[srl_OnFindDead] <> nil) then
              SRL_Procs[srl_OnFindDead]();
            if (Reincarnate) then
            begin
              WalkToHouse;
              TakeScreen('Found Dead');
              Players[CurrentPlayer].Rand := 'Oh Dear You Are in Lumby';
              Players[CurrentPlayer].Active := False;
            end;
          end;
      end;


    function Steal(): Boolean;
      begin
        repeat
          Antiban;
          Antirandom;
          CStatus := 'Stealing'
          Painting;
          Wait(RandomRange(200, 700));
          FindObjCustom(x, y, ['man'], [532535, 400175, 399144, 466225], 10);
          Mouse(x, y, 5, 5, false);
          ChooseOption('ocket');
        until false;
      end;

       //reminder: Switch to TPA or DMT (Need to figure this out...)
    function FindMan(): Boolean;
      begin
        repeat
          Steal;
          HpCheck;
          Live;
          ProgressReport;
          HumanMMouse(X, Y, 5, 5);
          {if(StrInArr('our gravestone', ChatBoxTextArray(clMessage)))
        then
        begin
          HumanMMouse(X, Y, 5, 5);
            WalkToHouse;
        end;}


        {(Use for Master Farmers/Ham members)
        if InvFull then
        begin
          HumanMMouse(X, Y, 5, 5);
          Wait(RandomRange(100, 200));
          DropAll;
          Writeln('Dropping inventory')
        end;}


        until false;
      end;

    procedure Sequence;
      begin
        SetAngle(true)
        SetRun(true)
        FindMan;
      end;

    begin
      CStatus := 'Logging in...'
      Lumbridge := Point(4720, 3785)
      SPS_Areas := ['11_9'];
      SPS_Setup(RUNESCAPE_SURFACE, SPS_Areas);

      Smart_Server := 77;
      Smart_Members := True;
      Smart_Signed := True;
      Smart_SuperDetail := False;
      SetupSRL;

      ClearDebug;
      ClearSmartCanvas;
      Painting;
      DeclarePlayers;
      CheckStats;
      LoginPlayer;
      Sequence;
      ProgressReport;
    end.
    Last edited by [XoL]; 01-15-2012 at 09:21 PM.




    Anti-Leech Movement Prevent Leeching Spread the word
    Insanity 60 Days (Killer workout)
    XoL Blog (Workouts/RS/Misc)

  2. #2
    Join Date
    Dec 2006
    Location
    Program TEXAS home of AUTOERS
    Posts
    7,934
    Mentioned
    26 Post(s)
    Quoted
    237 Post(s)

    Default

    Simple , but shall do the Job.

    Keep trying mate, and good job.

  3. #3
    Join Date
    Nov 2011
    Posts
    23
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Will test and post proggy any idea how much it makes per hour?

  4. #4
    Join Date
    Nov 2009
    Posts
    48
    Mentioned
    0 Post(s)
    Quoted
    5 Post(s)

    Default

    Great script! level 1-15+ Thieving in no time at all! Thank you.

    One thing is they only loot 3 gold coins which now go straight into coin bag, so no need to drop anything from inventory at all.

    Is it possible to modify the script so it will steal from Farmers, Guards, Warriors etc?

    Eat food at HP<50 would be awesome too!

  5. #5
    Join Date
    Nov 2009
    Posts
    48
    Mentioned
    0 Post(s)
    Quoted
    5 Post(s)

    Default

    Ok I modified the colours and name from "man" to "mer" in the script and it flawlessy runs on Farmers too. Sure it will work with other npcs too.

  6. #6
    Join Date
    May 2011
    Location
    In an Island.
    Posts
    1,413
    Mentioned
    2 Post(s)
    Quoted
    149 Post(s)

    Default

    ^ careful with double posts...
    ''If you want something you've never had, you have to do something you've never done''


    total leve 2715/1b exp +... exterminated.

  7. #7
    Join Date
    Oct 2011
    Location
    Chicago
    Posts
    3,352
    Mentioned
    21 Post(s)
    Quoted
    437 Post(s)

    Default

    Quote Originally Posted by Grimtoker View Post
    Ok I modified the colours and name from "man" to "mer" in the script and it flawlessy runs on Farmers too. Sure it will work with other npcs too.
    It works on all monsters :P
    Just change the name and the colors, hmm so food?

    Edit:
    Added progress reports (didn't release yet though) (Honestly never tested the script I just assumed it works :P if it can attack it should be able to thieve) I did not know what men gave :P
    Last edited by [XoL]; 12-07-2011 at 10:41 PM.




    Anti-Leech Movement Prevent Leeching Spread the word
    Insanity 60 Days (Killer workout)
    XoL Blog (Workouts/RS/Misc)

  8. #8
    Join Date
    Dec 2011
    Posts
    35
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Going to use this right now, if it's easy exp I'll take it.

  9. #9
    Join Date
    Oct 2011
    Location
    Chicago
    Posts
    3,352
    Mentioned
    21 Post(s)
    Quoted
    437 Post(s)

    Default

    okay , I should have the next updated version released late tomorrow
    That will include

    Full deathwalk
    Food eating
    Exp tracker
    More anti-Ban
    Some interesting Paint




    Anti-Leech Movement Prevent Leeching Spread the word
    Insanity 60 Days (Killer workout)
    XoL Blog (Workouts/RS/Misc)

  10. #10
    Join Date
    Dec 2011
    Posts
    35
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Gained 5 levels within 2 hours from 33-38, going to continue with this. Thanks.

  11. #11
    Join Date
    Oct 2011
    Location
    Chicago
    Posts
    3,352
    Mentioned
    21 Post(s)
    Quoted
    437 Post(s)

    Default

    Awesome glad you like it
    Updates coming out soon, might have to delay it for tomorrow but it will be out!

    EDIT:
    New Version has been released 1.1

    New features:
    More anti-ban
    Can eat ALL FOOD! woo so just bring an inventory full of sharks (You will never die )
    Paint (Useless but it is there)
    Exp Tracker (Not really sure if it works >.<)
    Death walk (Still broken will fix for next update)
    A few fail safes
    Last edited by [XoL]; 12-11-2011 at 04:06 AM.




    Anti-Leech Movement Prevent Leeching Spread the word
    Insanity 60 Days (Killer workout)
    XoL Blog (Workouts/RS/Misc)

  12. #12
    Join Date
    Dec 2011
    Posts
    12
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Ive got a question:
    This is what I filled in so far, but since Im new to all this I dont know if Im doing this right..

    procedure DeclarePlayers;
    begin
    HowManyPlayers := 1;
    NumberOfPlayers(HowManyPlayers);
    CurrentPlayer := 0; // This is the player to start with
    Players[0].Name := '***********'; // Username
    Players[0].Pass := '**********'; // Password
    Players[0].Nick := ''; // 3-4 lowercase letters from username;
    Players[0].Active := True; // Set to true if you want to use Player 0
    Players[0].BoxRewards := ['Xp', 'mote', 'ostume', 'oins', 'aphire', 'ssence'];

  13. #13
    Join Date
    Oct 2011
    Location
    Chicago
    Posts
    3,352
    Mentioned
    21 Post(s)
    Quoted
    437 Post(s)

    Default

    Woo version 1.1
    And

    HowManyPlayers := 1;
    NumberOfPlayers(HowManyPlayers);
    CurrentPlayer := 0; // This is the player to start with
    Players[0].Name := 'algbla'; // Username
    Players[0].Pass := 'P4$$W0RD'; // Password
    Players[0].Nick := 'bla'; // 3-4 lowercase letters from username;
    Players[0].Active := True; // Set to true if you want to use Player 0
    Players[0].BoxRewards := ['Xp', 'mote', 'ostume', 'oins', 'aphire', 'ssence'];

    Just like that will work.




    Anti-Leech Movement Prevent Leeching Spread the word
    Insanity 60 Days (Killer workout)
    XoL Blog (Workouts/RS/Misc)

  14. #14
    Join Date
    Dec 2011
    Posts
    12
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Somehow it doesn't do anything..

    This is all Simba says:
    SMART Initialized.
    Loaded: Server 77, Members: True, Signed: True, Super Detail: False.

  15. #15
    Join Date
    Oct 2011
    Location
    Chicago
    Posts
    3,352
    Mentioned
    21 Post(s)
    Quoted
    437 Post(s)

    Default

    Nothing shows up? I normally wait around a minute before smart actually shows up.




    Anti-Leech Movement Prevent Leeching Spread the word
    Insanity 60 Days (Killer workout)
    XoL Blog (Workouts/RS/Misc)

  16. #16
    Join Date
    Dec 2011
    Posts
    12
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Nope nothing at all, should there be popping up another window?

    Edit:
    I seem to get this too:
    [Hint] (263:10): Variable 'Result' never used at line 262
    [Hint] (12:1): Variable 'VER' never used at line 11
    Last edited by Cama; 12-11-2011 at 09:56 PM.

  17. #17
    Join Date
    Oct 2011
    Location
    Chicago
    Posts
    3,352
    Mentioned
    21 Post(s)
    Quoted
    437 Post(s)

    Default

    Try to re-download this: R4_ManThief2.simba (First post)
    Then when you press play it should load, no clue why it is not. Perhaps you need to update your SRL/Simba version etc.?




    Anti-Leech Movement Prevent Leeching Spread the word
    Insanity 60 Days (Killer workout)
    XoL Blog (Workouts/RS/Misc)

  18. #18
    Join Date
    Dec 2011
    Posts
    10
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    Will be trying this script out

  19. #19
    Join Date
    Oct 2011
    Location
    Chicago
    Posts
    3,352
    Mentioned
    21 Post(s)
    Quoted
    437 Post(s)

    Default

    Good to know I will add that deathwalk soon!
    But in all honesty if you have a bit of food and put it in your inventory, the bot will eat you will 99% never die unless you have 10 hp and no food haha




    Anti-Leech Movement Prevent Leeching Spread the word
    Insanity 60 Days (Killer workout)
    XoL Blog (Workouts/RS/Misc)

  20. #20
    Join Date
    Dec 2011
    Posts
    18
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    You should make one for a Master Farmer!

  21. #21
    Join Date
    Oct 2011
    Location
    Chicago
    Posts
    3,352
    Mentioned
    21 Post(s)
    Quoted
    437 Post(s)

    Default

    I suppose I could :P
    Wouldn't be too complicated to change my code up, I believe someone has already attempted to do it with my script but I don't know how far they got. If their progress isn't really that great I will take it up add banking/walking.




    Anti-Leech Movement Prevent Leeching Spread the word
    Insanity 60 Days (Killer workout)
    XoL Blog (Workouts/RS/Misc)

  22. #22
    Join Date
    Dec 2011
    Posts
    18
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Alright man thanks! I hope you do, I could really use that since it seems to be the best at level 38 farming..

  23. #23
    Join Date
    Oct 2011
    Location
    Chicago
    Posts
    3,352
    Mentioned
    21 Post(s)
    Quoted
    437 Post(s)

    Default

    ill give him a week to do it, otherwise ill just make it




    Anti-Leech Movement Prevent Leeching Spread the word
    Insanity 60 Days (Killer workout)
    XoL Blog (Workouts/RS/Misc)

  24. #24
    Join Date
    Dec 2011
    Posts
    18
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by R4nd0m View Post
    ill give him a week to do it, otherwise ill just make it
    Alright ill be staying in check with you! Ill be a tester if you want!

  25. #25
    Join Date
    Oct 2011
    Location
    Chicago
    Posts
    3,352
    Mentioned
    21 Post(s)
    Quoted
    437 Post(s)

    Default

    Send me a pm in a week
    Right now I am writing the SPS walking method for my manthief, everything else is looking great!




    Anti-Leech Movement Prevent Leeching Spread the word
    Insanity 60 Days (Killer workout)
    XoL Blog (Workouts/RS/Misc)

Page 1 of 3 123 LastLast

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
  •