here you go fixed it up a bit 
SCAR Code:
Function WalkToTileEx(Tiles : Tpoint; XTRandom, YTRandom, FlagDis : Integer): Boolean;
Begin
Tiles.X := Tiles.X+random(XTRandom)
Tiles.Y := Tiles.Y+random(YTRandom)
if TileOnMM(Tiles) then
if Walktotile(Tiles,0,0) then
begin
FFlag(FlagDis);
Result:= True;
end;
end;
~shut
EDIT: oh wait you wanted it to NOT use TPA's
here you go
SCAR Code:
Function WalkToTileEx(TileX, TileY, XTRandom, YTRandom, FlagDis : Integer): Boolean;
var
Tiles: Tpoint;
Begin
Tiles.X := TileX+random(XTRandom)
Tiles.Y := TileY+random(YTRandom)
if TileOnMM(Tiles) then
if Walktotile(Tiles,0,0) then
begin
FFlag(FlagDis);
Result:= True;
end;
end;