Page 1 of 2 12 LastLast
Results 1 to 25 of 32

Thread: DNA Smilther

  1. #1
    Join Date
    Apr 2007
    Posts
    3,152
    Mentioned
    3 Post(s)
    Quoted
    1 Post(s)

    Default DNA Smilther

    DNA Smilther
    SCAR Code:
    {}{                ___     _     _                              }{}
    {}{               |.--\   | \   ||     /\                       }{}
    {}{               ||  \\  ||\\  ||    //\\                      }{}
    {}{               ||   || || \\ ||   //__\\                     }{}
    {}{               ||__//  ||  \\||  //----\\                    }{}
    {}{               |___/   ||   \_| //      \\                   }{}
    {}{ _______                                                     }{}
    {}{/.-----.\             || || __||__  ||                       }{}
    {}{\\______                 || --..--  ||___   _-_    /\        }{}
    {}{ `-----.\    /\  /\   || ||   ||    |.--.\ || \\  //\\       }{}
    {}{ _______\\  //\\//\\  || ||   ||    ||  || ||_//  ||         }{}
    {}{/-------./ //  \/  \\ || ||   ||    ||  || \\___  ||         }{}
    {Thanks to WT-Fakawi(randoms), LordGreggreg1(showed me DDTMS),Rs-Monkey(2 procedures),
    Jhildy(!!!!THE FORMS!!!!!AND A WORKING PROGRESS BAR!!!!                                            }


    {}{                        INSTRUCTIONS                         }{}
    {}{                1. Start in West Fally Bank.                 }{}
    {}{\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\}{}
    {}{                      wow that was easy                      }{}
    {}{|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|}{}
    Does:
    • Smelts all bars(not including blurite)
    • Smiths all the bars its smelted



    Way Cool Features:
    • Antiban
    • AntiRandoms
    • Forms
    • Proggy
    • Failsafes(better but no change of version)
    • ***Walk from Fally to Varrok***



    Version 1.2
    Added:
    • proggy
    • smithing



    Updates:
    • eventually a miner included(very far away)
    SCAR Tutorials: The Form Tutorial | Types, Arrays, and Classes
    Programming Projects: NotePad | Tetris | Chess


  2. #2
    Join Date
    May 2007
    Location
    NSW, Australia
    Posts
    2,823
    Mentioned
    3 Post(s)
    Quoted
    25 Post(s)

    Default

    Ill test it out.

    Nice 1200+ lines!

    EDIT**
    What SCAR version did u make the script in because i used SCAR 2.0.3 with srl 3.6 and srl 3.7 didnt work tried DIVI with srl 3.8 didnt work

  3. #3
    Join Date
    Apr 2007
    Posts
    3,152
    Mentioned
    3 Post(s)
    Quoted
    1 Post(s)

    Default

    SCAR 3.06, and srl 3.8...and crap!!!forgot to save changes(1 min)

    EDIT: download again
    SCAR Tutorials: The Form Tutorial | Types, Arrays, and Classes
    Programming Projects: NotePad | Tetris | Chess


  4. #4
    Join Date
    May 2007
    Location
    NSW, Australia
    Posts
    2,823
    Mentioned
    3 Post(s)
    Quoted
    25 Post(s)

  5. #5
    Join Date
    Oct 2006
    Posts
    585
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    HHMMMM... very intersting script.... i havent autoed in like a month... but this is very intruiging (SP) and if you get it with a miner... and it works really good... that would be freaking sweet once i get my ess bots mining lvl up illmine some rocks and smithem and leave you a good proggy.. BTW i have 9 bots

    Quote Originally Posted by YoHoJo View Post
    I like hentai.

  6. #6
    Join Date
    Oct 2006
    Location
    Texas,united states
    Posts
    100
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Dang i was really wanted to try this out but i already smithed all my bars. I will be sure tomine more and smith it if i can get the chance. BTW is this wat u applied for member with?

  7. #7
    Join Date
    Aug 2006
    Posts
    408
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Wow great job with the walk to varrock procedure. And I didn't know you were learning forms! Gratz on SRL members, you've probably had it for a while and I didn't notice.

  8. #8
    Join Date
    May 2007
    Posts
    23
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    lol im the first then i guess ....

    so installeld just srl 3.8 on scar 3.06 and im getting this error

    [Error] (16508:8): Identifier expected in script C:\Documents and Settings\........\Bureaublad\runescape\DNA Smilther 1.2.scar

  9. #9
    Join Date
    May 2007
    Posts
    23
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    yes i did ....

    getting still error ... strange

  10. #10
    Join Date
    Apr 2007
    Posts
    3,152
    Mentioned
    3 Post(s)
    Quoted
    1 Post(s)

    Default

    can you post the script in scar tags??i accidentally deleted it and for some reason i cant open it when i download, then i can help you, but when i had it, i didnt get that error
    SCAR Tutorials: The Form Tutorial | Types, Arrays, and Classes
    Programming Projects: NotePad | Tetris | Chess


  11. #11
    Join Date
    Dec 2006
    Location
    Sweden
    Posts
    10,812
    Mentioned
    3 Post(s)
    Quoted
    16 Post(s)

    Default sorry

    Sorry, I got it and haven't bean runnign lol.. Be sure this time to give proggiez!!

    Here if you need your script.. why are you hiving problems? Ugh, this is very long.
    SCAR Code:
    program DNASmilther;
    {}{                ___     _     _                              }{}
    {}{               |.--\   | \   ||     /\                       }{}
    {}{               ||  \\  ||\\  ||    //\\                      }{}
    {}{               ||   || || \\ ||   //__\\                     }{}
    {}{               ||__//  ||  \\||  //----\\                    }{}
    {}{               |___/   ||   \_| //      \\                   }{}
    {}{ _______                                                     }{}
    {}{/.-----.\             || || __||__  ||                       }{}
    {}{\\______                 || --..--  ||___   _-_    /\        }{}
    {}{ `-----.\    /\  /\   || ||   ||    |.--.\ || \\  //\\       }{}
    {}{ _______\\  //\\//\\  || ||   ||    ||  || ||_//  ||         }{}
    {}{/-------./ //  \/  \\ || ||   ||    ||  || \\___  ||         }{}
    {Thanks to WT-Fakawi, LordGreggreg1, Boreas, and Rs-Monkey, and to
    anyone else that helped, remind me(i've been working on this too long to
    remember everyone)                                                }


    {}{                        INSTRUCTIONS                         }{}
    {}{                1. Start in West Fally Bank.                 }{}
    {}{\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\}{}
    {}{                      wow that was easy                      }{}
    {}{|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|}{}

    {.include srl/srl.scar}
    {.Include SRL/SRL/Extended/xAutoTalk.SCAR}
    {.Include SRL/SRL/Extended/xAntiban.SCAR}
    var
        Anvil,Bars,Xamine,Exitit:integer;
        RockColor,Cuser,Smithed,Smelted:integer;
        DidRandomHappen: Boolean;
    var AllBars:integer;
    var SubPoints: array[0..2] of TDTMPointDef;
    var MainPoint : TDTMPointDef;
    var MasterTDTM,RoadTDTM: TDTM;
    var TheDTM,RoadDTM:Integer;
        CGx, CGy,DirtRoadColor,BridgeColor: Integer;
        WhichAngle:    Extended;
        MyTBox : tbox;
    var
        MyTPA : TPointArray;
        TempTPA : TPoint;
        Memitems1, Memitems2 : TBox;
        i : integer;
    var
        DNASmilther : TForm;
        Label1 : TLabel;
        Active : TLabel;
        lblusern : TLabel;
        Label2 : TLabel;
        lblnick : TLabel;
        lblloads : TLabel;
        lblactive : TLabel;
        lblbar : TLabel;
        lbluser : TLabel;
        GroupBox1 : TGroupBox;
        btnstart : TButton;
        cbBar : TComboBox;
        ednick : TEdit;
        edpass : TEdit;
        eduser : TEdit;
        Cbactive : TComboBox;
        edloads : TEdit;
        Add : TButton;
        btndelete : TButton;
        btnback : TButton;
        btnfwd : TButton;
        ProgressBar1 : TProgressBar;
    type
        TOre = record //as in T-Ore
        orenames : Array of string;
        orecolors : Array of integer;
        oreamounts : Array of integer;
      end;

    procedure AddUser;
    begin
      SetArrayLength(Players, GetArrayLength(Players) + 1);
      Players[GetArrayLength(Players) - 1].Name := 'New Name';
      Players[GetArrayLength(Players) - 1].Pass := 'New Pass';
      Players[GetArrayLength(Players) - 1].Nick := 'New Nick';
      Players[GetArrayLength(Players) - 1].Active := True;
      Players[GetArrayLength(Players) - 1].Integer1 := 0;
      Players[GetArrayLength(Players) - 1].String1 := 'New Bar';
    end;

    procedure Inititate(Sender: TObject);
    begin
      lblUser.Caption := IntToStr(cUser);
      Players[cUser].Nick := ednick.Text;
      Players[cUser].Name := eduser.Text;
      Players[cUser].Pass := edpass.Text;
      Players[cUser].integer1 := (strtoint(edloads.Text));
      Players[cUser].String1 := Cbbar.text;
       if (cbactive.Text = 'True') then
        Players[cUser].Active := True
        else;
      if (cbactive.Text = 'False') then
      begin
        Players[cUser].Active := False;
      end;
      cUser := GetArrayLength(Players) - 1;
    end;

    procedure CreateUser(Sender: TObject);
    begin
      Players[cUser].Nick := ednick.text;
      Players[cUser].Name := eduser.Text;
      Players[cUser].Pass := edpass.Text;
      Players[cUser].integer1 := (strtoint(edloads.Text));
      Players[cUser].String1 := Cbbar.text;
       if (cbactive.Text = 'True') then
        Players[cUser].Active := True
        else;
      if (cbactive.Text = 'False') then
      begin
        Players[cUser].Active := False;
      end;
      AddUser;
      cUser := GetArrayLength(Players) - 1;
      lblUser.Caption := IntToStr(cUser);
      edloads.Text := inttostr(Players[cUser].integer1);
      ednick.text := Players[cUser].Nick;
      eduser.Text := Players[cUser].Name;
      edpass.Text := Players[cUser].Pass;
      cbbar.text := Players[cUser].String1;
      if (Players[cUser].Active) then
        cbactive.Text := 'True'
      else;
      if (Players[cUser].Active= false) then
        cbactive.Text := 'False';
    end;

    procedure ForwardUser(Sender: TObject);
    begin
      Players[cUser].Nick := ednick.Text;
      Players[cUser].Name := eduser.Text;
      Players[cUser].Pass := edpass.Text;
      Players[cUser].integer1 := strtoint(edloads.Text);
      Players[cUser].String1 := Cbbar.text;
      if (cbactive.Text = 'True') then
        Players[cUser].Active := True
        else;
      if (cbactive.Text = 'False') then
      begin
        Players[cUser].Active := False;
      end;
      if (cUser + 1 > GetArrayLength(Players) - 1) then
        cUser := 0
      else
        cUser := cUser + 1;
      lblUser.Caption := IntToStr(cUser);
      edloads.Text := inttostr(Players[cUser].integer1);
      ednick.Text := Players[cUser].Nick;
      eduser.Text := Players[cUser].Name;
      edpass.Text := Players[cUser].Pass;
      cbbar.text :=Players[cUser].String1;
      if (Players[cUser].Active) then
        cbactive.Text := 'True'
        else;
      if (Players[cUser].Active= false) then
        cbactive.Text := 'False';
    end;

    procedure BackUser(Sender: TObject);
    begin
      Players[cUser].Nick := ednick.Text;
      Players[cUser].Name := eduser.Text;
      Players[cUser].Pass := edpass.Text;
      Players[cUser].integer1 := strtoint(edloads.Text);
      Players[cUser].String1 := Cbbar.text;
      if (cbactive.Text = 'True') then
        Players[cUser].Active := True
        else;
      if (cbactive.Text = 'False') then
      begin
        Players[cUser].Active := False;
      end;
      if (cUser - 1 < 0) then
        cUser := GetArrayLength(Players) - 1
      else
        cUser := cUser - 1;
      lblUser.Caption := IntToStr(cUser);
      edloads.Text := inttostr(Players[cUser].integer1);
      ednick.Text := Players[cUser].Nick;
      eduser.Text := Players[cUser].Name;
      edpass.Text := Players[cUser].Pass;
      cbbar.text := Players[cUser].String1;
      if (Players[cUser].Active) then
        cbactive.Text := 'True'
      else
        cbactive.Text := 'False';
    end;

    procedure DeleteUser(Sender: TObject);
    var
      int, na, ni, str: string;
      ac: Boolean;
    begin
      int := inttostr(Players[GetArrayLength(Players) - 1].integer1);
      na := Players[GetArrayLength(Players) - 1].Name;
      ni := Players[GetArrayLength(Players) - 1].Nick;
      ac := Players[GetArrayLength(Players) - 1].Active;
      str := Players[GetArrayLength(Players) - 1].string1;
      Players[cUser].integer1 := strtoint(int);
      Players[cUser].Name := na;
      Players[cUser].Nick := ni;
      Players[cUser].Active := ac;
      Players[cuser].String1 := str;
      SetArrayLength(Players, GetArrayLength(Players) - 1);
      if (cUser + 1 > GetArrayLength(Players) - 1) then
        cUser := 0
      else
        cUser := cUser + 1;
      lblUser.Caption := IntToStr(cUser);
      edloads.Text := inttostr(Players[cUser].integer1);
      ednick.Text := Players[cUser].Nick;
      eduser.Text := Players[cUser].Name;
      edpass.Text := Players[cUser].Pass;
      cbbar.text := Players[GetArrayLength(Players) - 1].string1;
      if (Players[cUser].Active) then
        cbactive.Text := 'True'
      else
        cbactive.Text := 'False';
    end;

    procedure Start(Sender: TObject);
    begin
      lblUser.Caption := IntToStr(cUser);
      edloads.Text := inttostr(Players[cUser].integer1);
      ednick.Text := Players[cUser].Nick;
      eduser.Text := Players[cUser].Name;
      edpass.Text := Players[cUser].Pass;
      cbbar.text := Players[cuser].string1;
      if (Players[cUser].Active) then
        cbactive.Text := 'True'
      else
        cbactive.Text := 'False';
    end;

    procedure initform;
    begin
    DNASmilther := CreateForm;
    DNASmilther.Left := 243;
    DNASmilther.Top := 11;
    DNASmilther.BorderStyle := bsSingle;
    DNASmilther.Caption := 'DNASmilther';
    DNASmilther.ClientHeight := 400;
    DNASmilther.ClientWidth := 700;
    DNASmilther.Color := clBlack;
    DNASmilther.Font.Color := clWindowText;
    DNASmilther.Font.Height := -11;
    DNASmilther.Font.Name := '@SimHei';
    DNASmilther.Font.Style := [];
    DNASmilther.Visible := False;
    DNASmilther.PixelsPerInch := 96;
    Label1 := TLabel.Create(DNASmilther);
    Label1.Parent := DNASmilther;
    Label1.Left := 251;
    Label1.Top := 203;
    Label1.Width := 106;
    Label1.Height := 15;
    Label1.Caption := 'Type Of Bar To Make';
    Active := TLabel.Create(DNASmilther);
    Active.Parent := DNASmilther;
    Active.Left := 300;
    Active.Top := 78;
    Active.Width := 30;
    Active.Height := 15;
    Active.Caption := 'Active';
    lblusern := TLabel.Create(DNASmilther);
    lblusern.Parent := DNASmilther;
    lblusern.Left := 430;
    lblusern.Top := 30;
    lblusern.Width := 50;
    lblusern.Height := 15;
    lblusern.Caption := 'Username';
    lblusern.Font.Color := clSkyBlue;
    lblusern.Font.Height := -11;
    lblusern.Font.Name := '@SimHei';
    lblusern.Font.Style := [];
    lblusern.ParentFont := False;
    Label2 := TLabel.Create(DNASmilther);
    Label2.Parent := DNASmilther;
    Label2.Left := 430;
    Label2.Top := 110;
    Label2.Width := 49;
    Label2.Height := 15;
    Label2.Caption := 'Password';
    Label2.Font.Color := clSkyBlue;
    Label2.Font.Height := -11;
    Label2.Font.Name := '@SimHei';
    Label2.Font.Style := [];
    Label2.ParentFont := False;
    lblnick := TLabel.Create(DNASmilther);
    lblnick.Parent := DNASmilther;
    lblnick.Left := 430;
    lblnick.Top := 190;
    lblnick.Width := 22;
    lblnick.Height := 15;
    lblnick.Caption := 'Nick';
    lblnick.Font.Color := clSkyBlue;
    lblnick.Font.Height := -11;
    lblnick.Font.Name := '@SimHei';
    lblnick.Font.Style := [];
    lblnick.ParentFont := False;
    lblloads := TLabel.Create(DNASmilther);
    lblloads.Parent := DNASmilther;
    lblloads.Left := 430;
    lblloads.Top := 270;
    lblloads.Width := 30;
    lblloads.Height := 15;
    lblloads.Caption := 'Loads';
    lblloads.Font.Color := clSkyBlue;
    lblloads.Font.Height := -11;
    lblloads.Font.Name := '@SimHei';
    lblloads.Font.Style := [];
    lblloads.ParentFont := False;
    lblactive := TLabel.Create(DNASmilther);
    lblactive.Parent := DNASmilther;
    lblactive.Left := 50;
    lblactive.Top := 30;
    lblactive.Width := 36;
    lblactive.Height := 15;
    lblactive.Caption := 'Active?';
    lblactive.Font.Color := clSkyBlue;
    lblactive.Font.Height := -11;
    lblactive.Font.Name := '@SimHei';
    lblactive.Font.Style := [];
    lblactive.ParentFont := False;
    lblbar := TLabel.Create(DNASmilther);
    lblbar.Parent := DNASmilther;
    lblbar.Left := 50;
    lblbar.Top := 100;
    lblbar.Width := 17;
    lblbar.Height := 15;
    lblbar.Caption := 'Bar';
    lblbar.Font.Color := clSkyBlue;
    lblbar.Font.Height := -11;
    lblbar.Font.Name := '@SimHei';
    lblbar.Font.Style := [];
    lblbar.ParentFont := False;
    lbluser := TLabel.Create(DNASmilther);
    lbluser.Parent := DNASmilther;
    lbluser.Left := 640;
    lbluser.Top := 15;
    lbluser.Width := 32;
    lbluser.Height := 15;
    lbluser.Caption := inttostr(cuser);
    lbluser.Font.Color := clSkyBlue;
    lbluser.Font.Height := -11;
    lbluser.Font.Name := '@SimHei';
    lbluser.Font.Style := [];
    lbluser.ParentFont := False;
    GroupBox1 := TGroupBox.Create(DNASmilther);
    GroupBox1.Parent := DNASmilther;
    GroupBox1.Left := 22;
    GroupBox1.Top := 172;
    GroupBox1.Width := 322;
    GroupBox1.Height := 115;
    GroupBox1.Caption := 'Player Controls';
    GroupBox1.Color := clNavy;
    GroupBox1.Ctl3D := True;
    GroupBox1.ParentColor := False;
    GroupBox1.ParentCtl3D := False;
    GroupBox1.TabOrder := 19;
    btnstart := TButton.Create(DNASmilther);
    btnstart.Parent := DNASmilther;
    btnstart.Left := 300;
    btnstart.Top := 330;
    btnstart.Width := 102;
    btnstart.Height := 34;
    btnstart.Caption := 'Start';
    btnstart.ModalResult := 1;
    btnstart.TabOrder := 8;
    cbBar := TComboBox.Create(DNASmilther);
    cbBar.Parent := DNASmilther;
    cbBar.Left := 49;
    cbBar.Top := 120;
    cbBar.Width := 197;
    cbBar.Height := 23;
    cbBar.Color := clSkyBlue;
    cbBar.ItemHeight := 15;
    cbBar.TabOrder := 9;
    cbBar.Text := 'Bronze';
    cbBar.Items.Add('Bronze');
    cbBar.Items.Add('Iron');
    cbBar.Items.Add('Silver');
    cbBar.Items.Add('Steel');
    cbBar.Items.Add('Gold');
    cbBar.Items.Add('Mith');
    cbBar.Items.Add('Addy');
    cbBar.Items.Add('Rune');
    ednick := TEdit.Create(DNASmilther);
    ednick.Parent := DNASmilther;
    ednick.Left := 430;
    ednick.Top := 210;
    ednick.Width := 165;
    ednick.Height := 23;
    ednick.Color := clSkyBlue;
    ednick.TabOrder := 10;
    ednick.Text := 'Nick';
    edpass := TEdit.Create(DNASmilther);
    edpass.Parent := DNASmilther;
    edpass.Left := 430;
    edpass.Top := 130;
    edpass.Width := 165;
    edpass.Height := 23;
    edpass.Color := clSkyBlue;
    edpass.TabOrder := 11;
    edpass.Text := 'Pass';
    eduser := TEdit.Create(DNASmilther);
    eduser.Parent := DNASmilther;
    eduser.Left := 430;
    eduser.Top := 50;
    eduser.Width := 165;
    eduser.Height := 23;
    eduser.Color := clSkyBlue;
    eduser.TabOrder := 12;
    eduser.Text := 'Username';
    Cbactive := TComboBox.Create(DNASmilther);
    Cbactive.Parent := DNASmilther;
    Cbactive.Left := 50;
    Cbactive.Top := 50;
    Cbactive.Width := 197;
    Cbactive.Height := 23;
    Cbactive.Color := clSkyBlue;
    Cbactive.ItemHeight := 15;
    Cbactive.TabOrder := 13;
    Cbactive.Text := 'True';
    Cbactive.Items.Add('True');
    Cbactive.Items.Add('False');
    edloads := TEdit.Create(DNASmilther);
    edloads.Parent := DNASmilther;
    edloads.Left := 430;
    edloads.Top := 290;
    edloads.Width := 165;
    edloads.Height := 23;
    edloads.Color := clSkyBlue;
    edloads.TabOrder := 14;
    edloads.Text := '0';
    Add := TButton.Create(DNASmilther);
    add.onclick := @createuser;
    Add.Parent := DNASmilther;
    Add.Left := 81;
    Add.Top := 222;
    Add.Width := 102;
    Add.Height := 34;
    Add.Caption := 'Add';
    Add.TabOrder := 15;
    btndelete := TButton.Create(DNASmilther);
    btndelete.onclick := @Deleteuser;
    btndelete.Parent := DNASmilther;
    btndelete.Left := 181;
    btndelete.Top := 222;
    btndelete.Width := 102;
    btndelete.Height := 34;
    btndelete.Caption := 'Delete';
    btndelete.TabOrder := 16;
    btnback := TButton.Create(DNASmilther);
    btnback.onclick := @backuser;
    btnback.Parent := DNASmilther;
    btnback.Left := 34;
    btnback.Top := 222;
    btnback.Width := 49;
    btnback.Height := 34;
    btnback.Caption := '<<';
    btnback.TabOrder := 17;
    btnfwd := TButton.Create(DNASmilther);
    btnfwd.onclick := @forwarduser;
    btnfwd.Parent := DNASmilther;
    btnfwd.Left := 279;
    btnfwd.Top := 222;
    btnfwd.Width := 49;
    btnfwd.Height := 34;
    btnfwd.Caption := '>>';
    btnfwd.TabOrder := 18;
    ProgressBar1 := TProgressBar.Create(DNASmilther);
    ProgressBar1.Parent := DNASmilther;
    ProgressBar1.Left := 17;
    ProgressBar1.Top := 333;
    ProgressBar1.Width := 205;
    ProgressBar1.Height := 23;
    ProgressBar1.TabOrder := 20;
    end;

    procedure SafeInitForm;
    var
      c: TVariantArray;
    begin
      setarraylength(c, 0);
      ThreadSafeCall('InitForm', c);
    end;

    procedure ShowFormModal;
    begin
      DNASmilther.ShowModal;
    end;

    procedure SafeShowFormModal;
    var
      c: TVariantArray;
    begin
      setarraylength(c, 0);
      ThreadSafeCall('ShowFormModal', c);
    end;


    procedure setupform;
    begin
    Safeinitform;
    SafeShowFormModal;
    end;

    procedure Signature;
    begin
      ClearDebug;
      writeln('   DNA Smilther -  By:Dan Cardin       ');
      writeln(' ______          __        __          ');
      writeln('|  ___ \        /  \      / /   /\     ');
      writeln('| |   \ \      / /\ \    / /   /  \    ');
      writeln('| |    \ \    / /  \ \  / /   / /\ \   ');
      writeln('| |    / /   / /    \ \/ /   / /__\ \  ');
      writeln('| |___/ /   / /      \  /   / /----\ \ ');
      writeln('|______/   /_/        \/   /_/      \_\');
      wait(3000 + random(750));
    end;

    procedure LoadBmps;
    begin
      Xamine := BitmapFromString(13, 13, 'z78DA33301889C00D091023' +
           '4EAA999498432DF7D0CE6DD4328D16B1300A8801007921C979');
      Anvil := BitmapFromString(1, 23, '433418433E3E433E3E4844444' +
           '641414C47474844444C47474C47474F4A48544E4E5953535C5656' +
           '665F5E665F5E665F5E4844444844444844444F4A48524B4B524B4' +
           'B4B3C1B');
    end;

    Procedure Login;
    begin
       ClearDebug;
       ActivateClient;
       Wait(3000 +random(3000));
       if(not(LoggedIn))then
       LoginPlayer;
       Writeln('You have successfully logged in.');
       wait(3000+random(1000));
       CheckUserNicks;
    end;

    procedure Compass;
    begin
      SetRun(true);
      Writeln('Run is turned on.');
      Wait (200+random(50));
      HighestAngle;
      Writeln('Angle is hightened.');
      MakeCompass('N');
      Writeln('Compass is set to north.');
      Wait (1000+random(200));
      SetChat('Off', 1);
      Wait(1000+random(500));
      SetChat('Off', 2);
      Wait(1000+random(500));
      SetChat('On', 3);
      Wait(1000+random(500));
    end;

    procedure GetOre(ore : string);
    var
      Bars : TOre; //the variable that holds what we should get
      i : integer;
    begin
      case ore of
        'bronze' : begin
                   Bars.orenames := ['in', 'opper']; //tin, copper.
                   Bars.orecolors := [7960962, 4032748];
                   Bars.oreamounts := [14, 14];
                   end;
        'iron'   : begin
                   Bars.orenames := ['ron']; //iron
                   Bars.orecolors := [1646131];
                   Bars.oreamounts := [28];
                   end;
        'steel'  : begin
                   Bars.orenames := ['ron', 'oal'];  //iron, coal
                   Bars.orecolors := [2240332, 1585453];
                   Bars.oreamounts := [9, 18];
                   end;
        'mithril': begin
                   Bars.orenames := ['ith', 'oal']; //mith, coal
                   Bars.orecolors := [5715253, 1585453];
                   Bars.oreamounts := [5, 20];
                   end;
        'adamant': begin
                   Bars.orenames := ['ddy', 'oal']; //addy, coal
                   Bars.orecolors := [5267534, 1585453];
                   Bars.oreamounts := [4, 24];
                   end;
        'runite' : begin
                   Bars.orenames := ['une', 'oal']; //rune, coal
                   Bars.orecolors := [8482648, 1585453];
                   Bars.oreamounts := [3, 24];
                   end;
        'silver' : begin
                   Bars.orenames := ['ilver']; //silver
                   Bars.orecolors := [12169134];
                   Bars.oreamounts := [28];
                   end;
        'gold'   : begin
                   Bars.orenames := ['old']; //gold
                   Bars.orecolors := [1816029];
                   Bars.oreamounts := [28];
                   end;
      end;
      OpenBankQuiet('feb');
      if PinScreen then NextPlayer(false);
      if not(PinScreen)then begin  FixBank; DepositAll; end;

      for i := 0 to GetArrayLength(Bars.orenames) - 1 do
      begin
        if FindObj(x,y,Bars.orenames[i],Bars.orecolors[i],5)then
        begin
          Mouse(x, y, 2, 2, False);
          ChooseOption(x, y, 'draw X');
          Wait(3000 + Random(300));
          TypeSend(inttostr(Bars.oreamounts[i]));
        end;
        Wait(1000 + random(1000));
      end;
      CloseBank;
    end;

    procedure WalkToSmelter;
    var Step,tries:integer;
    begin
      Step := DTMFromString('78DA63EC60606008614001E9F622609A11CA6' +
           '76C25524D3801355D44AA0921424D10116A0208A8E924424D3B11' +
           '6A5A89541344845D61F8D50000A8A91310');
      repeat
        If not FindDTM(Step,x,y,849, 207,798, 245) then
        begin
          tries:=tries+1
          if tries >=5 then NextPlayer(true);
        end;
      until FindDTM(Step,x,y,849, 207,798, 245)
      begin
        Mouse(x,y,3,3,true);
        FFlag(3);
        if(FindSymbol(x,y,'funace')) or FindDTM(Step,x,y,798, 254,851, 203)then
        begin
          Mouse(x,y,2,2,true);
          FFlag(3);
        end;
      end;
    end;

    function Smelt:Boolean;
    begin
      MakeCompass('E');
      if(FindObj(x,y,'urnace',1451652,5))then
      begin
        result:=true
        Wait(1000+random(500));
        ChooseOption(x,y,'x');
        Wait(1000+random(500));
        HitKeys(true);
        MarkTime(Mark)
        repeat
        if InChat('ou retrieve a bar of')then
        Smelted:=Smelted+1
        until TimeFromMark(Mark)>=60000
        exitit:=1
      end;
    end;

    procedure WalkToBank;
    var Step1,Bank1,Bank2,tries:integer;
    begin
      Step1 := DTMFromString('78DA63EC60606008614001E9F622609A11CA6' +
           '76C25524D3801355D44AA0921424D10116A0208A8E924424D3B11' +
           '6A5A89541344845D61F8D50000A8A91310');
      Bank1 := DTMFromString('78DA6314606060106500035608C5F0E70F130' +
           '317906604E2FF40C0C88BA9E6ED5B06B81A106094C06F0E588D18' +
           'A69A3367B0982386AAE6EE5D34359240420455CDD7AF686A406E1' +
           '64655F3EF1F1FAA1A41C26A004D4414E1');
      Bank2 := DTMFromString('78DA6314646060106600035608C570F72E030' +
           '317906604E2FF40C0C8076408A2AAF9FA15A1060418B931D5209B' +
           '0356C389A9E6CF1F2654359244D82504240450D5FCFBC787AA460' +
           'C53CD9E4DD351D400005C1B12B0');
      repeat
      If not FindDTM(Step1,x,y,736, 244,710, 197) then
        begin
          tries:=tries+1
          if tries >=5 then NextPlayer(true);
        end;
      until FindDTM(Step1,x,y,736, 244,710, 197)
      begin
        Mouse(x,y,3,3,true);
        FFlag(3);
      end
      if FindSymbol(x,y,'bank') or
      FindDTM(Bank1,x,y,MMX1, MMY1, MMX2, MMY2)or
      FindDTM(Bank2,x,y,MMX1, MMY1, MMX2, MMY2)then
      begin
        Mouse(x,y+5,2,2,true);
        FFlag(3);
      end;
    end;

    procedure WalkToSmithy;
    var LadderThing,tries:integer;
    begin
      LadderThing := DTMFromString('78DA6394626060106200035608C510A401A11' +
           '981F83F10304A001902B8D580695922D58812A14682801A90BC38' +
           '116A08D905F2BB180135F2986A6000AE06242F42400DC81C49026' +
           'A2430FD8EA1461A48481150A380DF3D3C400C00B9B30ADF');
      repeat
      If not FindDTM(LadderThing,x,y,MMX1, MMY1, MMX2, MMY2) then
        begin
          tries:=tries+1
          if tries >=5 then NextPlayer(true);
        end;
      until FindDTM(LadderThing,x,y,MMX1, MMY1, MMX2, MMY2)
      begin
        Mouse(x-30,y,2,2,true);
        FFlag(3);
      end;
    end;

    procedure WalkToVarrok;
    var EndOfWall,WierdLadder,tries:integer;
    begin
      if(not(LoggedIn))then
      Exit;
      WierdLadder := DTMFromString('78DA630C676060B0624001AEF2109A11CA670' +
           'C0512B604D48401090B026A4288546346404D38116A2281842901' +
           '355144F81DA4C686809A0822D44411F63B007E6D0A95');
      EndOfWall := DTMFromString('78DA631463606010654001EB1776836946289' +
           'F51044808A2AA79F2E10BAA1A4922D44803096122D48812502301' +
           '24C408A81125420DC82E21026AC488F09714A6BFD0C310004C311' +
           'BBD');
      repeat
      If not FindDTM(WierdLadder,x,y,MMX1, MMY1, MMX2, MMY2) or FindSymbol(x,y,'water')then
        begin
          tries:=tries+1
          if tries >=5 then NextPlayer(true);
        end;
      until FindDTM(WierdLadder,x,y,MMX1, MMY1, MMX2, MMY2) or FindSymbol(x,y,'water')
      begin
        Mouse(x+50,y,2,2,true);
        FFlag(3);
      end;
      tries:=0
      repeat
      If not FindDTM(EndOfWall,x,y,MSX1,MSY1,MSX2,MSY2) then
        begin
          tries:=tries+1
          if tries >=5 then NextPlayer(true);
        end;
      until FindDTM(EndOfWall,x,y,MSX1,MSY1,MSX2,MSY2)
      begin
        Mouse(x,y,2,2,true);
        FFlag(3);
        if FindColorSpiralTolerance(x,y,5855584,MSX1,MSY1,MSX2,MSY2,5) then
        begin
          Mouse(x,y,2,2,true);
          FFlag(3);
        end;
        if FindColorTolerance(x,y,8161159,MSX1,MSY1,MSX2,MSY2,5)then
        Mouse(x,y,2,2,false);
        if FindBitmap(Xamine,x,y)then
        begin
          Mouse(x,y,2,2,true);
          Mouse(x,y,2,2,true);
        end;
        RadialRoadWalk(FindDirtRoadColor, 402, 420, 70, 0, 0);
        Flag;
        RadialRoadWalk(FindDirtRoadColor, 382, 411, 73, 0, 0);
        Flag;
        RadialRoadWalk(FindDirtRoadColor, 93, 111, 68, 0, 0);
        Flag;
        RadialRoadWalk(FindDirtRoadColor, 108, 141, 72, 0, 0);
        Flag;
        RadialRoadWalk(FindDirtRoadColor, 102, 132, 69, 0, 0);
        Flag;
        RadialRoadWalk(FindDirtRoadColor, 121, 155, 62, 0, 0);
        Flag;
        RadialRoadWalk(FindDirtRoadColor, 88, 121, 69, 0, 0);
        Flag;
        RadialRoadWalk(FindDirtRoadColor, 49, 105, 73, 0, 0);
        Flag;
        Mouse(715, 83,20,20,true);
      end;
    end;

    procedure AssembleDTM;
    begin
      MainPoint .x:=821;
      MainPoint .y:=242;
      MainPoint .areasize:=0;
      MainPoint .areashape:=0;
      MainPoint .color:=DirtRoadColor;
      MainPoint .tolerance:=0;

      SubPoints[0].x:=823;
      SubPoints[0].y:=256;
      SubPoints[0].areasize:=1;
      SubPoints[0].areashape:=0;
      SubPoints[0].color:=WaterColor;
      SubPoints[0].tolerance:=0;

      SubPoints[1].x:=823;
      SubPoints[1].y:=230;
      SubPoints[1].areasize:=1;
      SubPoints[1].areashape:=0;
      SubPoints[1].color:=WaterColor;
      SubPoints[1].tolerance:=0;

      SubPoints[2].x:=801;
      SubPoints[2].y:=239;
      SubPoints[2].areasize:=1;
      SubPoints[2].areashape:=0;
      SubPoints[2].color:=DirtRoadColor;
      SubPoints[2].tolerance:=0;

      SubPoints[3].x:=843;
      SubPoints[3].y:=241;
      SubPoints[3].areasize:=1;
      SubPoints[3].areashape:=0;
      SubPoints[3].color:=DirtRoadColor;
      SubPoints[3].tolerance:=0;

      MasterTDTM.MainPoint := MainPoint;
      MasterTDTM.SubPoints := SubPoints;
      TheDTM:= AddDTM(MasterTDTM);
    end;

    procedure ResumeVarrokWalk;
    begin
      MainPoint.x:=152;
      MainPoint.y:=108;
      MainPoint.areasize:=0;
      MainPoint.areashape:=0;
      MainPoint.color:=RoadColor;
      MainPoint.tolerance:=0;

      SubPoints[0].x:=103;
      SubPoints[0].y:=90;
      SubPoints[0].areasize:=0;
      SubPoints[0].areashape:=0;
      SubPoints[0].color:=DirtRoadColor;
      SubPoints[0].tolerance:=0;

      SubPoints[1].x:=130;
      SubPoints[1].y:=93;
      SubPoints[1].areasize:=0;
      SubPoints[1].areashape:=0;
      SubPoints[1].color:=RoadColor;
      SubPoints[1].tolerance:=0;

      SubPoints[2].x:=126;
      SubPoints[2].y:=101;
      SubPoints[2].areasize:=0;
      SubPoints[2].areashape:=0;
      SubPoints[2].color:=RockColor;
      SubPoints[2].tolerance:=0;

      RoadTDTM.MainPoint := MainPoint;
      RoadTDTM.SubPoints := SubPoints;
      RoadDTM            := AddDTM(RoadTDTM);
    end;

    procedure ResumeAgain;
    var VarrokBank:integer;
    begin
      if(not(LoggedIn))then
      Exit;
      VarrokBank := DTMFromString('78DA63FCC2C8C0F09F010E803C86B76F116C2' +
           '610FD0BC89267C4A9064CFF04B2C409A8F90A64B133E2B78B08F7' +
           '0000221A106B');
      RoadColor:=FindRoadColor;
      RadialRoadWalk(RoadColor, 77, 113, 71, 0, 0);
      Flag;
      RadialRoadWalk(RoadColor, 59, 107, 74, 0, 0);
      Flag;
      RadialRoadWalk(RoadColor, 382, 432, 72, 0, 0);
      Flag;
      begin
        MyTBox.x1 := 776;
        MyTBox.y1 := 152;
        MyTBox.x2 := 858;
        MyTBox.y2 := 252;
        if FindColorTolerance(x,y,3956588,MyTBox.x1,MyTBox.y1,MyTBox.x2,MyTBox.y2,5) then
        Mouse(x,y,2,2,true);
      end;
      if FindDtmRotated(VarrokBank, x, y, MMX1, MMY1, MMX2, MMY2, -PI*2, PI*2, 0.2,WhichAngle) then
      begin
        Mouse(x,y,2,2,true);
      end;
    end;

    procedure OpenBankForHammer;
    var Hammer:integer;
    begin
      Hammer := DTMFromString('78DA6314676060906140014E3A0C0C46409A1' +
           '188FF0301A33090A1C0801530C2687E20A141408D1090D026A046' +
           '0C48A81150230524E409A89105125204D428020909026A5481841' +
           '801354A4498A30C248409A811C58C0BACE12349408D0C11E680CC' +
           '50C4AF0600E56207F7');
      if(not(LoggedIn))then
      Exit;
      OpenBankQuiet('vwb');
      if PinScreen then NextPlayer(false);
      if not(PinScreen)then
      begin
        FixBank;
        DepositAll;
      end;
      if(FindDtm(Hammer,x,y,MSX1,MSY1,MSX2,MSY2))then
      Mouse(x,y,2,2,true);
    end;

    Procedure GetBars;
    var BronzeBar,IronBar,SteelBar,MithBar,AddyBar:integer;
        RuneBar,SilverBar,GoldBar,a:integer;
    begin
      BronzeBar := DTMFromString('78DA63146560601064400141B9950C46409A1' +
           '188FF0301A32490C1C58006189148202D0F247808A851C0B40B43' +
           '8D0C901025A006E41E09026A4066C81050C30B24A409A86103129' +
           '204D4B0020911026A40E1C78F5F0D004ED10738');
      IronBar := DTMFromString('78DA63946060601065400129B1310C46409A1' +
           '188FF030123279021CE8006189148200D52234D400D2F909025A0' +
           '461848C813500372B3020135D244D805B24792801A2520214684B' +
           'F8409A801B9978F801A6520C14F408D0A61BB006B4207D6');
      SteelBar := DTMFromString('78DA8D914B0A80300C44D3AD8288A2D662FD5' +
           '52FE025BBF6C43AEED42E2681BE74F1C804627A1171F2A9334639' +
           'D00DDE8532053E9DFCCABC889EA773122703BC62CE4C9C1258885' +
           '3012B711A2010C7021B7106C53E4E91350123719E9C813841718B' +
           '1DB00AA75564D5C4F1FCA637EBD109C7');
      MithBar := DTMFromString('78DA6394666060106240013E3E850C46409A1' +
           '188FF0301231F9021C8800618914820CD05244489502349400DC8' +
           '1E19026A4066C8115003728B2C0135BC40428A801A5922D428020' +
           '931026A548084300135AA448433480D1F11EEE1C1AF0600460807' +
           'E7');
      AddyBar := DTMFromString('78DA8DCFCB0D80201045D16165347E3144143' +
           '5C612AC8426ECBF047DECD4856F26E1C2E22480F122D2C86BE219' +
           'E5C06EB02E8C2971A8E533E651EC39D2119321BDC20CC4A4F78CC' +
           '4A43F4DC4582410E3909918AFB82B28FEB5208E980DB1C4EC48AB' +
           '3015312B52FC9B1B0C4907F3');
      RuneBar := DTMFromString('78DA63146660601062400141B9950C46409A1' +
           '188FF0301231790C1CF800618914820CD8E690E861A5620214284' +
           '1A09026A388184140135BC40429A801A907B6509A81123C21C492' +
           '2DC0C32438C801A5922C24701480810A18697801A1920C18D5F0D' +
           '00435B07E2');
      SilverBar := DTMFromString('78DA63146160601067400173E6AC603002D28' +
           'C40FC1F081839800C510634C08844026956202141841A19026AB8' +
           '81841C013502404281801A90BF1409A801B95796801A907B2509A' +
           '85120227C406A0409A8910612FCF8D500005DCF0840');
      GoldBar := DTMFromString('78DA631467606010644001E7660B301801694' +
           '620FE0F048C3C986A181898E06A4080911348883060000C351268' +
           '0A18D1D4F003092902760903091974352CA86A40F6C8A299C2C88' +
           'AAA0664862401BB1489F09732901042F316139A7B5480041F01BF' +
           'CB03096EFC6A005C300A0D');
      if(not(LoggedIn))then
      Exit;
      OpenBankQuiet('vwb');
      if PinScreen then NextPlayer(false);
      if not(PinScreen)then
      begin
        FixBank;
        DepositAll;
      end;
      begin
        case Players[CurrentPlayer].string1 of
        'bronze' : begin
                     a:=BronzeBar;
                   end;
        'iron'   : begin
                     a:=IronBar
                   end;
        'steel'  : begin
                     a:=SteelBar
                   end;
        'mithril': begin
                     a:=MithBar
                   end;
        'adamant': begin
                     a:=AddyBar
                   end;
        'runite' : begin
                     a:=RuneBar
                   end;
        'silver' : begin
                     a:=SilverBar
                   end;
        'gold'   : begin
                     a:=GoldBar
                   end;
        end;
        if(FindDtm(a,x,y,MSX1,MSY1,MSX2,MSY2))then
        begin
          Mouse(x, y, 2, 2, False);
          ChooseOption(x, y, 'draw X');
          Wait(3000 + Random(300));
          HitKeys(true);
        end;
      end;
      CloseBank;
      HighestAngle;
      MakeCompass('n');
    end;

    function Smith:Boolean;
    var xAnvil, yAnvil:integer;
    begin
      AllBars := DTMFromString('78DA8D914B0A80300C44D3AD8288A2D662FD5' +
          '5CFDAB527AEE34EED6212E84B178F4C20661411279FBA6294846E' +
          'F012CA54F80CF22BF3227A99CFC99C02F08A392B716A60234E03E' +
          'CC4E980401C0B1CC49914FB3845D602CCC4797226E204C52D4EC0' +
          '2A9C5E91D512C7F39BDEDF9F0A94');
      If FindDTM(AllBars,x,y,MIX1, MIY1, MIX2, MIY2)then
      begin
        Mouse(x,y,2,2,true);
        if FindDeformed(xAnvil, yAnvil, Anvil, MSX1+30, MSY1, MSX2, MSY2)then
        begin
          result:=true
          Mouse(x,y,2,2,true);
        end;
      end else
      Exit;
      Exitit:=1
    end;

    function CustomAntiBan:boolean;
    begin
      case random(10) of
        1:RandomRClick;
        2:HitKeys(true);
        3:PickUpMouse;
        4:AlmostLogout;
        5:DontBanMe(1);
        6:ArrangeInv;
      end;
      result:=true
    end;

    procedure WalkToBankFromSmithy;
    var LadderThing,tries:integer;
    begin
      LadderThing := DTMFromString('78DA6394626060106200035608C510A401A11' +
           '981F83F10304A001902B8D580695922D58812A14682801A90BC38' +
           '116A08D905F2BB180135F2986A6000AE06242F42400DC81C49026' +
           'A2430FD8EA1461A48481150A380DF3D3C400C00B9B30ADF');
      repeat
      If not FindDTM(LadderThing,x,y,MMX1, MMY1, MMX2, MMY2) then
        begin
          tries:=tries+1
          if tries >=5 then NextPlayer(true);
        end;
      until FindDTM(LadderThing,x,y,MMX1, MMY1, MMX2, MMY2)
      begin
        Mouse(x-30,y,2,2,true);
        FFlag(3);
      end;
      if FindSymbol(x,y,'bank')then
      begin
        Mouse(x,y,2,2,true);
        MakeCompass('w');
        LowestAngle;
      end;
    end;

    {/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

                  ----------> Random Finding <----------

    \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/}


    function FindFastRandoms: Boolean; //By WT-Fakawi.
    var
      i: Integer;
    begin
      for i := 1 to 8 do
      begin
        case I of
          1: if FindDead then
              Result := True;
          2: if FindMod then
              Result := True;
          3: if FindMime then
              Result := True;
          4: if FindMaze then
              Result := True;
          5: if FindQuiz then
              Result := True;
          6: if FindDemon then
              Result := True;
          7: begin
              if NoGameTab then
              begin
                Result := True;
                Players[CurrentPlayer].loc := 'No GameTab';
                Logout;
                Exit;
              end;
            end;
          7: begin
              if InBlack then
              begin
                Result := True;
                Players[CurrentPlayer].loc := 'InBlack';
                Logout;
                Exit;
              end;
            end;
          8: RC;
        end;
        wait(1);
      end;
      if (Result = true) then
        DidRandomHappen := true;
    end;

    ///////////////////////////////////////////////////////////////////////////

    procedure FindRandoms;
    begin
      FindFastRandoms;
      FindNormalRandoms;
      if (FindNormalRandoms) then
        DidRandomHappen := true;
    end;

    procedure Proggy;
    Var I:Integer;
    begin
      For I  :=  0 to HowManyPlayers - 1 Do
      begin
        ClearDebug;
        Writeln('||  Worked For : ' + ScriptTime2(2));
        Writeln('||  Smelted' + IntToStr(Smelted) + Players[CurrentPlayer].string1+ 'bars in all ');
        Writeln('||  Smithed' +IntToStr(Smithed) + 'bars into items');
        SRLRandomsReport;
        Login;
      end;
    end;

    BEGIN
      Signature;
      SetupSRL;
      NewLine:=Newline
      loadus;
      Cuser:=0;
      if (GetArrayLength(Players) = 0) then
      AddUser;
      Setupform;
      Saveus;
      ActivateClient;
      Bars:=Players[CurrentPlayer].integer1
      LoadBmps;
      Login;
      Compass;
      repeat
        GetOre(Players[CurrentPlayer].string1)
        if not FindColorTolerance(x,y,4942983,MIX1, MIY1, MIX2, MIY2,10)then
        Break;
        WalkToSmelter;
        exitit:=0
        while Smelt do
        begin
          repeat
            FindRandoms;
            CustomAntiBan;
          until exitit=1
        end;
        WalkToBank;
      until (Smelted>=Bars);
      WalkToVarrok;
      WaterColor:=FindWaterColor;
      BridgeColor:=FindBridgeColor;
      DirtRoadColor:=FindDirtRoadColor;
      AssembleDTM;
      if FindDtmRotated(TheDTM, CGx, CGy, MMX1, MMY1, MMX2, MMY2, -PI*2, PI*2, 0.2,WhichAngle) then
      begin
        Mouse(x,y,2,2,true);
        ResumeVarrokWalk;
        if FindDtmRotated(RoadDTM, CGx, CGy, MMX1, MMY1, MMX2, MMY2, -PI*2, PI*2, 0.2,WhichAngle) then
        begin
          Mouse(x,y,2,2,true);
          ResumeAgain;
        end;
      end
      else NextPlayer(true);
      OpenBankForHammer;
      repeat
        GetBars;
        WalkToSmithy;
        exitit:=0
        repeat
          while Smith do
          begin
            repeat
              FindRandoms;
              CustomAntiBan;
            until exitit=1
            Wait(1000+random(750));
            Memitems1 := Inttobox(333, 39, 460, 317);
            Memitems2 := Inttobox(256, 281, 314, 322);
            FindColorsTolerance(MyTPA, 16777215, 6, 49, 513, 322, 0);
            if GetArrayLength(MyTPA) = 0 then Writeln('couldn''t find color');
            for i := 0 to GetArrayLength(MyTPA) - 1 do
            begin
              if ((not(IntInBox(MyTPA[i].x, MyTPA[i].y, Memitems1))) and (not(IntInBox(MyTPA[i].x, MyTPA[i].y, Memitems2)))) then
              begin
                if Distance(MyTPA[i].x, MyTPA[i].y, 513, 322) < Distance(TempTPA.x, TempTPA.y, 513, 322) then
                begin
                  TempTPA.x := MyTPA[i].x;
                  TempTPA.y := MyTPA[i].y;
                end;
              end;
            end;
            Mouse(TempTPA.x, TempTPA.y-10, 0, 0, True);
            Wait(3000);
            if InChat('ou hammer the')then
            Smithed:=Smithed+1
          end;
        until not FindDTM(AllBars,x,y,MIX1, MIY1, MIX2, MIY2)
        WalkToBankFromSmithy;
      until (Smithed>=Bars);
      NextPlayer(true);
    end.


    Send SMS messages using Simba
    Please do not send me a PM asking for help; I will not be able to help you! Post in a relevant thread or make your own! And always remember to search first!

  12. #12
    Join Date
    Apr 2007
    Posts
    3,152
    Mentioned
    3 Post(s)
    Quoted
    1 Post(s)

    Default

    im going to replace my smelter for the comp with this 1 so it'll be better and you'll have the choice of only doing smithing and only doing smelting
    SCAR Tutorials: The Form Tutorial | Types, Arrays, and Classes
    Programming Projects: NotePad | Tetris | Chess


  13. #13
    Join Date
    Jun 2007
    Posts
    8
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Doesn't work for me.
    If I start with empty inventory, it will open bank, not withdraw anything, walk to the fountain and log out.
    If I start with full inventory, it will open bank, deposit the ores, walk to the fountain and log out.
    I'm fairly sure I've set everything up right, as other SRL scripts work for me.

  14. #14
    Join Date
    Feb 2006
    Posts
    449
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Failed when compiling
    Line 1152: [Error] (16608:8): Identifier expected in script

    What I get
    [SIGPIC][/SIGPIC]

  15. #15
    Join Date
    Apr 2007
    Posts
    3,152
    Mentioned
    3 Post(s)
    Quoted
    1 Post(s)

    Default

    OK

    @Gumby-its cuz of the rs update

    @justkidding-cuz u have 3.81 and this is for 3.8 which doesnt work...so i have to update
    SCAR Tutorials: The Form Tutorial | Types, Arrays, and Classes
    Programming Projects: NotePad | Tetris | Chess


  16. #16
    Join Date
    Feb 2006
    Posts
    449
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by dan cardin View Post
    OK

    @Gumby-its cuz of the rs update

    @justkidding-cuz u have 3.81 and this is for 3.8 which doesnt work...so i have to update
    I been looking for a good smelter. I got around 1k tin and copper on 5 guys to test one. Kyab has one but its down atm. Ill probably test yours and the kyab version once both get going. Thanks.
    [SIGPIC][/SIGPIC]

  17. #17
    Join Date
    Apr 2007
    Location
    England
    Posts
    313
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    how long untill you get it working with 3.81 b/c that is what i have and i dont think you can down grade it and i dont wat to download agian

  18. #18
    Join Date
    Apr 2007
    Posts
    3,152
    Mentioned
    3 Post(s)
    Quoted
    1 Post(s)

    Default

    iplan on updating the problem is, that i dont know what's wrong, cuz it worked on 3.08

    EDIT:nvm i think, i think i fixed it

    it was the 'NewLine:=Newline' just so i didnt get that hint error thing, so i just got rid of that
    SCAR Tutorials: The Form Tutorial | Types, Arrays, and Classes
    Programming Projects: NotePad | Tetris | Chess


  19. #19
    Join Date
    Jul 2007
    Posts
    60
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    For me it goes till it is supposed to get ores then it exits bank walks toward furnace then logs out.

    Plz help

  20. #20
    Join Date
    May 2007
    Location
    in a pineapple under the sea
    Posts
    1,040
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    nice work dan! Unfortunately i have no ores to smelt...
    [SIZE="4"][CENTER][URL="http://www.youtube.com/watch?v=5YsGJz3j4os"]LOL u mad bro?[/URL][/CENTER][/SIZE]

  21. #21
    Join Date
    Jun 2006
    Posts
    65
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Still does walks to fountain and logs out for me. Its not withdrawing the ores.

  22. #22
    Join Date
    Apr 2007
    Posts
    3,152
    Mentioned
    3 Post(s)
    Quoted
    1 Post(s)

    Default

    i need someone else to test and see if they get that, cuz i dont have time to go fix the script right now, if its just 1 person
    SCAR Tutorials: The Form Tutorial | Types, Arrays, and Classes
    Programming Projects: NotePad | Tetris | Chess


  23. #23
    Join Date
    Jun 2006
    Posts
    65
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Well its not just one person, some other people are having problems to.

  24. #24
    Join Date
    Apr 2007
    Posts
    3,152
    Mentioned
    3 Post(s)
    Quoted
    1 Post(s)

    Default

    no 1 else has tested since the last update...
    SCAR Tutorials: The Form Tutorial | Types, Arrays, and Classes
    Programming Projects: NotePad | Tetris | Chess


  25. #25
    Join Date
    Jun 2006
    Posts
    65
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    i think it might just be me...seriously, dont sweat over it

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