Page 1 of 5 123 ... LastLast
Results 1 to 25 of 121

Thread: Harpoon Buyer

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

    Default Deadlys' Harpoon Buyer

    Harpoon Buyer
    You need to download this to be able to use the script: http://villavu.com/forum/showthread....objdtm+walking
    Follow the instructions at the bottom of this page on how to download and install it correctly.



    You can fix your door detection problems here: http://villavu.com/forum/showthread.php?t=72578
    Beginner5 has made an incredible script to detect and open the doors in Port Sarim.
    I'll be posting my own fix in a few days, in the meantime I encourage you to implement Beginner5s' fix for yourselves. Don't forget to thank/ +rep him for the time and effort he spent into developing such a beastly script!



    This script buys harpoons from the fishing shop in Port Sarim and deposits them in the deposit box.
    I've only made this script capable of running one account and not being able to run multiple accounts, since you can only buy 1000 thousand harpoons at a time.


    Always sell for well over the medium price, this only took me a few hours to sell. Don't flood the market to much



    Requirements:
    Start off with at least 60k in your money pouch.
    Starting Point:



    Recommended set up:
    e.g. Monk robes, wizard robes, any other combo. You don't need an air tiara, I just stole this picture from my air runecrafting script.



    Current Features
    Rests when below 50% energy, either at the shop or deposit box.
    Opens the door when needed.

    Future Updates:
    Auto Updater.

    Known Bugs:
    Sometimes misclicks the npc, since he strolls around the room.

    Progress Reports:
    Progress Report:
    You have been Pooning for:50 Minutes and 30 Seconds
    Poons Bought:840

    I had to stop it since there was no harpoons left to buy.
    Progress Report:
    You have been Pooning for:1 Hours, 5 Minutes and 24 Seconds
    Poons Bought:1064


    Progress Report:
    You have been Pooning for:57 Minutes and 19 Seconds
    Poons Bought:1064



    Version:
    1.2: Released to the public again. There's a few anti-leech prevention techniques in this new script. This is because I don't want the price to drop to drastically.
    You can solve most of them by reading up on the errors here: http://villavu.com/forum/showthread....annoying+error
    Please refrain yourself from posting and asking for fixes here or in any other part of this forum. I want you to be competent enough to figure this out on your own. If you can’t find all the fixes in the link, you can go here: http://villavu.com/forum/forumdisplay.php?f=95

    1.1: I changed the depositall TPA to a findcustom, it now finds it every time. I believe I fixed the occasional misclick the "buy 50" option.
    1: Initial release

    Simba Code:
    program Harpoon_Buyer;

    {$i srl/srl/misc/smart.simba}
    {$i SRL/SRL.simba}
    //{.Include SRL\SRL\Misc\Debug.simba}
    //{$i SRL/SRL/misc/paintsmart.simba}
    {$i ObjectDTM/ObjDTMInclude.Simba}



    Const         //Yoho's
     SERVER  = ('54');     // Enter "0" to pick a random server.
     MEMBERS = False; // Set to True if using a RS-Members account. False if F2P.
     SRLStats_Username = ''; // Your SRL Stats Username
     SRLStats_Password = ''; // Your SRL Stats Password
     NumbOfPlayers= 1;     //How many players are you using
     StartPlayer=   0;     //Player to start auoting with! (0 means first char)
     Version = 1.2;

     Var
     tries: integer;
     opened : boolean;
     Poon: integer;
     aFound: Extended;
    {*******************************************************************************
    procedure DeclarePlayers;
    By: SRL
    Description: SRL's Player Setup
    *******************************************************************************}

    procedure DeclarePlayers;
    var i:integer;
    begin
      NumberOfPlayers(6);
      CurrentPlayer := 4;
      for i := 1 to NumbOfPlayers-5 do
      Players[i].BoxRewards  := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];

      Players[0].Name := '';
      Players[0].Pass := '';
      Players[0].Nick := '';
      Players[0].Member := False;
      Players[0].Active := True;
      Players[0].Pin := '';
      end;

    Procedure ObjSetup;   //Euph's
    begin;
    ObjDTM_Setup;
     end;

    Procedure StatsGuise(wat:String); //Yoho's
    Begin
      Status(wat);
      Disguise(wat);
    End;

    //Function CheckAndClick(X,Y:Integer):Boolean;
    //By: YoHoJo
    //Description: Moves mouse to x,y, checks for uptext, and clikcs if found
    //*******************************************************************************}
    Function CheckAndClick(X,Y:Integer):Boolean;
    Begin
      MMouse(x, y, 5, 5);
      {Wait(100 + Random(50));
      If CountUpColor('B', 41, 5, 86, 24, 70, 140) Then}

      If WaitUpTextMulti(['Mine','ine'], 150) Then
      Begin
        Result:=True;
        GetMousePos(x, y);
        Mouse(x, y, 0, 0,True);
        Wait(100+Random(50));
        FFlag(0);
      End;
    End;

    Procedure FailSafe(Reason:String);     //Yoho's
    begin
      Players[CurrentPlayer].Loc:=reason;
      Logout;
      Terminatescript;
    end;

      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));
        WindMouse(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;
      end;

     Procedure Loadvars;
     begin;
     MouseSpeed := RandomRange(14, 18);
     end;


    Procedure Antiban;   //I liked a few of Yoho's antibans, I implemented them here
    Begin
      Case Random(254) Of
        0: HoverSkill('Constitution', False);
        1: Begin PickUpMouse; SleepAndMoveMouse(3000 + Random(500)); End;
        2: IdleTime(100+random(700), 100+Random(100), 0.2+RandomE/2);
        3: Begin GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(Tab_Inv); End;
        4: HoverSkill('random', False);
        5: RandomMovement;
      End;
    end;

    Procedure ProgressReport;
    begin
      Cleardebug;
      Writeln('You have been Pooning for:' + TimeRunning);
      Writeln('Poons Bought:' + IntToStr(Poon*28));
    end;

    procedure Resting;
     var
    X,Y: Integer;
    s: String;
    begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;

    begin
        if (Not runenergy(50)) then
    begin
        setrest;
        Wait(10000+Random(5000));
        RestUntil(80)

      end;
     end;
    end;

     Procedure BuyThosePoons;
     Var
    X,Y,I: Integer;
    TPA : TPointArray;
    ATPA : T2DPointArray;

    begin
      If not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;
      Timerunning;

    begin
         Resting;
    end;

    begin
         SetAngle(SRL_ANGLE_HIGH);
         MakeCompass('S');

         if not invfull then
         begin
         if not shopscreen then
         begin
         If (FindObjCustom(x,y,['alk', 'talk'], [7841457, 926253, 8561065, 7118242, 7510954], 3)) Then
    begin

         MMouse(X, Y, 1, 1);
         ClickMouse2(False);
         Writeln('Talking to the Fisherman');
         Wait(600+random(250));
         Waitoption('rade', 3000);
         Wait(3500+random(250));
         end;


    begin
           If shopscreen then
    begin
           MouseBox(186, 55, 225, 98, 2);
    begin
           getmousepos(x, y);
           Writeln('Buying dose poons');
           ClickMouse2(False);
           Wait(600+random(250));
           Waitoption('00', 3000);
           Wait(1500+random(250));
    end;

    begin
           MouseBox(479, 13, 493, 27, 1);
    begin
           Wait(1000+random(500));
           end;
          end;
         end;
        end;
       end;
      end;
     end;


    Procedure WalkToTheDepositBox;
     var
    Path: TStringArray;
    DoorDTM, X, Y, I: Integer;
    TPA : TPointArray;
    ATPA : T2DPointArray;
    begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;

        if not invfull then
    begin
         buythosepoons;
    end;

    begin
        Path:= ['626:102:4:1:7:605:69:1:7:597:98:1:7:656:97:3:7:646:131'];
        for I := 0 to 0 do
        ObjDTM_Walk(Path[i], 0, 100, 80, True);
        Wait(2000+Random(500));

    begin
          DoorDTM := DTMFromString('mwQAAAHic42RgYPBnYmCwAuJkIPYDYmsgTgRiGyD2BeIEIBZlZGD4BVT7mwFCizBCxLSAWAeKLYzlGSrynBjKchwZagpdGTydNRnsrZQZ3B3VGVwc5cCYH6iXEGYkAsMBAAWQDm0=');
          if FindDTMRotated(DoorDTM, x, y, 0, 0, 700, 500, -Pi, Pi, Pi/30, aFound) then
    begin
          MMouse(X, Y, 2, 2);
          ClickMouse2(True);
          Wait(2000+random(250));
    end;
          if not FindDTM(DoorDTM, x, y, 0, 0, 700, 500) then
    begin
          writeln('Doors Open');
          Wait(1000+Random(500));
          Path:= ['688:51:6:3:7:644:113:1:7:655:81:1:7:607:54:1:7:598:81:1:7:618:116:2:7:602:118'];
          for I := 0 to 0 do
          ObjDTM_Walk(Path[i], 0, 100, 80, True);
        end;
       FreeDtm(doorDTM) // FreeBitmap(Door);
      end;
     end;
    end;

    Procedure Flagcheck;
    var
    Path: TStringArray;
    X, Y, I: Integer;
    TPA : TPointArray;
    ATPA : T2DPointArray;

    begin
      Wait(5000+Random(1000));

    begin
       Path:= ['666:56:1:1:7:592:113:1:669:57'];
      //this one replace //  '686:62:1:1:7:594:112'  Might do box
       for I := 0 to 0 do
       ObjDTM_Walk(Path[i], 0, 100, 80, True);
       Wait(2000+Random(500));


    begin
        Path:= ['644:86:3:3:7:593:39:3:7:609:31:3:7:597:27'];
        for I := 0 to 0 do
        ObjDTM_Walk(Path[i], 0, 100, 80, True);
        Wait(2000+Random(500));
      end;
     end;
    end;

    Procedure DepositPoons;
     var
    X,Y,I: Integer;
    TPA : TPointArray;
    ATPA : T2DPointArray;
    begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;
      Inc(Poon);
      ProgressReport;

    begin
        resting;
    end;

          If Invfull then
    begin
          If not depositscreen then
    begin
          If (FindObjCustom(x,y,['eposit', 'deposit'], [5991031, 5924981], 2)) Then
    begin
          Writeln('Opening Deposit box');
          MMouse(X, Y, 5, 5);
          ClickMouse2(True);
          Wait(3000+random(250));
    end;

    begin
            If (FindObjCustom(x,y,['eposit', 'deposit'], [1854330, 1985922, 1655411, 1655411], 8)) Then
    begin
            Writeln('Depositing dose poons');
            MMouse(X, Y, 3, 3);
            ClickMouse2(True);
            Wait(1000+random(250));
        end;
       end;
      end;
     end;
    end;

     Procedure BackToTheShop;
     var
    Path: TStringArray;
    Door2DTM, Door3DTM, Door4DTM, X, Y, I: Integer;

    begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;

         If invfull then
         begin
         DepositPoons;
         end;

    begin
          If not invfull then
      begin
          Path:= ['569:87:1:3:7:588:31'];
          for I := 0 to 0 do
          ObjDTM_Walk(Path[i], 0, 100, 80, True);
          Wait(2500+Random(500));



    begin
           Path:= ['610:142:3:3:7:635:36:3:7:652:27:3:7:640:23:1:610:142'];
           for I := 0 to 0 do
           ObjDTM_Walk(Path[i], 0, 100, 80, True);
           Wait(2000+Random(500));

    begin
           Path:= ['568:97:2:1:7:597:85:3:7:587:119'];
           for I := 0 to 0 do
           ObjDTM_Walk(Path[i], 0, 100, 80, True);
           Wait(4000+Random(500));
    begin
             SetAngle(SRL_ANGLE_HIGH);
             MakeCompass('S');
             Door2DTM := DTMFromString('mwQAAAHic42RgYMhgZGAIZoTQtUAcAsQ1QBwGxFVQ8SggdkbCkUAcDsSZUHkQbWIgy1Ca7chQme/MUJzlwODmoM5gb6nM4OIgC8f8QPsIYUYiMBwAABsUDnY=');
             if FindDTMRotated(Door2DTM, x, y, 0, 0, 700, 500, -Pi, Pi, Pi/30, aFound) then
    begin
             MMouse(X, Y, 2, 2);
             ClickMouse2(True);
             Wait(2000+random(250));
    end;

    begin
              if not FindDTM(Door2DTM, x, y, 0, 0, 700, 500) then
    begin
              writeln('Doors Open')
    end;

    begin
                Door3DTM := DTMFromString('mwQAAAHic42RgYNjByMCwAIi3AfEZIF4CpVcC8Tkg3g3EG4B4DhDPhuJNQLwWiPcB8V4oNtKTZijOcmAoz3ViyE2xYXBzUGfwdtVkcHGQhWN+oH2EMCMRGA4Ao98UVQ==');
                if FindDTMRotated(Door3DTM, x, y, 0, 0, 700, 500, -Pi, Pi, Pi/30, aFound) then
    begin
                MMouse(X, Y, 2, 2)
                ClickMouse2(True)
                Wait(2000+random(250))
    end;

    begin
                  Door4DTM  := DTMFromString('mwQAAAHic42RgYFBmYmDgBWIrIFYFYn4gtgBiISA2Z4LIJzIyMHgAsTsUg/gJQFwCxIVQ2txInqEsxwmMKwtcGDydNRmCvPUY3JzkGewtlcE0P9A+QpiRCAwHAMUvDK4=');
    begin
                  MMouse(X, Y, 2, 2);
                  ClickMouse2(True);
                  Wait(2000+random(250));
    end;
    begin
                Path:= ['628:63:7:1:7:581:119:1:7:597:73:1:7:605:43:1:7:655:72:1:7:618:110:3:7:645:106:2:7:601:112'];
                for I := 0 to 0 do
                ObjDTM_Walk(Path[i], 0, 100, 80, True);
                Wait(2000+Random(500));
                end;
               end;
             FreeDtm(Door3DTM)
            FreeDtm(Door4DTM)
           end;
          end;
         end;
        end;
       end;
      end;
     end;
    end;

    begin
      Smart_Server := 54;
      Smart_Members := False;
      Smart_Signed := True;
      Smart_SuperDetail := False;
      SetupSRL;
      Loadvars;
      ObjSetup;
      Declareplayers;
      if not (LoggedIn) then
      LoginPlayer;
      Repeat
      Repeat
      BuyThosePoons;
      WalkToTheDepositBox;
      Flagcheck;
      DepositPoons;
      BackToTheShop;
      Until(Poon=42) or (not LoggedIn);
      NextPlayer(Players[CurrentPlayer].Active);
      Poon:=0;
      Until(false);
    Last edited by Deadly Serious; 02-10-2012 at 09:27 PM.

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

    Default

    Good job with the script, releasing something that was requested! +rep




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

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

    Default

    Quote Originally Posted by R4nd0m View Post
    Good job with the script, releasing something that was requested! +rep
    Thanks mate, I thought it would be really easy to script but everything in there is basically the same color. TPAs and Bitmaps were screwing up >.<

  4. #4
    Join Date
    Jan 2012
    Posts
    190
    Mentioned
    0 Post(s)
    Quoted
    10 Post(s)

    Default

    wth? harpoon buyer?

    good job on programming skills but cmon! lol

  5. #5
    Join Date
    Feb 2011
    Location
    Earth
    Posts
    1,784
    Mentioned
    1 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by m3gaman3g3nd View Post
    wth? harpoon buyer?

    good job on programming skills but cmon! lol
    They are actually worth a lot...

    Currently: Working on Defending&Attacking in my Castle-Wars Script
    Project Rebuild: 90M/170M

  6. #6
    Join Date
    Jan 2012
    Posts
    190
    Mentioned
    0 Post(s)
    Quoted
    10 Post(s)

    Default

    no its probably a good money maker its just random, thats all =)

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

    Default

    You make around 250k per 1000. It's decent f2p money because it has no requirements apart from 60k starter cash.
    You could just have 4 accounts that continually rotate after purchasing 1000, by the time the last account gets through your first account would have regenerated another thousand harpoons.

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

    Default

    Is it possible to make it a direct download?

  9. #9
    Join Date
    Sep 2010
    Location
    Azeroth
    Posts
    395
    Mentioned
    0 Post(s)
    Quoted
    17 Post(s)

    Default

    ADVANCED SETTINGS CLICK PAPERCLIP ADD ATTACHMENT

    WHO HAS NOT TAUGHT YOU THIS>> IMA MAKE A THREAD TUT lol

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

    Default

    Just copy and paste ?

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

    Default

    Quote Originally Posted by Demondog View Post
    Is it possible to make it a direct download?
    I will, when I make it auto-updating.

    Quote Originally Posted by wantonman View Post
    ADVANCED SETTINGS CLICK PAPERCLIP ADD ATTACHMENT

    WHO HAS NOT TAUGHT YOU THIS>> IMA MAKE A THREAD TUT lol
    Control A, control C, control V?

    Quote Originally Posted by davx View Post
    Just copy and paste ?
    Yup, I've added another thing to download. Since, you need to download objtdm to the extensions list, so the walking procedure works.

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

    Default

    Fix your DTM link on the description:
    Code:
    http://villavu.com/forum/showthread.php?t=68112&highlight=objdtm+walking
    You have it linked like this:
    Code:
    http://villavu.com/forum/showthread....objdtm+walking

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

    Default

    Quote Originally Posted by blinkblink View Post
    Fix your DTM link on the description:
    Code:
    http://villavu.com/forum/showthread.php?t=68112&highlight=objdtm+walking
    You have it linked like this:
    Code:
    http://villavu.com/forum/showthread....objdtm+walking
    Sorry, copied and pasted it from my other thread.

  14. #14
    Join Date
    Nov 2011
    Posts
    1,532
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Did you use a DTM to find the door? How to do it? :P

  15. #15
    Join Date
    Jan 2012
    Posts
    16
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    whats the p/hr?

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

    Default

    Quote Originally Posted by nosaj.421 View Post
    Did you use a DTM to find the door? How to do it? :P
    The door was actually really annoying to code.
    The findobj with the uptext wasn't working for me which other people usually use in their scripts because everything is the same color even with 1-3 tolerance, it'll select something completely different.
    Even TPAs and bitmaps weren't working, so I decided to just make the camera angle south, so it wouldn't detect the door if it was open.


    Quote Originally Posted by lzDylanzl View Post
    whats the p/hr?
    No idea, I guess you better find out :P and then report back here with your findings.

  17. #17
    Join Date
    Nov 2011
    Posts
    1,532
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    I am also struggling with door detection in one of my on-hold projects. Guess this might shed light to it.

    Quote Originally Posted by lzDylanzl View Post
    whats the p/hr?
    Rumoured to be 200k per hour. But 1 hour per char because of personalized shops update.

  18. #18
    Join Date
    Nov 2011
    Posts
    232
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Very useful.
    I like to drop my harpoons after I catch a swordfish, so I always need them in bulk.

    Just kidding, would be a good money per hour script except for the annoying personalized shop update.
    Gratz.

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

    Default

    Quote Originally Posted by Swagger View Post
    Very useful.
    I like to drop my harpoons after I catch a swordfish, so I always need them in bulk.

    Just kidding, would be a good money per hour script except for the annoying personalized shop update.
    Gratz.
    They always sell for 25% over, there's always a huge demand (Until a bot is released, which then saturates the market )
    That's why you always have 4 newly made accounts buying them :P No requirements, perfect gold farming.

  20. #20
    Join Date
    Jan 2012
    Location
    Finland
    Posts
    133
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Harpoons are used with summoning if I am remembering right - good job. Just wondering whats the gp/h?
    Bot hard or get banned trying.

  21. #21
    Join Date
    Nov 2011
    Posts
    46
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by plekter View Post
    Harpoons are used with summoning if I am remembering right - good job. Just wondering whats the gp/h?
    He said he doesn't know.




    How was ObjectDtm walking to script is it easy to script with?

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

    Default

    Quote Originally Posted by Failedpure View Post
    He said he doesn't know.




    How was ObjectDtm walking to script is it easy to script with?
    Yes, it's very easy, as long as you have trees, ladders, plants, etc viewable on the minimap.

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

    Default

    Im pretty sure harpoons are used in summoning so there will be constant demand, also nice script!

  24. #24
    Join Date
    Nov 2011
    Posts
    1,532
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by Deadly Serious View Post
    Yes, it's very easy, as long as you have trees, ladders, plants, etc viewable on the minimap.
    How reliable is it? Better than SPS? I haven't got time to look into it yet.

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

    Default

    Quote Originally Posted by nosaj.421 View Post
    How reliable is it? Better than SPS? I haven't got time to look into it yet.
    I've never used SPS before but it is very reliable if you do it right.

Page 1 of 5 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
  •