Results 1 to 7 of 7

Thread: Unwanted wait after RadialWalk()

  1. #1
    Join Date
    Feb 2009
    Posts
    43
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Unwanted wait after RadialWalk()

    If I run the following two lines of code the script will succesfully click on the minimap where I want it to but there is a large wait (of about 3 seconds) before the text "DEBUG: Clicked" is printed into the debug box. Any ideas on how to remove the wait?

    Edit: Also the mouse randomly moves around in the wait between clicking on the MM and printing the text to the debug box.

    SCAR Code:
    RadialWalk(7567228, 210, 190, 90, 1, 0);
    Writeln('DEBUG: Clicked');


    Also does anyone have a copy of Yakman’s Radial Walking Aid that they can send to me or if it is already available on the forums could you post a link please. I scearched but couldn't find it and apparently it is no longer in the SRL includes but it would be very useful.

    Thanks!

  2. #2
    Join Date
    Oct 2008
    Location
    behind you!
    Posts
    1,688
    Mentioned
    2 Post(s)
    Quoted
    40 Post(s)

    Default

    SCAR Code:
    RadialWalk(7567228, 210, 190, 90, 1, 0);
    Wait(3000);
    Writeln('DEBUG: Clicked');

    it'll wait for exactly 3 seconds and then spit that on debug box also...

    EDIT: You don't have to write the DEBUG: Just Writeln('Clicked'); should look better

    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.

    yakman's radial walk helper...
    Hi

  3. #3
    Join Date
    Feb 2009
    Posts
    43
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Thanks but there is a wait that I don't want, not that I want to add :P

    And I have appended the text 'DEBUG:' to somethings because I don't want them to be included in the final script but when testing the script it is useful to know what is going on when. So when the script is completly I will go through and delete all of the lines with DEBUG: in them

    Thanks for the radial walk helper!

  4. #4
    Join Date
    Jul 2007
    Location
    Right now? Chair.
    Posts
    8,488
    Mentioned
    3 Post(s)
    Quoted
    12 Post(s)

    Default

    he wants the wait removed, not an extra one tickyy...

    SCAR Code:
    function RadialWalk(TheColor: Integer; StartRadial, EndRadial: Integer; Radius: Integer; Xmod, Ymod: Integer): Boolean;
    var
      tpa: TPointArray;
      i: Integer;
    begin
      Result := False;
      if RadialWalkEx(tpa, MMCX, MMCY, TheColor, 0, StartRadial, EndRadial, Radius) then
        for i := 0 to High(tpa) do
          if MFNF(tpa[i].x, tpa[i].y, Xmod, Ymod) then
          begin
            FFlag(10);
            Result := True;
            Break;
          end;
    end;

    this is radial walk. do you see the FFlag(10) ? that's what's making you wait. Also, the moving around of the mouse is most like because you declared SRL_Procs[] to do so.

    ~RM

    I & I know Zion. It is in the spirit, body and mind of every one of us
    RMouse(obj: TMSIObject): boolean;

  5. #5
    Join Date
    Feb 2009
    Posts
    43
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Thanks, I didn't realise that FFlags was included in the RadialWalk script.. I was adding it myself!

    What are SRL_Procs[] ? I have never heard of them before and haven't intentionaly declared them (unless they are declared during SetupSRL Not that the mouse movement matters.. I just wondered why it happened.

    I got Yakmans Radial Walking Aid working now thanks. I have to add about a million semi-colons in though!

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

    Default

    FFlag has an IdleTime added to it whilst it waits for the flag to be reached. This is moves the mouse randomly around the screen purely for antiban but its hard to remove unless you edit the FFlag function itself.

  7. #7
    Join Date
    Feb 2009
    Posts
    43
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Ok thanks, well as it doesnt cause any problems with the script and is for anti-ban purposes it doesn't matter

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Wait Until Something.....
    By FortAsh in forum OSR Help
    Replies: 5
    Last Post: 01-29-2009, 05:09 PM
  2. I can't wait =D
    By Eugeniu in forum News and General
    Replies: 18
    Last Post: 09-28-2007, 12:59 AM
  3. Wait Until?
    By drnewheart in forum OSR Help
    Replies: 2
    Last Post: 09-23-2007, 02:49 AM
  4. Simple Wait
    By mat_de_b in forum Research & Development Lounge
    Replies: 5
    Last Post: 08-21-2007, 06:15 PM
  5. wait()?
    By omgh4x0rz in forum Java Help and Tutorials
    Replies: 3
    Last Post: 04-28-2007, 02:39 AM

Posting Permissions

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