Results 1 to 18 of 18

Thread: RadialWalking Help (Challenging)

  1. #1
    Join Date
    Nov 2007
    Posts
    437
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default RadialWalking Help (Challenging)

    I would like to walk from Varrock West Bank To Varrock West Mines for a script I am creating yet this is the largest obstacle I have faced. I understand the basic concept of RadialWalk from several tutorials yet I have the feeling I am missing something because everytime I attempt to test it, Runescape goes and changes the angle of my minimap just enough that it throws off my walk. My basic walking design (no failsafes or anything just tryin to get start/end radians and radiuses right) look something like this:

    SCAR Code:
    procedure WalkToMines;
    begin
      MakeCompass('N');
      SetAngle(True);
      Wait(300+random(150));
      if (RadialWalk(WalkToMinesColor1, 256, 234, 60, -1, -1)) then
      begin
        Writeln('Walking 1 is working fine!');
        Flag;
      end;
     
      Wait(300+random(150));
      if (RadialWalk(WalkToMinesColor1, 285, 240, 20, -1, 1)) then
      begin
        Writeln('Walking 2 is working fine!');
        Flag;
      end;

      Wait(300+random(150));
      if (RadialWalk(WalkToMinesColor2, 155, 193, 63, -1, 1)) then //fix tol later
      begin
        Mouse(x-5, y, 1, 1, true);
        Writeln('Walking 3 is working fine!');
        Flag;
      end;
     
      Wait(300+random(150));
      if (RadialWalk(WalkToMinesColor2, 193, 160, 63, -5, 1)) then
      begin
        Writeln('Walking 4 is working fine!');
        Flag;
      end;
     
      Wait(300+random(150));
      if (RadialWalk(WalkToMinesColor2, 161, 130, 72, -5, 1)) then
      begin
        Writeln('Walking 5 is working fine!');
        Flag;
      end;
     
      if (FindSymbol(x, y, 'mining site')) then
      begin
        Mouse(x, y, 3, 3, True);
      end else
      begin
        Wait(300+random(150));
        if (RadialWalk(WalkToMinesColor2, 200, 135, 10, -3, 1)) then
        begin
          Writeln('Walking 6 is working fine!');
          Flag;
        end;
      end;
    end;

    Yes I know there are much better Flag commands and everything to use its just I know I am missing something. Anyone like to help or point out yet another tutorial (I have used several.... how depressing ...)

    Anyways I was starting at the South Eastern Bank slot and then walking out of bank, west, and then trying to do some sort of wall walking thing which works except my radials only work for like 2 trys then mess up.

    Thanks for any help (and if anyone flames me as a stupid noob - I probably deserve it lol)

    Edit: Here is a picture of the RadialWalkAid that is giving me the most trouble. Widened radials helped me get like a 75% success now but that is honestly not that great when you think about it.


  2. #2
    Join Date
    Jan 2007
    Location
    Illinois.. >.<
    Posts
    1,158
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Make your radials bigger if you can without having the script misclick.. The great thing about RRW is that it searches from the outside in so it shouldn't misclick a ton.. Also, make sure your color is accurate(i think thats a given but might as well say it..)

  3. #3
    Join Date
    Nov 2007
    Posts
    437
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by itschris917 View Post
    Make your radials bigger if you can without having the script misclick.. The great thing about RRW is that it searches from the outside in so it shouldn't misclick a ton.. Also, make sure your color is accurate(i think thats a given but might as well say it..)
    I am planning on autocolor - I am just not at that stage yet so I am manually picking the color every test so that isn't a problem at this point.

    Also the main problem with that larger radials thing is that there is part of the wall at the very beginning where there is a room with 2 walls only a little ways apart. So about 50% of the time I am walking into that room (even though my start radial is on the right side and the end radial is only barely inside.

    Thank you for the tips - Any other help is appreciated

  4. #4
    Join Date
    Jan 2007
    Location
    Illinois.. >.<
    Posts
    1,158
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    I didnt understand that description.. Could you please post a picture with where your radials are(approx) and where it clicks(approx)?

  5. #5
    Join Date
    Nov 2007
    Posts
    437
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Sure thing I will edit the first post with it sometime tomorrow because I need to go. Also, wider radials = huge help lol. I am reworked it a little and there was a big improvement.

  6. #6
    Join Date
    Jan 2007
    Location
    Illinois.. >.<
    Posts
    1,158
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Yeah, wider radials normally is a HUGE help..

  7. #7
    Join Date
    Nov 2007
    Posts
    437
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    I added the step where I have the most problems.

  8. #8
    Join Date
    Jan 2007
    Location
    Illinois.. >.<
    Posts
    1,158
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Well, here's what im thinking.. Im not EXACTLY sure how to solve this problem because i think this may just be an issue with RS, where like you click on the color/wall and RS says "oh, you can't actually click there so we're going to put you on one side of the wall.." It doesnt actually say that but do you get what im saying?

  9. #9
    Join Date
    Sep 2007
    Location
    Sweden
    Posts
    765
    Mentioned
    0 Post(s)
    Quoted
    4 Post(s)

    Default

    could you please upload the radial walking aid? i dont have it and i think my walking would be easier with it :P i searched around the includes but i didnt find it xD or else you could just pm me thanks.


    ^LOL^

  10. #10
    Join Date
    Jan 2007
    Location
    Illinois.. >.<
    Posts
    1,158
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    SCAR Code:
    program RadialWalkerAid;
    {
    RADIAL WALKER AID by YAKMAN
     
     
    This is a utility which helps people use Radial Walk.
     
     
    There are Four Functions of this script.
     
    The first function shows the Radial and Radius of a point
    when you move the mouse over the MiniMap. It will also show the Radial
    with 360 added, so it can be used for walking upwards.
     
    For Example, when you move the mouse above the center, it will show
    a radial of 0 and a radius of around 40.
     
     
    The second function Draws the Path which RadialWalk takes when you input
    the StartRadial, EndRadial, Radius and press the 'Show Path' Button
     
    For Example, if you put StartRadial=90 EndRadial=180 and Radius=50
    it will draw a arc in the lower right 50 pixels from the center
    moving inwards until it reaches the center.
     
     
     
    Both these Functions can have their color changed using the DropDown
    Menu, the choises are Red, Blue and Green.
     
    Pressing the 'Clear Box' button will remove all the marks and leave
    an empty minimap.
     
    The first Function can be Disabled by UnChecking the 'Drawing Radial'
    checkbox.
     
     
    The thrid function is used by clicking the 'Capture From Client' button
    it copys the area from the RS Minimap and displays it on the form.
    This can be used now with the first and second functions.
     
    The fourth function is activated by checking the Dynamic Capture
    checkbox, it means that the script will capture the client minimap
    repeatedly, the frame rate is decided by the drop-down menu
    labeled 'DCapture Frame Rate'.
     
     
     
    Enjoy!
      Yakman.
     
     
    Before i released this, i sent it to a few people
    they all found it VERY useful and a good piece of work
     
    (it also looks really cool when you make it draw the path)
     
    'omg that is soooooooooo
     cooooooooooooooool'
                   Sumilion
     
     
    'wow, thats great!'
                   Freddy1990
     
     
    'WOWAWAWEWA'
                   WT-Fakawi
     
    }

     
    const
     DebugAll = False; //If you really want to see the script working
     
     
    //Nothing Below needs to be edited
    var
     bmpBlank_Map:integer;
     working:boolean;
                   //this global boolean shows if radial path is begin drawn
    var
     bmpCapture:integer;
     Capture:TCanvas;
     Captured:boolean;
     FoundRS:boolean;
     
    var
     i,StartRadial,EndRadial,Color,Radius:integer;
            //radial path drawing globals
    var
      frmDesign : TForm;
      Label1 : TLabel; //form variables
      Label2 : TLabel;
      Label3 : TLabel;
      Label4 : TLabel;
      Label5 : TLabel;
      Label6 : TLabel;
      Label7 : TLabel;
      Label8 : TLabel;
      Label9 : TLabel;
      Label10 : TLabel;
      Button1 : TButton;
      Button2 : TButton;
      ComboBox1 : TComboBox;
      ComboBox2 : TComboBox;
      CheckBox2 : TCheckBox;
      CheckBox1 : TCheckBox;
      Button3 : TButton;
      Button4 : TButton;
      Button5 : TButton;
      Edit1 : TEdit;
      Edit2 : TEdit;
      Edit3 : TEdit;
      Memo1 : TMemo;
      Timer2 : TTimer;
      Timer3 : TTimer;
     
     
    //constants, dont change these unless RS updates
    const
     FormX = 190; //where to copy to the form
     FormY = 100;
     
    const
     ClientX = 573; //where to copy from the clint
     ClientY = 3;
     
    const
     Height = 150;  //dimentions
     Width  = 157;
     
    const
     CenterX = 266;  //center of the form image
     CenterY = 179;
     
     
    procedure ClearMap;
    begin
    if(captured)then
     SafeCopyCanvas(capture,frmDesign.canvas,0,0,Width,Height,FormX,FormY,FormX+Width,FormY+Height)
    else
     SafeCopyCanvas(getbitmapcanvas(bmpBlank_Map),frmDesign.canvas,0,0,Width,Height,FormX,FormY,FormX+Width,FormY+Height);
    end;
     
    procedure DrawBlankMap(sender:TObject);
    begin
    frmDesign.RePaint;
    end;
     
    function Distance(x1, y1, x2, y2: Integer): Integer;
      // By PPLSUQBAWLZ edit BenLand100
    begin
      Result := Round(Sqrt(Sqr(x1 - x2) + Sqr(y1 - y2)));
    end;
     
    function FindRadial(x,y,radius:integer):integer;
    var x1,y1,r:integer;  //this finds the radial at your mouse by
    begin            //checking every radial of the radius and seeing if your
    if(working)then exit;        //mouse is close to there
    for r:=0 to 360 do
     begin
     x1:=  Round(Radius*Sin(r * pi / 180))+CenterX;
     y1:= Round(-Radius*Cos(r * pi / 180))+CenterY;
     if(DebugAll)then
      frmDesign.Canvas.Pixels[x1,y1] := 16777215;
     if(Distance(x1,y1,x,y)<=1)then
      begin
      result:=r;
      exit;
      end;
     end;
    writeln('Failed to get radial');
    end;
     
    procedure DrawRadial(x,y,Thecolor:integer);
    var Radius,Radial:integer;
    begin
    if(working)then exit;
    Radius := Distance(CenterX,CenterY,x,y);
    Radial := FindRadial(x,y,Radius);
    if(not DebugAll)then
     ClearMap;
    frmDesign.Canvas.Pen.Color := TheColor;
    frmDesign.Canvas.MoveTo(CenterX,CenterY);
    frmDesign.Canvas.LineTo(x,y);
    Label1.Caption := 'Radial   = '+inttostr(Radial);
    Label2.Caption := 'Radius  = '+inttostr(Radius);
    Label10.Caption := 'Radial + 360 = '+inttostr(Radial+360);
    end;
     
    procedure SafeDrawRadial(x,y,color:integer);
    var t:TVariantArray;
    begin
    t:= [x,y,color];
    ThreadSafeCall('DrawRadial',t);
    end;
           //event called when the mouse if moved
    procedure MouseMove(Sender:TObject;Shirt:TShiftState;x,y:integer);
    var fillcolor:integer;
    begin
    if(working)then exit;
    if(DebugAll)then
     writeln('Mouse Move Event - Mouse at '+inttostr(x)+','+inttostr(y));
    if(not CheckBox1.Checked)then exit;
    if(not ((x>FormX)and(x<FormX+Width-6)and(y>FormY)and(y<FormY+Height)))then exit;
     case ComboBox1.Text of
      'Red':fillcolor:=255;
      'Blue':fillcolor:=16711680;
      'Green':fillcolor:=65280;
     end
    SafeDrawRadial(x,y,fillcolor);
    end;
     //event called by Timer3
    procedure DrawRadialStep(sender:TObject);
    var x1,y1:integer;
    begin  //draws on step of the radial path, then changes global variables
    Working:=true;     //for the next time it is called
     case ComboBox1.Text of
      'Red':color:=255;
      'Blue':color:=16711680;
      'Green':color:=65280;
     end
    x1:= Round(Radius * Sin(i*pi/180))+CenterX;
    y1:= Round(Radius * Cos(i*pi/180))+CenterY;
    frmDesign.Canvas.Pixels[x1,y1]:=Color;
    if(DebugAll)then
     writeln('x1 = '+inttostr(x1)+' y1='+inttostr(y1));
     
    if(i=EndRadial)then
     begin
     i:=StartRadial;
     Radius:=Radius-4;
     end;
    if(Radius<=1)then
     begin
     Timer3.Enabled := False;
     working:=false;
     Button3.Caption:='Show Path';
     exit;
     end;
    if(StartRadial < EndRadial)then
     i:=i+1
    else
     i:=i-1;
    if(DebugAll)then
     writeln('i='+inttostr(i)+' radius='+inttostr(radius)+' sr='+inttostr(startradial)+' er='+inttostr(endradial));
    end;
        //called by pressing Button3
    procedure OnRadialPath(Sender:TObject);
    begin
    if(not Working)then
     begin
      try
       StartRadial:=StrToInt(Edit1.text);
       EndRadial:=StrToInt(Edit2.Text);
       Radius:=StrToInt(Edit3.text);
      except
       edit1.text:='0';
       edit2.text:='0';
       edit3.text:='0';
       if(DebugAll)then
        writeln('Numbers Only!');
      end;
     ClearMap;
     if(Radius > 80)then exit;
     StartRadial:= StartRadial + 180;
     EndRadial:= EndRadial + 180;//all this because SCAR's sin uses radians
     StartRadial := 360 - StartRadial;
     EndRadial := 360 - EndRadial;
      case ComboBox1.Text of
       'Red':color:=255;
       'Blue':color:=16711680;
       'Green':color:=65280;
      end;
     i:=StartRadial
     Timer3.Enabled:=True;
     Button3.Caption:='Stop';
     end
    else
     begin
     Timer3.Enabled:= False;
     Button3.Caption:='Show Path';
     working:=false;
     end;
    end;
      //called by clicking the mouse
    procedure MouseDown(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer);
    begin
    if(working)then exit;
    if(not ((x>FormX)and(x<FormX+Width-6)and(y>FormY)and(y<FormY+Height)))then exit;
    CheckBox1.Checked:=not CheckBox1.Checked;
    end;  //simply freezes the radial display
     
    procedure Paint(Sender:TObject);
    begin
    ClearMap;
    end;
     
    procedure PrintProc(sender:TObject);
    var sRadial,eRadial,Radius:integer;
    begin
    if(working)then exit;
     try
      sRadial:=StrToInt(Edit1.Text);
      eRadial:=StrToInt(Edit2.Text);
      Radius:=StrToInt(Edit3.Text);
     except
      edit1.text:='0';
      edit2.text:='0';
      edit3.text:='0';
      if(DebugAll)then
       writeln('Numbers Only!');
     end
    Memo1.Lines.Add('');
    Memo1.Lines.Add('RadialWalk( {TheColor} , '+inttostr(sRadial)+', '+inttostr(eRadial)+', '+inttostr(Radius)+', {Xmod}, {Ymod});');
    Memo1.Lines.Add('RadialRoadWalk(RoadColor, '+inttostr(sRadial)+', '+inttostr(eRadial)+', '+inttostr(Radius)+', {Xmod}, {Ymod});');
    end;
     
    procedure FindClient;
    begin   //finds the RS window by size
    if(working)then exit;
    if(FindWindowBySize(766,504))then
     label8.caption:='RS Handle = '+Inttostr(GetClientWindowHandle)
    else
     label8.caption:='RS Handle = 0';
    end;
     
    procedure CaptureFromClient;
    begin
     try //frees an older bitmap if it exists
      FreeBitmap(bmpCapture);
     except
      //there was no older bitmap to free
     end
    bmpCapture:=BitmapFromString(Width,Height,'');
    Capture:=GetBitmapCanvas(bmpCapture);
    if(not FoundRS)then
     FindClient;
    if(Label8.Caption = 'RS Handle = 0')then
     exit;
     try
      SafeCopyCanvas(GetClientCanvas,Capture,ClientX,ClientY,ClientX+Width,ClientY+height,0,0,Width,Height);
      SafeCopyCanvas(Capture,frmDesign.canvas,0,0,Width,Height,FormX,FormY,FormX+Width,FormY+Height);
     except
      CheckBox2.Checked:=false;
     end
    Captured:=true;
    end;
      //called by pressing button
    procedure ClientCapture(sender:TObject);
    begin
    CaptureFromClient;
    end;
        //called by Timer2
    procedure DynamicCapture(sender:TObject);
    begin
    if(working)then exit;
    CaptureFromClient;
    end;
            //called by changing CheckBox2
    procedure StartDCapture(sender:TObject);
    begin
    if(working)then exit;
    if(CheckBox2.Checked)then
     begin
     Timer2.Interval:= StrToInt(ComboBox2.Text);
     Timer2.Enabled:= True;
     end
    else
     begin
     Timer2.Enabled:= False;
     end
    end;
         //called by pressing button
    procedure FindRS(sender:TObject);
    begin
    if(working)then exit;
    FindClient;
    end;
     
    procedure Form;
    begin  //constructs the form
    frmDesign.Left := 267;
    frmDesign.Top := 154;
    frmDesign.BorderIcons := [biSystemMenu, biMinimize];
    frmDesign.BorderStyle := bsSingle;
    frmDesign.Caption := 'Radial Walking Aid - Yakman';
    frmDesign.ClientHeight := 387;
    frmDesign.ClientWidth := 519;
    frmDesign.Color := clBtnFace;
    frmDesign.Font.Color := clWindowText;
    frmDesign.Font.Height := -11;
    frmDesign.Font.Name := 'MS Sans Serif';
    frmDesign.Font.Style := [];
    frmDesign.PixelsPerInch := 96;
    frmDesign.OnMouseMove:= @MouseMove;
    frmDesign.OnPaint:= @Paint;
    frmDesign.OnMouseDown:=@MouseDown;
    Label1 := TLabel.Create(frmDesign);
    Label1.Parent := frmDesign;
    Label1.Left := 48;
    Label1.Top := 40;
    Label1.Width := 48;
    Label1.Height := 13;
    Label1.Caption := 'Radial   = ';
    Label2 := TLabel.Create(frmDesign);
    Label2.Parent := frmDesign;
    Label2.Left := 48;
    Label2.Top := 88;
    Label2.Width := 48;
    Label2.Height := 13;
    Label2.Caption := 'Radius  = ';
    Label3 := TLabel.Create(frmDesign);
    Label3.Parent := frmDesign;
    Label3.Left := 64;
    Label3.Top := 256;
    Label3.Width := 55;
    Label3.Height := 13;
    Label3.Caption := 'Start Radial';
    Label4 := TLabel.Create(frmDesign);
    Label4.Parent := frmDesign;
    Label4.Left := 64;
    Label4.Top := 288;
    Label4.Width := 52;
    Label4.Height := 13;
    Label4.Caption := 'End Radial';
    Label5 := TLabel.Create(frmDesign);
    Label5.Parent := frmDesign;
    Label5.Left := 64;
    Label5.Top := 320;
    Label5.Width := 33;
    Label5.Height := 13;
    Label5.Caption := 'Radius';
    Label6 := TLabel.Create(frmDesign);
    Label6.Parent := frmDesign;
    Label6.Left := 192;
    Label6.Top := 16;
    Label6.Width := 265;
    Label6.Height := 13;
    Label6.Caption := 'Move Your Mouse Over the MiniMap To Display Radials';
    Label7 := TLabel.Create(frmDesign);
    Label7.Parent := frmDesign;
    Label7.Left := 168;
    Label7.Top := 40;
    Label7.Width := 332;
    Label7.Height := 13;
    Label7.Caption :=
    'Input '#39'StartRadial'#39' '#39'EndRadial'#39' and '#39'Radius'#39' to Display RadialWa' +
    'lk Path';
    Label8 := TLabel.Create(frmDesign);
    Label8.Parent := frmDesign;
    Label8.Left := 376;
    Label8.Top := 168;
    Label8.Width := 64;
    Label8.Height := 13;
    Label8.Caption := 'RS Handle = 0';
    Label9 := TLabel.Create(frmDesign);
    Label9.Parent := frmDesign;
    Label9.Left := 376;
    Label9.Top := 240;
    Label9.Width := 103;
    Label9.Height := 13;
    Label9.Caption := 'DCapture Frame Rate';
    Label10 := TLabel.Create(frmDesign);
    Label10.Parent := frmDesign;
    Label10.Left := 24;
    Label10.Top := 64;
    Label10.Width := 72;
    Label10.Height := 13;
    Label10.Caption := 'Radial + 360 = ';
    Button1 := TButton.Create(frmDesign);
    Button1.Parent := frmDesign;
    Button1.Left := 16;
    Button1.Top := 344;
    Button1.Width := 100;
    Button1.Height := 25;
    Button1.Caption := 'Print Procedure';
    Button1.TabOrder := 15;
    Button1.OnClick:= @PrintProc;
    Button1.OnMouseDown:=@MouseDown;
    Button2 := TButton.Create(frmDesign);
    Button2.Parent := frmDesign;
    Button2.Left := 16;
    Button2.Top := 112;
    Button2.Width := 118;
    Button2.Height := 25;
    Button2.Caption := 'Clear Map';
    Button2.TabOrder := 8;
    Button2.OnClick := @DrawBlankMap;
    Button2.OnMouseDown:=@MouseDown;
    Button3 := TButton.Create(frmDesign);
    Button3.Parent := frmDesign;
    Button3.Left := 16;
    Button3.Top := 208;
    Button3.Width := 75;
    Button3.Height := 25;
    Button3.Caption := 'Show Path';
    Button3.TabOrder := 11;
    Button3.OnClick:= @OnRadialPath;
    Button3.OnMouseDown:=@MouseDown;
    Button4 := TButton.Create(frmDesign);
    Button4.Parent := frmDesign;
    Button4.Left := 376;
    Button4.Top := 104;
    Button4.Width := 106;
    Button4.Height := 25;
    Button4.Caption := 'Capture From Client';
    Button4.TabOrder := 16;
    Button4.OnClick := @ClientCapture;
    Button5 := TButton.Create(frmDesign);
    Button5.Parent := frmDesign;
    Button5.Left := 376;
    Button5.Top := 136;
    Button5.Width := 75;
    Button5.Height := 25;
    Button5.Caption := 'Find RS';
    Button5.TabOrder := 17;
    Button5.OnClick := @FindRS;
    ComboBox1 := TComboBox.Create(frmDesign);
    ComboBox1.Parent := frmDesign;
    ComboBox1.Left := 16;
    ComboBox1.Top := 144;
    ComboBox1.Width := 118;
    ComboBox1.Height := 21;
    ComboBox1.ItemHeight := 13;
    ComboBox1.TabOrder := 9;
    ComboBox1.Text := 'Red';
    ComboBox1.Items.Add('Red');
    ComboBox1.Items.Add('Blue');
    ComboBox1.Items.Add('Green');
    CheckBox1 := TCheckBox.Create(frmDesign);
    CheckBox1.Parent := frmDesign;
    CheckBox1.Left := 16;
    CheckBox1.Top := 176;
    CheckBox1.Width := 97;
    CheckBox1.Height := 17;
    CheckBox1.Caption := 'Drawing Radial';
    CheckBox1.TabOrder := 10;
    CheckBox1.Checked:=True;
    CheckBox1.OnMouseDown:=@MouseDown;
    Edit1 := TEdit.Create(frmDesign);
    Edit1.Parent := frmDesign;
    Edit1.Left := 16;
    Edit1.Top := 248;
    Edit1.Width := 39;
    Edit1.Height := 21;
    Edit1.TabOrder := 12;
    Edit1.Text := '0';
    Edit1.OnMouseDown:=@MouseDown;
    Edit2 := TEdit.Create(frmDesign);
    Edit2.Parent := frmDesign;
    Edit2.Left := 16;
    Edit2.Top := 280;
    Edit2.Width := 39;
    Edit2.Height := 21;
    Edit2.TabOrder := 13;
    Edit2.Text := '0';
    Edit2.OnMouseDown:=@MouseDown;
    Edit3 := TEdit.Create(frmDesign);
    Edit3.Parent := frmDesign;
    Edit3.Left := 16;
    Edit3.Top := 312;
    Edit3.Width := 39;
    Edit3.Height := 21;
    Edit3.TabOrder := 14;
    Edit3.Text := '0';
    Edit3.OnMouseDown:=@MouseDown;
    CheckBox2 := TCheckBox.Create(frmDesign);
    CheckBox2.Parent := frmDesign;
    CheckBox2.Left := 376;
    CheckBox2.Top := 264;
    CheckBox2.Width := 111;
    CheckBox2.Height := 17;
    CheckBox2.Caption := 'Dynamic Capture';
    CheckBox2.TabOrder := 18;
    CheckBox2.OnClick := @StartDCapture;
    ComboBox2 := TComboBox.Create(frmDesign);
    ComboBox2.Parent := frmDesign;
    ComboBox2.Left := 376;
    ComboBox2.Top := 216;
    ComboBox2.Width := 87;
    ComboBox2.Height := 21;
    ComboBox2.ItemHeight := 13;
    ComboBox2.TabOrder := 19;
    ComboBox2.Text := '500';
    ComboBox2.Items.Add('10');
    ComboBox2.Items.Add('100');
    ComboBox2.Items.Add('250');
    ComboBox2.Items.Add('500');
    ComboBox2.Items.Add('1000');
    Timer3 := TTimer.Create(frmDesign);
    Timer3.Interval:=2;
    Timer3.Enabled:=False;
    Timer3.OnTimer := @DrawRadialStep;
    Timer2 := TTimer.Create(frmDesign);
    Timer2.Interval := 10;
    Timer2.Enabled:= False;
    Timer2.OnTimer := @DynamicCapture;
    Memo1 := TMemo.Create(frmDesign);
    Memo1.Parent := frmDesign;
    Memo1.Left := 152;
    Memo1.Top := 296;
    Memo1.Width := 185;
    Memo1.Height := 68;
    Memo1.ScrollBars := ssBoth;
    Memo1.TabOrder := 20;
    frmDesign.ShowModal;
    end;
     
    procedure SafeForm;
    var T:TVariantArray;
    begin
    ThreadSafeCall('Form',t);
    end;
     
    procedure LoadBMP;
    begin   //loads the bitmap of the blank map
    Writeln('Loading Bitmap');
    bmpBlank_Map:= BitmapFromString(150, 157, 'z78DAED9D5B72E3380' +
           'C45B7644B7627F399EE71F6BFA4F184991AA620C0972F49B6CE4D' +
           '15BBCB71FCA078744110944E27D4AAE9FE73BE79EDE53CFF9E2F9' +
           '78FCB3C7FA4F6D7E93A5FAEA94D8FDCFFF77139A547E257EBD5A6' +
           'F74AEFEB7DAAEFF6EBF33FF88ED9F3D36BC6EDB7CED90F42CDF47' +
           'D8FE7445CC65D3ECE53AB3032DFE6EBF436A255DEDD3295F398DA' +
           'F4B8F20AB6FD41224285F228FBE120D96FC75136DDA6F7E9DCB98' +
           'DDD3CFB5ED649D36F3DD263AF4428F6B8F87CAEB85B1A99F9281D' +
           '4ED3602AF39EB15EEFF9BE8DCC714614CFECECD9BE3D86DC801AF' +
           'BDBF891AE6CC6F35CCB23E390399D327E729ABA91158EEAD1B923' +
           'B76DFE16F63CA6CF25199FAFCDDD8F2C8A33C7691A8DA67DC1DCA' +
           'FCC633C77F6A84CBF65C4BEB6D3D9FC7C3171764C7672AE27A352' +
           'EE2BBB2EA3B8243C3E7146C564D4F3B5B08568B3304A3C0271C53' +
           'D2F9FB5ECB1B0AB3CF4F6338E81EF3CA493A973E9935BFAB9D82B' +
           '05675CA810C85A6FD5837EDEDBFCCEB610F7042E196672BC9663B' +
           '44FFA6C6C534A1FBDBA319561A46AD9E4D86DA5F80CA9578571EC' +
           '769DE77132AB38E3B68AAB9E14D7BB9F6A3F4F7FE8C9A7F147214' +
           '6B5A30212C7D157CA5D222E6FE9C9D770C678CE4815DCE8C813EE' +
           'E0B1348783EA549A5D813B7874D71CA97F1B401F7E874A49CC6B0' +
           '0E83D853EAF7209FA9042A25DB162B6A8CCFB98EBA175E68CEC61' +
           'D4E9833BD4374655D6198F469F579D0B7D680489790D7F7EFE3F2' +
           '689D6FB2C77D087D6CFDB1C615DC35694411F5A9FC76356C1D9C8' +
           '13E2D0C62486D1A91DB1CF3EFBA38613ED93446FF78D77C5E3679' +
           'FF7411FDA278971A58D2571FF2BFE4AD6859180F6C6A34E627EE5' +
           '0DE843683489F13EE2FDF0087DE838247AD1E9563C421F223ADD8' +
           'A446F8F030CA2D72051894B151247F0087D88B8B4D4137B91E8ED' +
           'F2833E744C37B4F76A1CC760BCC716FA106E386E8618EFB1853E7' +
           '41C12BDBA9AF88AFD2D0C421F420A89364BD3BEA6AFD307830812' +
           'FB56B8C5B501D087507CCF85D80DE3578EF717137F22E4B9E1C2E' +
           'EA7C29D17F1AE46E8434871C385EB471937ACA30F0611D2DD5027' +
           '31DECB8F0322D4EE865EBE34BE93110E88D06837D419843E84BAC' +
           'D0D85963508847A91A873E76550A10FA196B8D4C69CD6EF3C0671' +
           '4084DA4954E67D5ED614FA10EAC6604662CC20512842A323D278B' +
           '502FA101AED861E83382042EBB861CC20F42134DA0DE399200C22' +
           '343C22352B14F36DBE4E6F3088D06806136B3F484C0E789BDEA73' +
           '30C22347C56F8C59ABDBE13F421B441444A2E14A1ADDC30231106' +
           '11DA1B83AF74DF6D849E85411C10A1F549643D02A1BD3148148AD' +
           '0FA1169CE203D83100C22744C06894211DA8ABEADEE5C8FD031D5' +
           'EB4E4C08A1760647DFA71E21A43398F6122284466BE15AF730881' +
           '00C2204833088100C22048308A18D18A44E06A175E45DEF170611' +
           '5A93C1DC0D611021184475FA34A24F6010C1208AE9F3188444184' +
           '46B3A200C22B41F06894811DA6A2668EFC4048308C12042476690' +
           '8A3584C6C9BBEB2E756B08ADE3801E6B6466105A3F0A854184601' +
           '0211884418460102118844184B662305EA9874484C63168EFC38B' +
           '1B22B455146AEFFF0283088D7640EB7DDE239088500B7D0A6B44A' +
           '4086D1585C6B5A33088D0B60C52BF8D503B83CA4A443C4F844484' +
           'EAE471E431881B22B4A603DA7DBBB82142A3E9F376CD7B6EE8E55' +
           '4E9678474063D9A2C83FA3A3E2422E4D16789D3E9531864B502A1' +
           '98C19C91710C4222421E7DA50CFEFAF7DFAB47A217D9C220428A0' +
           '3C6572FD419C40D116A71C01606E3CC0C3B0D11F4792CE85168DE' +
           'B6BB2124A263D2D7E2800A838A1B129722E2CFD25CA865D092185' +
           '7DAC020C201952CA81285D6B9217129823E657FAEEE803A83B11B' +
           'E289E808F42973C05207F4188C49543E21CE889E973B7D6CEBF53' +
           '075242A73C385FBFC7E5CE6F923B5F8237A1679A357CFC0D445A1' +
           'E3E2522255F42CDEA78FDEBA3D11ED0CD65D237121E3FA756E214' +
           '645FB8939ADDFE96BE523E86B7743EFACE2BD2624A23DB85E3C3E' +
           'EB1CB085BEBA2C8DB277D87B7D723868FD1C8B1D8DA5A37A9C038' +
           'E2031FEEEF088D6CC6D2A5E309ABE9675C311242A3C32BA904E5F' +
           '6995662FFADA992A7D7E7B745ADA3FF0885A5C6F5CE4595C11EAA' +
           'C8028B1E2084FD43F3924A2D8F574F719419FE229DFF4E5AB8A32' +
           '8FBDA2D37855B1944478C4F5EAE853AE43581A79BA5C6494D9F78' +
           'D49CC5FB96FC6A674B6C89C11FA7A9DB747D0A7C49C2E7D86C1F5' +
           '3DD173C63A12E1F1C8AEE7D1178FBAE1DEA730E890E839633B897' +
           '11CDE9EDD82C7D7E0AE3DA3AE8CB496ACCB03EE74FA0A3D51A931' +
           '506ABFF51835FF24FA7900125F23DA54467E4BCC599775A99CF7D' +
           '5B5328FE348D4D75BC9E1BCD2CA425D5DC738FA56E5AED91F4B49' +
           '8CDFDDEDE7C26819129F6B65C1CBEA2BDC2963AC037755F4299FB' +
           '965CED8CB07751EF39E6175E395722C5E9CD93266EA48EC36D72B' +
           '1CF9EE73BA92D8DEA6CF39DFE6EBF4C6EAC62BAD2CA463DAE41A6' +
           '1DBD7F50A22BADBF43E9D5BE2E7D82587E76F07AF6E40CD56D52C' +
           'A52B0B7DE7500BF56C8523B320BF91180C496CF17DFD0E17A35DB' +
           'E65750382D69FF129B9CD113326AF9AB4657EE4FDF68EDCE7E9CF' +
           '0F061D12E37D8BDE3A8EB743B9A0C6661889FAE781C4D1F4D5AD2' +
           'C8C733DEB7DD2081776D95BFAF236265127CEE3A8C315A5BA92D8' +
           'B29B0CB246D0D79E6969A97C5672B0FA75D5625E2C7D0F487478A' +
           'CCBE2B6EC1DB60CA6197A2F1EBDD58DF4489E0D80449DBEEF63E4' +
           'F46AAF99CEC278902BBB5AF6F729D5200A77A5248E26AEB4EA35F' +
           '57C5F1EE3F782C402FA1C22FA723782BE762AEBE87BC0A3701F99' +
           'BEDFB794C411AB1BDE718744893EA7DF7A1DA998BE11E350D925A' +
           '438E0E9FCFF8F446218EBAE4962D37E904EF1AA65F0C824DA7EC8' +
           'B9E836BFABDA67B72683968B5EF4E50CE6FF5776E0AED91BF9517' +
           '0336385C4D96F9D8F317B563F1A89F6BBDB9EF1FAB0804AE708AE' +
           '3FD2F45DC096C19CBBF4E37965FC4CD70DC3D9E2881E28C8A086A' +
           'B1BF1DC59791C0647F464BCAE17673BD79C03E62BEC0A7DF179DE' +
           '6330FE5B2F361BE7897DAB6ABDF841F144EF158ECC60AF9EECB53' +
           '767387D4EEC5DEA65317DF92B3C7081C2558C6ED7FA96CF8A719E' +
           'B3B40221BE1BE371E88B57A2F555ECD2DCA6B7D231EEFE0E0BDFC' +
           'B3860CE60BCBA679F1FFFE8F183BE76AF5CA3A6E03E5042364CC9' +
           'E49456EB1D33222D3D6B3DE8E1C26B352CAC1A779A272AF4C5599' +
           '105FA0630A8CC89BCE7B45F0BCE9D0B1766C6FA56E1C26053857F' +
           '556ED35BEB6FB9E692429F1745AFC36069654ECC6CCB7572E273E' +
           '9B8AB5DE90CBE2089665ED381C1AE47ADAE0AB1B4CAC58D7CF2B9' +
           '5B57061708CA5E39F665C53D4B6B6F1E1CDF86DDFD31890F465DD' +
           '8CFAFBA0E68E7444A5FB5645DF45D7B2DE3CA1BBDF959A857141A' +
           '3318D36719D4D7281557553CF741CD924C65E9EE8C7847583C8B7' +
           'C76EEEAFAA1EE6CA91C17AF26A76E5CC5EBE996C1F6285462C4AB' +
           '1DCD18F422E4D21A805E6DE93E32650D515F3BF646D77391F8A07' +
           'A36FFD60229A56B7FA57ED7DE2AAB031E836E145AC59DCEA0F77C' +
           'BD5E6E1D1E0BA8D4F74157ED037DAEFB9C96EE39AACB36EBB54C2' +
           '346859E0F89E7C275AB81C5635E6650A91BD75F6DE1338CA67270' +
           '066FCFD169E9CEEB7115BCDD2873C6CC0235664C7A642D9C51DB1' +
           '9D4C77618857A9FB060D7B0C2E3D773BCBAC4E11EDACCE03EF705' +
           '7B47B02F83A38FD48F516146B5C25D4C5F3CC24B6BD22A633FD90' +
           '1F55D54F17C5377B1CA33A4F0EE7A26415FC3DA8F1B4AE71FF92A' +
           '915275AE3DBE8559C4D2F1A070E7D1E73960A91B3E9A7F9D7F9FA' +
           'F52FBF7743D7F9CFE3ABD9FDEF2769AEE64DEAEF76335FFB16DFA' +
           '6D6A17FEF6EB35DD36FD6DFE19BE1EB94CF7A8EED3B6F97B3D686' +
           'FD3C77479D066CF5F78C7DFF77FAFF6FBFE9AEEFF5E539B3F9EFE' +
           '6A7E9FA7E9AFBCB59FCD3E27B5DE2BD4B5CAFBA67754BEDDF777F' +
           'CEA9307C745E8ED85D68C016524A43176BEDE47FA7FAF138E376F' +
           '6C2B237CE16FBF3E6D7A77AF4DCFFC07272E4F07');
    writeln('Bitmap Loaded');
    end;
     
    procedure SetSelfWindowState(State:TWindowState);
    begin
    GetSelf.WindowState :=State;
    end;   //sets the SCAR main form window state
     
    procedure SafeSetSelfWindowState(State:TWindowState);
    var t:TVariantArray;
    begin
    t:= [state];
    ThreadSafeCall('SetSelfWindowState',t);
    end;
     
    begin
    ClearDebug;
    writeln('Successfully compiled');
    LoadBMP;
    if(not DebugAll)then
     SafeSetSelfWindowState(wsMinimized);
    frmDesign:= CreateForm; //this is already thread safe
    SafeForm;
    SafeSetSelfWindowState(wsNormal);
    FreeBitmap(bmpBlank_Map);
     try
      FreeBitmap(bmpCapture);
     except
     end
    end.

  11. #11
    Join Date
    Nov 2007
    Posts
    437
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by itschris917 View Post
    Well, here's what im thinking.. Im not EXACTLY sure how to solve this problem because i think this may just be an issue with RS, where like you click on the color/wall and RS says "oh, you can't actually click there so we're going to put you on one side of the wall.." It doesnt actually say that but do you get what im saying?
    Yea I know what you mean. I gotta find one of the pro guys to help we with wall walking lol. I also uploaded the walking procedure itself if that helps at all.

    Edit: removed my RadialWalkAid script cuz he beat me to it ^^

  12. #12
    Join Date
    Jan 2007
    Location
    Illinois.. >.<
    Posts
    1,158
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    PM Zephyr's Fury cause i know when he release his Rune Mysteries Quest Runner everyone was absolutely astounded at the walking in his script. So astounded in fact that he was granted automatic SRL Membership and was just recently named Dev.

  13. #13
    Join Date
    Apr 2007
    Posts
    994
    Mentioned
    1 Post(s)
    Quoted
    0 Post(s)

    Default

    For the first step. You could easily just do a findcolorsspiraltolerance, and set the spiral tolerance to start at where the trees are at the bottom left corner. Then set the color to the brown of the trunk, or the green of the leaves on the minimap. There, first step done.
    [QUOTE]<GoF`> oh no its Raymooond
    <Raymooond> Heya
    <GoF`> is it ray or some other ray?
    <LeeLokHin> No idea
    <LeeLokHin> Raymond, what's the game you like the most?
    <Raymooond> Runescape
    <-- LeeLokHin has kicked Raymooond from #srl (Faker.)[/QUOTE]

  14. #14
    Join Date
    Apr 2007
    Location
    Perth, Australia
    Posts
    3,926
    Mentioned
    3 Post(s)
    Quoted
    2 Post(s)

    Default

    Quote Originally Posted by itschris917 View Post
    PM Zephyr's Fury cause i know when he release his Rune Mysteries Quest Runner everyone was absolutely astounded at the walking in his script. So astounded in fact that he was granted automatic SRL Membership and was just recently named Dev.
    I had to apply tyvm Ok the problem with a plain RadialWalk is that it clicks and when it does adds a randomness to the click. This of course can cause it to click inside the wall. There are several things you can do.

    The first thing that I can think of is to use RadialWalkEx. This RW does not click and allows for a colour tolerance. RadialWalkEx returns TPointArray of points where the colour was found in the specified radius and angles. You can then use these points to manually call Mouse and make it click for you (without the randomness). You could also make it click a few pixels to the left of where it found the colour thus making sure you walk along the left side of the wall instead of the right. You can even make it take 20 or so pixels from the X coordinates of the point thus making the character walk 20 pixels or so from the wall instead of right next to it.

    Heres a quick little thing I made up. Not sure if it works:

    SCAR Code:
    function WalkAlongWall(StartAng, EndAng, Rad: Integer): Boolean;
    var
      TPA: TPointArray;
      i: Integer;
    begin
      if (RadialWalkEx(TPA, MMCX, MMCY, {WallColour}, {Tol}, StartAng, EndAng, Rad)) then
      begin
        for i := 0 to High(TPA) do
        begin
          if (MFNF(TPA[i].x - 20, TPA[i].y, -1, 0)) then  //Clicks 20 pixels to the left of the wall. Adjust if you wish
          begin
            Result := True;
            FFlag(10);
            Exit;
          end;
        end;
      end;
    end;

    Enter your wall colour and tolerance where I've commented it out. If you have an autocolour function then you won't need tol, etc.

    Zeph

  15. #15
    Join Date
    Jan 2007
    Location
    Illinois.. >.<
    Posts
    1,158
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Damn.. I thought you didnt.. I just remember seeing a thread about you getting it and i thought you were automatically granted it... Nobody made a thread like that when i joined.

  16. #16
    Join Date
    Nov 2007
    Posts
    437
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Thanks Zephyrs Fury for the help . I have seen RadialWalkEx recently and am in the process of learning TPAs. So far it seems like a very powerful tool and I can't believe I got along without it before lol.

  17. #17
    Join Date
    Apr 2007
    Location
    Perth, Australia
    Posts
    3,926
    Mentioned
    3 Post(s)
    Quoted
    2 Post(s)

    Default

    Quote Originally Posted by itschris917 View Post
    Damn.. I thought you didnt.. I just remember seeing a thread about you getting it and i thought you were automatically granted it... Nobody made a thread like that when i joined.
    Hmm I don't remember a thread. I was just like any other member... nothing special about me becoming SRL Mem.

  18. #18
    Join Date
    Jan 2007
    Location
    Illinois.. >.<
    Posts
    1,158
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Ok, im imagining things then Zephyr's.. Always a good thing..

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Very Challenging script
    By annubiis in forum RS3 Outdated / Broken Scripts
    Replies: 3
    Last Post: 07-26-2007, 06:16 PM
  2. Here are some very challenging scripts
    By nooby noobster in forum RS3 Outdated / Broken Scripts
    Replies: 18
    Last Post: 06-27-2007, 06:51 PM
  3. Challenging scripts if you wanna try...
    By Doofy in forum RS3 Outdated / Broken Scripts
    Replies: 10
    Last Post: 03-18-2007, 08:42 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •