Results 1 to 6 of 6

Thread: Its runs but does not work

  1. #1
    Join Date
    Aug 2009
    Posts
    242
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Its runs but does not work

    Well it runs logs in then logs out i can't see what has gone worng any idea's
    SCAR Code:
    Program RyasPowerMiner;
    {.include SRL/SRL/Misc/Smart.scar}
    {.include SRL/SRL.scar}

    Var x, y, Rock, FailedFinding, W, DropDTM, InvC, ha, LoadsDone, tt, ab,DTM1:integer;
      Colours: TIntegerArray;

    procedure DeclarePlayers;
    begin
      HowManyPlayers:= 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;

      Players[0].Name        := ''; //username
      Players[0].Pass        := ''; //password
      Players[0].Nick        := ''; //3-4 letters of your username, no caps or first letter
      Players[0].Active      := True; //Active or not
      players[0].Integers[0]  := 1 //loads to do
      players[0].Strings[0]  := 'iron';


    end;

    Procedure SetupSmart;
    begin
      SMART_Server:= 4 //what rs world
      Smart_Members:= false; //members world?;
      Smart_Signed:= false; //signed java applet?;
      Smart_SuperDetail:= false; //High Detailed mode?
    end;


    {Procedure CheckLevels;
    Begin
    End;}


    Procedure AskLevels;
    Begin
      Inc(tt);
        Case Random(40) of
          0: TypeSend('Mining Lvls');
          1: TypeSend('Lvls');
          2: TypeSend('Whats your minning lvls');
          3: Begin
               TypeSend('Woodcutting Lvls?');
               TypeSend('soz Mining Lvls?');
             End;
          4: TypeSend('mining lv');
          5: TypeSend('Who has the best minning lvl?');
          6: TypeSend('Whats every body minning?');
        End;
    End;

    Procedure RandomTalk;
    Begin
      Inc(tt);
      Case Random(30) of
      0: TypeSend('I cant wait to mine faster');
      1: TypeSend('I like the mining skill cape');
      2: TypeSend('Why does levevling mining take for ever');
      3: TypeSend('Someone told me this was the best way to level up but it takes for ever');
      End;
    End;

    Procedure AntiBan;
    Begin
      Inc(ab);
      Case Random(100) of
         0..9: HoverSkill('Random', false);
         10..14: PickUpMouse;
         15..29: BoredHuman;
         30: AskLevels;
         31..40: RandomRClick;
         41..49: RandomMovement;
         50..79: Wait(5000+random(5000));
         80..99: MMouse(230,230,500,500);
         100: RandomTalk;
       End;
    End;

    Procedure SetRock;
    Begin
       Case lowercase(Players[CurrentPlayer].Strings[0]) Of
       'clay'     : Begin
                    Colours := [7646927,7581134]//need 2 colours  from rimm, two from varock
                    DropDTM := DTMFromString('78DA63CC676660E0626240063519AE609A11C' +
                               'A6704A9E1405503934551C347404D36500D3701352544A821C23D' +
                               '005B2D0432');
                    End;
       'copper'   : Begin
                    Colours := [4225234,5083387];
                    DropDTM := DTM1
                    End;
       'tin'      : Begin
                    Colours := [9935007,5329493];
                    DropDTM := DTM1
                    End;
       'iron '    : Begin
                    Colours := [2370368,2172731];
                    DropDTM := DTM1
                    End;
       'coal'     : Begin
                    Colours := [32545,35435];
                    DropDTM := DTM1
                    End;
       'gold'     : Begin
                    Colours := [2210023,2210538];
                    DropDTM := DTM1
                    End;

       End;
       DTM1 := DTMFromString('78DA639CC6CCC060C5C4800C623C8D19A4803' +
           '42310FF0702C689403536A86A20B2301248CF00AAB127428D3901' +
           '3520BB6C09A8990254E3805F0D0002EE0A03');
    End;

    Procedure WaitToFinish;
    Var Inv, TM:integer;
    Begin
      MarkTime(TM);
      Inv := InvCount
      Repeat
        If GetBlackChatMessage=('You m') then
         Exit;
        If not(Inv=InvCount) Then
         Exit;
        If (TimeFromMark(TM)=7000) Then
         Exit;
      Until(False);
    End;

    Procedure Click;
    Begin
    GetMousePos(x,y);
    Wait(100+random(600));
      If (Random(8)=4) Then
        Begin
        Mouse(x, y, 0, 0, False);
        ChooseOption('hop');
        End Else
        Mouse(x, y, 0, 0, True);
        WaitToFinish;
    End;

    procedure Drop;
    begin
      SetRock;
      ClickAllItems('dtm',DropDTM,'Drop',300,[])
      AntiBan;
      FindNormalRandoms;
      FreeDTM(DropDTM);
    end;

    Function FindRockTPA(Var Color: TIntegerArray): Boolean;
     Var
      MyTPA: TPointArray;
      MyPoint: TPoint;
      i, F: Integer;
    Begin
      SetRock;
      FreeDTM(DropDTM);
      If (GetArrayLength(Color) < 2) Then Exit;
      FindColorsSpiralTolerance(MSCx, MSCy, MyTPA, Color[0], MSx1, MSy1, MSx2, MSy2, 17);
      If Length(MyTPA) = 0 Then FindColorsTolerance(MyTPA, Color[1], MSX1, MSY1, MSX2, MSY2, 17);
      For i := 0 To High(MyTPA) Do
      Begin
        MyPoint := MyTPA[i]
        MMouse(MyPoint.x, MyPoint.y, 3, 3);
        If (IsUpTextMultiCustom(['ine', 'ore'])) Then
        Begin
          Result := True;
          Exit;
        End Else
        Inc(F);
        If (F=7) Then
        Result := False;
      End;
    End;

    Procedure Proggy;
    begin
      ClearDebug;
      Writeln('{============================================}');
      Writeln('{===== Time Running : ' + TimeRunning + '    =========}');
      Writeln('{===== Rocks Mined  : ' + IntToStr(Loadsdone*27) + '   =================}');
      Writeln('{===== Loads Done   : ' + IntToStr(LoadsDone) + '     =================}');
      Writeln('{===== Times Talked : ' + IntToStr(tt) + '    =================}');
      Writeln('{===== AntiBan used ' + IntToStr(ab) + ' times  ===============}');
      Writeln('{ Please Post Proggys to get things updated  }');
      Writeln('{============================================}');
    end;

    Procedure MiningLoop;
    Var LTD,ML:integer;
    Begin
      Repeat
      If not (LoggedIn) then Exit;
      LTD := 95+Random(100)
      Repeat
        if FindRockTPA(Colours) then
        Begin
          Repeat
          Click;
          WaitTofinish;
          Until((InvFull) Or (TimeFromMark(ML)>1200000))
          If (InvFull) Then
          Begin
            Drop;
            Proggy;
          End Else
            Players[CurrentPlayer].Active := False;
        End;
        Until( (LoadsDone=Players[CurrentPlayer].Integers[0]) or (TimeFromMark(ML)>3600000) or (LTD=LoadsDone))
        If (LTD=LoadsDone) Then
           NextPlayer(true);
        If (LoadsDone=Players[CurrentPlayer].Integers[0]) or (TimeFromMark(ML)>3600000) Then
          NextPlayer(False);
      Until(AllPlayersInactive);
    End;

    Procedure Intro;
    Begin
     Writeln('        __________     ____           ______        _______                             ');
     Wait(75);
     Writeln('       |         |     \    \        /     /       /      \                             ');
      Wait(75);
     Writeln('       |  ____   |      \    \      /     /       /   __   \                            ');
      Wait(75);
     Writeln('       |  |   |  |       \    \    /     /       /   /  \   \                           ');
      Wait(75);
     Writeln('       |  |___|  \        \    \  /     /       /   /    \   \                          ');
      Wait(75);
     Writeln('       |  _____   \        \    \/     /       /   /______\   \                         ');
      Wait(75);
     Writeln('       | |     \   \        \         /       /   /        \   \                        ');
      Wait(75);
     Writeln('       | |      \   \        \       /       /   /          \   \                       ');
      Wait(75);
     Writeln('       | |       \   \        \     /       /   /            \   \                      ');
      Wait(75);
     Writeln('       |_|        \ __\       /    /       /___/              \___\                     ');
      Wait(75);
     Writeln('                             /    /                                                     ');
      Wait(75);
     Writeln('                            /    /                                                      ');
      Wait(75);
     Writeln('                           /    /                                                       ');
      Wait(75);
     Writeln('                          /____/                                     __  ______         ');
      Wait(75);
     Writeln('                            _                                        || / ___  \        ');
      Wait(75);
     Writeln('                           |_|                           _____       | / /   \  \       ');
      Wait(75);
     Writeln('                            _         /\          / /   /  ___ \     |  |      \__\     ');
      Wait(75);
     Writeln('       /\        /\        | |       /  \        / /   /  /____\\    |  |               ');
      Wait(75);
     Writeln('      //\\      //\\       | |      //\  \      / /   /  ________\   |  |               ');
      Wait(75);
     Writeln('     //  \\    //  \\      | |     //  \  \    / /   /   /           |  |               ');
      Wait(75);
     Writeln('    //    \\  //    \\     | |    //    \  \  / /    |  /______      |  |               ');
      Wait(75);
     Writeln('   //      \\//      \\    |_|   //      \  \/ /      \_______\      |__|               ');
      Wait(75);
     Writeln('                    Please Post Progys and Bugs                                         ');
      Wait(75);
     Writeln('                        Have Fun Mining                                                 ');
      Wait(75);
     Writeln('                             Rya                                                        ');
     Wait(1000);
    End;

    Procedure ScriptTerminate;
    Begin
    Proggy;
    Logout;
    End;

    begin
      SetupSmart;
      SetupSRL;
      DeclarePlayers;
      cleardebug;
      Intro;
      Loginplayer;
      MiningLoop;
      Proggy;
    end.

    Thanks

    ~Rya
    I see Now, says the blind man

  2. #2
    Join Date
    Feb 2006
    Location
    Tracy/Davis, California
    Posts
    12,631
    Mentioned
    135 Post(s)
    Quoted
    418 Post(s)

    Default

    Add some random Writeln('(Procedure Name here) worked') every few lines around you script to see exactly were its screwing up.

  3. #3
    Join Date
    Jan 2007
    Posts
    834
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    SCAR Code:
    If not (LoggedIn) then Exit;

    Errr, if you have declare players then I'm pretty sure you should make it log in.

    SCAR Code:
    if(not(loggedin))then
        loginplayer;

    Try it.

  4. #4
    Join Date
    Feb 2006
    Location
    Tracy/Davis, California
    Posts
    12,631
    Mentioned
    135 Post(s)
    Quoted
    418 Post(s)

    Default

    @JJunky, often time if something screw up in script, you log out the player, and then you set it to false. Its not common to do if not loggedin then loginplayer, he (rya) has that just fine.

  5. #5
    Join Date
    Jan 2007
    Posts
    834
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    I thought Miningloop was his whole loop. I see know that he has loginplayer; in his true loop.
    Last edited by Mr. Doctor; 10-11-2012 at 08:59 PM.

  6. #6
    Join Date
    Oct 2009
    Location
    Melb, Australia
    Posts
    179
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Well in your MiningLoop;
    PHP Code:
    Procedure MiningLoop;
    Var 
    LTD,ML:integer;
    Begin
      Repeat
      
    If not (LoggedInthen Exit;
      
    LTD := 95+Random(100)
      
    Repeat
        
    if FindRockTPA(Coloursthen
        Begin
          Repeat
          Click
    ;
          
    WaitTofinish;
          
    Until((InvFull) Or (TimeFromMark(ML)>1200000)) // ML never set (always default (0))
          
    If (InvFullThen
          Begin
            Drop
    ;
            
    Proggy;
          
    End Else
            
    Players[CurrentPlayer].Active := False;
        
    End;
        
    Until( (LoadsDone=Players[CurrentPlayer].Integers[0]) or (TimeFromMark(ML)>3600000) or (LTD=LoadsDone))
        If (
    LTD=LoadsDoneThen
           NextPlayer
    (true);
        If (
    LoadsDone=Players[CurrentPlayer].Integers[0]) or (TimeFromMark(ML)>3600000Then
          NextPlayer
    (False);
      
    Until(AllPlayersInactive);
    End
    You need to MarkTime(ML); Otherwise it's going to exit?
    Secondly I don't know why you have 2 LoadsDone variables? Shouldn't it be just taken from Players[CurrentPlayer].Integers[0]?
    And "LoadsDone" isn't even given a value, it's always 0? (This needs to be used in the Drop procedure)

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
  •