SRL Archive - Research & Development Lounge

[Idea]Color WebWalking? No more reflection!


Flight

2011-05-13 07:06:36

Yes it is possible! :spongebob:

I don't know if this has been suggested yet, but what if we used Map Markers for color map walking?

Step 1:
We define the destination as a bitmap (or DTM,TPA,whatever) we get from the world map.

Step2:
The script will open the world map, find the bitmap (since all our paths are short-distance, chances are the bitmap will already be visible on the map), and double left-click to set our Map Marker. When we know that the marker is set (Maybe a bitmap for the 'Your marker' picture?) then close out of the World Map.



Step3:
Continue clicking on the blue marker that appears on the Mini-Map until we're within a certain distance to either marker on the MS or MM.



Step4:
Right-click the World Map icon and select "Clear marker". And there we are!



Pros:
  • No reflection
  • No path/tile recording
  • WebWalk-style walking
  • No need for even SPS :eek:

Cons:
  • Delayed by a few seconds for opening map, setting marker, closing map, clearing marker
  • Map Markers blink every 500ms or so (But that's nothing a simple 'wait' can't fix, right?)


The great thing about the world map is it doesn't matter if there's players/npcs on the Mini-Map, they don't show up on the world map, therefore bitmaps would work like a charm. We could even go as far as having a predefined 'bitmap database' of commonly used destinations, such as certain banks, mining/fishing/woodcutting areas, ect… It would work in the same sense as our color/reflection banking as they have predefined tiles/points.

This would be super easy to make, even I could do it. :rolleyes:
So any thoughts or suggestions would be great, basically asking if it would really be practical.

KingKong

2011-05-13 07:13:22

It has already been thought of, but I dont think anybody has actually started work on it.

Flight

2011-05-13 07:14:22

From: KingKong
It has already been thought of, but I dont think anybody has actually started work on it.


And where have you seen this suggested before?

marpis

2011-05-13 07:57:53

mixters SPAMS walked like this, but it didnt set any markers and only walked on roads. also i think trilez has done this. the problem is, it will only walk straight lines and you will have to open wm everytime.

making paths with sps and reflection is so easy it makes this technique useless.

Flight

2011-05-13 08:12:27

From: marpis
mixters SPAMS walked like this, but it didnt set any markers and only walked on roads. also i think trilez has done this. the problem is, it will only walk straight lines and you will have to open wm everytime.

making paths with sps and reflection is so easy it makes this technique useless.


Didn't set markers? Then how is it like this?

Where is TrileZ's?

Straight lines is how reflections's webwalk is, even if R_WebWalk altered in path a little bit then so could this procedure, why do you say straight lines?

There is no 'path making' with this, infact make a destination bitmap one time and you'll never need to make it again…

So sorry, but I don't see your point.

Gu3st...

2011-05-13 08:18:16

From: marpis
mixters SPAMS walked like this, but it didnt set any markers and only walked on roads. also i think trilez has done this. the problem is, it will only walk straight lines and you will have to open wm everytime.

making paths with sps and reflection is so easy it makes this technique useless.
That was me, not trilez, and mixter used the road color to click on so it would walk on roads

E: I also made it so that would could do Walk('varrock'); and it would search for "varrock" in the little search bar jagex has made for us

LolL

2011-05-13 08:20:25

The marker points to the destination from a birds point of view, meaning that there is probably a bunch of obstacles, streams, buildings, etc. in the way. So you'd have to modify it a lot anyway to avoid getting stuck. SPS is so awesome, use it man.

Stand in Lum or Drayn and set your marker to V-rock and see what I mean.

Echo_

2011-05-13 08:27:35

I like this idea, except most of the work you would be putting into it would be obstacle detection. Pretty much anything with a white or light blue line around it needs to be avoided when walking to the destination.

Gu3st...

2011-05-13 08:37:16

Digging up this video again: http://www.youtube.com/watch?v=-lyzYBmrwF8

As you see, I made this a year ago, and I haven't updated it since

From: LolL
The marker points to the destination from a birds point of view, meaning that there is probably a bunch of obstacles, streams, buildings, etc. in the way. So you'd have to modify it a lot anyway to avoid getting stuck. SPS is so awesome, use it man.

Stand in Lum or Drayn and set your marker to V-rock and see what I mean.

That can easily be avoided

Flight

2011-05-13 10:04:15

WebWalking is the same thing but has the destination as a static tile and we use it disregarding obstacles, so why is it now all of a sudden they're a threat? How many walking procedures do we have for extremely long distances? How many scripts, right now, run through sets of obstacles?

This has always been a possible issue with webwalking, but when has it failed us? This is no different, only slower because of opening the map.

Gu3st...

2011-05-13 10:26:09

From: Flight
WebWalking is the same thing but has the destination as a static tile and we use it disregarding obstacles, so why is it now all of a sudden they're a threat? How many walking procedures do we have for extremely long distances? How many scripts, right now, run through sets of obstacles?

This has always been a possible issue with webwalking, but when has it failed us? This is no different, only slower because of opening the map.
I'm updating my world walker now, and it should be fairly easy to make a web-walker with it, but you can't have a lot of points like we have with reflection, as the script will open the world map several times for each point

E: Or I can use the arrow and have it only open the world map once for each point

Flight

2011-05-13 10:31:58

It's not designed for walking a fluid path from one side of runescape to the other. Look at all of our scripts, how many have that far to walk? It would open the world map one time, double click, close, and walk.

And that's the absolute biggest draw back, opening the map… I wouldn't even use points, I would make a bitmap of the location, have the script find that bitmap while it's on the world map, double click it to set the marker, and then click on the blue arrow to give the webwalking style. There is no plotting points, or recording tiles with this, it's just a simple bitmap, make it one time and that's all.

Gu3st...

2011-05-13 16:01:28

From: Flight
It's not designed for walking a fluid path from one side of runescape to the other. Look at all of our scripts, how many have that far to walk? It would open the world map one time, double click, close, and walk.

And that's the absolute biggest draw back, opening the map… I wouldn't even use points, I would make a bitmap of the location, have the script find that bitmap while it's on the world map, double click it to set the marker, and then click on the blue arrow to give the webwalking style. There is no plotting points, or recording tiles with this, it's just a simple bitmap, make it one time and that's all.
SPS does that

Flight

2011-05-13 20:41:12

SPS walks a path. You record the path.

Correct me if I'm wrong, but isn't SPS meant to have the camera set to north at all times while walking?

I've already begun working on this, I'll have it completed today and I'll post a sample walker for you guys to test.

Gu3st...

2011-05-13 20:43:35

From: Flight
SPS walks a path. You record the path.

Correct me if I'm wrong, but isn't SPS meant to have the camera set to north at all times while walking?

I've already begun working on this, I'll have it completed today and I'll post a sample walker for you guys to test.
Begun at what?
As I see it, what you are asking for is already made - multiple times…

Flight

2011-05-13 20:55:14

What walker uses map markers? Is there already a color webwalker?

Gu3st...

2011-05-14 05:20:28

From: Flight
What walker uses map markers? Is there already a color webwalker?
Like I've said earlier in this thread, mixster made a color world walker named SPAMS, I made a color world walker and marpis made SPS, all of which can be used to create a webwalker.
Mine already uses the worldmap, so all that would be needed to make it use map markers would be to add 2-3 lines and alter 4 or so.

Flight

2011-05-14 05:31:06

Mine is done, works well. So good luck with yours.

**BANNED The Man

2011-05-14 07:05:47

All I see is 1 person trying to prove he has a bigger e-penis.

So your idea is to open map > set marker > close map > click marker?
If so, how are you handling obstacles?
If you arent taking/using a path you cant use djikstra/A*.
You will walk into a wall and keep clicking the marker until you get round.

Bobzilla69

2011-05-14 07:07:28

when is this getting released for a test?

Gu3st...

2011-05-14 07:36:48

Flight: Here's some functions I've used in my world-walker, maybe you'll find some of them useful?

function IsWorldMapUp : Boolean;
var
tmp : String;
begin
Result := GetMMLevels('hp', tmp) = -1;
//WriteLn('IsWorldMapUp: ' + ToStr(Result));
end;

procedure CloseWorldMap;
var
T : Integer;
begin
if not IsWorldMapUp then Exit;
Mouse(746, 15, 4, 4, True); // Click the close map button
T := GetSystemTime + 15000;
while (IsWorldMapUp) and (GetSystemTime < T) do
Wait(200+Random(500));
//WriteLn('CloseWorldMap: ' + ToStr(True));
end;

function OpenWorldMap : Boolean;
var
T : Integer;
begin
Result := IsWorldMapUp;
if Result or (not LoggedIn) then Exit;
MouseBox(526, 124, 559, 157, mouse_Left); // Click the world map icon
Wait(3000);
T := GetSystemTime + 15000;
// GetColor = wait for loading worldmap is complete
while (GetColor(230, 196) = 1118604) and (GetSystemTime < T) do
Wait(500+Random(1500));
Result := GetSystemTime < T;
//WriteLn('OpenWorldMap: ' + ToStr(Result));
end;

function IsWorldMapMinimapUp : Boolean;
begin
Result := InRange(CountColor(clBlack, 609, 311, 757, 460), 6000, 10000);
//WriteLn('IsWorldMapMinimapUp: ' + ToStr(Result));
end;

function OpenWorldMapMinimap : Boolean;
begin
Result := IsWorldMapMinimapUp;
if Result then Exit;
MouseBox(667, 470, 697, 490, mouse_Left);
Result := IsWorldMapMinimapUp;
//WriteLn('OpenWorldMapMinimap: ' + ToStr(Result));
end;

function SetWorldMapScale(Percent : Integer) : Boolean;
var
Percents : TIntegerArray;
curPercent, tarPercent : Integer;
begin
Result := False;
if not IsWorldMapUp then Exit;
Percents := [200, 100, 75, 50, 37];
case CountColor(clWhite, 704, 470, 740, 489) of
66: CurPercent := 0;
62: CurPercent := 1;
49: CurPercent := 2;
52: CurPercent := 3;
47: CurPercent := 4;
else
Exit;
end;
if not InIntArrayEx(Percents, tarPercent, Percent) then Exit;
while tarPercent <> curPercent do
begin
if tarPercent < curPercent then
begin
Dec(curPercent);
MouseBox(743, 465, 756, 478, mouse_Left)
end else
begin
Inc(curPercent);
MouseBox(743, 481, 756, 494, mouse_Left);
end;
end;
Result := True;
//WriteLn('SetWorldMapScale: ' + ToStr(Result));
end;


E: I updated my old world-walker. Here's the link: http://villavu.com/forum/showthread.php?t=54460

Flight

2011-05-14 10:17:49

From: Dynamite
All I see is 1 person trying to prove he has a bigger e-penis.


You sound like you would belong in a community more like… RsBot? Sythe?

Atleast I'm trying to come up with new ideas to build off from. Why should you discourage me from trying? Infact, who are you to discourage me from trying?

From: Dynamite
So your idea is to open map > set marker > close map > click marker?
If so, how are you handling obstacles?
If you arent taking/using a path you cant use djikstra/A*.
You will walk into a wall and keep clicking the marker until you get round.


You've never used webwalking, have you?

@Bobzilla69:
Test this out, start with any player (preferably in front of Lumbridge Castle, as that's where I tested) and run the script. Your camera angle doesn't matter. This will run you to the Lumbridge East Cow gate.

Note: This is just the idea of the script, giving it a quick test-run. It worked fine for me.

Program MMWW;

{$Define SMART}
{$i SRL/SRL.scar}

Const
WMX1 = 7;
WMY1 = 7;
WMX2 = 760;
WMY2 = 460;

Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := '';
Pass := '';
Nick := '';
Pin := '';
Active := True;
end;
end;

Procedure InitialSetup;
begin
Smart_Server := 8;
Smart_Members:= False;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
end;

Function MarkerDistance: Integer;
Var
X,Y,DestMarker: Integer;
Begin
DestMarker := BitmapFromString(4, 3, 'meJw7L8B+Hoz+r+AHIgiDAQzgDADt' +
'2Apx');
Result := -1;

if (FindBitmapIn(DestMarker,X,Y,MMX1,MMY1,MMX2,MMY2)) then
Result := Distance(MMCX,MMCY,X+1,Y+2);

FreeBitMap(DestMarker);
End;

Function MapExists(MarkType: String): Boolean;
Var
X,Y,X2,Y2,CurMarker,
NewMarker: Integer;
Begin
CurMarker := BitmapFromString(30, 10, 'meJzTMU/SQUIMYIDGJRtgNYRyY7' +
'EajtUirB4hxrPIsnjsRWNjdRVW2zFNxqOSGC5JgqMmY41BTBH86Qd' +
'/kiOYIOFsAFpbUAk=');
NewMarker := BitmapFromString(30, 8, 'meJzTMU/SASMGMMBkw7logmhSyCJ' +
'oDPwIl734LcXjTqzOxiWFyy4iuQQDhGyTyXADMVzyfEeqyUSagzWd' +
'4DEcTTFWjQC+hlxZ');
Result := False;

if (MarkType = 'Map') then
Result := FindBitmapIn(CurMarker,X,Y,WMX1,WMY1,WMX2,WMY2);
if (MarkType = 'Marker') then
Result := FindBitmapIn(NewMarker,X2,Y2,WMX1,WMY1,WMX2,WMY2);

FreeBitMap(CurMarker);
FreeBitMap(NewMarker);
End;

{*******************************************************************************
Function MMWW(Dest: String; Distance: Integer): Boolean;
By: Flight
Description: WebWalk using map markers
-'Dest' is the destination string of predefined bitmaps
-'Distance' is the acceptable distance from the destination
*******************************************************************************}
Function MMWW(Dest: String; Distance: Integer): Boolean;
Var
X,Y,X2,Y2,TBMP,
DirMarker: Integer;
Begin

Result := False;
DirMarker := BitmapFromString(4, 4, 'meJw7L8B+nhQEAGzvDmE=');
Case LowerCase(Dest) of
'cows': TBMP := BitmapFromString(17, 19, 'meJxjYCAVnCFZx8jWcubMqBaStX' +
'BbS/AHy0OQSKI+SVqA6iVj7YnRAlQs4KcHRED1xGthMbMEIuK1AEk' +
'hMQmg8yAaidQC0UVQMVwLAEIpMLM=');
end;

if (Not MapExists('Map')) then
begin
MouseBox(530,130,550,155,1);
Repeat
//Find random events here
Wait(50);
until(MapExists('Map'))
end;
Wait(RandomRange(500,750));
if (Not MapExists('Marker')) then
begin
if FindBitmapIn(TBMP,X,Y,WMX1,WMY1,WMX2,WMY2) then
begin
MMouse(X,Y,3,3);
Wait(Random(100));
GetMousePos(X,Y);
Mouse(X,Y,0,0,True);
Wait(RandomRange(150,350));
Mouse(X,Y,0,0,True);
end else
begin
WriteLn('Destination too far, exiting');
Result := False;
//FreeBitMap(TBMP); //Needed?
Exit;
end;
end;
Wait(RandomRange(500,750));
if (Not MapExists('Marker')) then
begin
Repeat
//Random events while in the world map? Doubt it
Wait(50);
until(MapExists('Marker'))
MouseBox(743,13,753,23,1);
Repeat
//Random events while in the world map? Doubt it
Wait(50);
until(Not MapExists('Map'))
end;
Wait(RandomRange(500,750));
if (Not FindBitmapIn(DirMarker,X2,Y2,MMX1,MMY1,MMX2,MMY2)) then
begin
Repeat
//Random events
Wait(50);
until(FindBitmapIn(DirMarker,X2,Y2,MMX1,MMY1,MMX2,MMY2))
end;
Repeat
if FindBitmapIn(DirMarker,X2,Y2,MMX1,MMY1,MMX2,MMY2) then
begin
MMouse(X2,Y2,3,3);
Wait(Random(100));
GetMousePos(X2,Y2);
Mouse(X2,Y2,0,0,True);
Wait(RandomRange(900,1100));
end;
until((MarkerDistance <= Distance) And (MarkerDistance > 0))

MouseBox(530,130,550,155,2);
ChooseOption('Clear');
Result := True;

FreeBitMap(TBMP);
FreeBitMap(DirMarker);
end;

begin
InitialSetup;
Wait(1000);
if MMWW('cows',5) then
Writeln('We have arrived!');
end.

Let me know how it runs for you, Bob.

Gu3st...

2011-05-14 10:20:33

How is that web walking..?

Do you even know what web-walking is?

By the way: "Atleast I'm trying to come up with new ideas to build off from." Like I've said: The idea is not new

Bobzilla69

2011-05-14 10:28:38

From: Flight
You sound like you would belong in a community more like… RsBot? Sythe?

Atleast I'm trying to come up with new ideas to build off from. Why should you discourage me from trying? Infact, who are you to discourage me from trying?



You've never used webwalking, have you?

@Bobzilla69:
Test this out, start with any player (preferably in front of Lumbridge Castle, as that's where I tested) and run the script. Your camera angle doesn't matter. This will run you to the Lumbridge East Cow gate.#

Note: This is just the idea of the script, giving it a quick test-run. It worked fine for me.

Program MMWW;

{$Define SMART}
{$i SRL/SRL.scar}

Const
WMX1 = 7;
WMY1 = 7;
WMX2 = 760;
WMY2 = 460;

Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := '';
Pass := '';
Nick := '';
Pin := '';
Active := True;
end;
end;

Procedure InitialSetup;
begin
Smart_Server := 8;
Smart_Members:= False;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
end;

Function MarkerDistance: Integer;
Var
X,Y,DestMarker: Integer;
Begin
DestMarker := BitmapFromString(4, 3, 'meJw7L8B+Hoz+r+AHIgiDAQzgDADt' +
'2Apx');
Result := -1;

if (FindBitmapIn(DestMarker,X,Y,MMX1,MMY1,MMX2,MMY2)) then
Result := Distance(MMCX,MMCY,X+1,Y+2);

FreeBitMap(DestMarker);
End;

Function MapExists(MarkType: String): Boolean;
Var
X,Y,X2,Y2,CurMarker,
NewMarker: Integer;
Begin
CurMarker := BitmapFromString(30, 10, 'meJzTMU/SQUIMYIDGJRtgNYRyY7' +
'EajtUirB4hxrPIsnjsRWNjdRVW2zFNxqOSGC5JgqMmY41BTBH86Qd' +
'/kiOYIOFsAFpbUAk=');
NewMarker := BitmapFromString(30, 8, 'meJzTMU/SASMGMMBkw7logmhSyCJ' +
'oDPwIl734LcXjTqzOxiWFyy4iuQQDhGyTyXADMVzyfEeqyUSagzWd' +
'4DEcTTFWjQC+hlxZ');
Result := False;

if (MarkType = 'Map') then
Result := FindBitmapIn(CurMarker,X,Y,WMX1,WMY1,WMX2,WMY2);
if (MarkType = 'Marker') then
Result := FindBitmapIn(NewMarker,X2,Y2,WMX1,WMY1,WMX2,WMY2);

FreeBitMap(CurMarker);
FreeBitMap(NewMarker);
End;

{*******************************************************************************
Function MMWW(Dest: String; Distance: Integer): Boolean;
By: Flight
Description: WebWalk using map markers
-'Dest' is the destination string of predefined bitmaps
-'Distance' is the acceptable distance from the destination
*******************************************************************************}
Function MMWW(Dest: String; Distance: Integer): Boolean;
Var
X,Y,X2,Y2,TBMP,
DirMarker: Integer;
Begin

Result := False;
DirMarker := BitmapFromString(4, 4, 'meJw7L8B+nhQEAGzvDmE=');
Case LowerCase(Dest) of
'cows': TBMP := BitmapFromString(17, 19, 'meJxjYCAVnCFZx8jWcubMqBaStX' +
'BbS/AHy0OQSKI+SVqA6iVj7YnRAlQs4KcHRED1xGthMbMEIuK1AEk' +
'hMQmg8yAaidQC0UVQMVwLAEIpMLM=');
end;

if (Not MapExists('Map')) then
begin
MouseBox(530,130,550,155,1);
Repeat
//Find random events here
Wait(50);
until(MapExists('Map'))
end;
Wait(RandomRange(500,750));
if (Not MapExists('Marker')) then
begin
if FindBitmapIn(TBMP,X,Y,WMX1,WMY1,WMX2,WMY2) then
begin
MMouse(X,Y,3,3);
Wait(Random(100));
GetMousePos(X,Y);
Mouse(X,Y,0,0,True);
Wait(RandomRange(150,350));
Mouse(X,Y,0,0,True);
end else
begin
WriteLn('Destination too far, exiting');
Result := False;
//FreeBitMap(TBMP); //Needed?
Exit;
end;
end;
Wait(RandomRange(500,750));
if (Not MapExists('Marker')) then
begin
Repeat
//Random events while in the world map? Doubt it
Wait(50);
until(MapExists('Marker'))
MouseBox(743,13,753,23,1);
Repeat
//Random events while in the world map? Doubt it
Wait(50);
until(Not MapExists('Map'))
end;
Wait(RandomRange(500,750));
if (Not FindBitmapIn(DirMarker,X2,Y2,MMX1,MMY1,MMX2,MMY2)) then
begin
Repeat
//Random events
Wait(50);
until(FindBitmapIn(DirMarker,X2,Y2,MMX1,MMY1,MMX2,MMY2))
end;
Repeat
if FindBitmapIn(DirMarker,X2,Y2,MMX1,MMY1,MMX2,MMY2) then
begin
MMouse(X2,Y2,3,3);
Wait(Random(100));
GetMousePos(X2,Y2);
Mouse(X2,Y2,0,0,True);
Wait(RandomRange(900,1100));
end;
until((MarkerDistance <= Distance) And (MarkerDistance > 0))

MouseBox(530,130,550,155,2);
ChooseOption('Clear');
Result := True;

FreeBitMap(TBMP);
FreeBitMap(DirMarker);
end;

begin
InitialSetup;
Wait(1000);
if MMWW('cows',5) then
Writeln('We have arrived!');
end.

Let me know how it runs for you, Bob.


it worked, but it gets stuck after setting the mark on world map and just sits there, doesn't detect the marker has been set?

also i dont like the walking, it keeps clicking the arrow which i dont like at all, simply fix is to add Flag; or FFlag(5); the the repeat at line 148

i also dont get how it will get through gates? if i wanted to go to AK from lumbridge how will this work?

i dont see how this will get through gates? or wont it be implemented?

say i was going to AK from lumbridge how will it get there?

**BANNED The Man

2011-05-14 11:52:45

From: Flight
You sound like you would belong in a community more like… RsBot? Sythe?

Atleast I'm trying to come up with new ideas to build off from. Why should you discourage me from trying? Infact, who are you to discourage me from trying?



You've never used webwalking, have you?

@Bobzilla69:
Test this out, start with any player (preferably in front of Lumbridge Castle, as that's where I tested) and run the script. Your camera angle doesn't matter. This will run you to the Lumbridge East Cow gate.

Note: This is just the idea of the script, giving it a quick test-run. It worked fine for me.

Program MMWW;

{$Define SMART}
{$i SRL/SRL.scar}

Const
WMX1 = 7;
WMY1 = 7;
WMX2 = 760;
WMY2 = 460;

Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := '';
Pass := '';
Nick := '';
Pin := '';
Active := True;
end;
end;

Procedure InitialSetup;
begin
Smart_Server := 8;
Smart_Members:= False;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
end;

Function MarkerDistance: Integer;
Var
X,Y,DestMarker: Integer;
Begin
DestMarker := BitmapFromString(4, 3, 'meJw7L8B+Hoz+r+AHIgiDAQzgDADt' +
'2Apx');
Result := -1;

if (FindBitmapIn(DestMarker,X,Y,MMX1,MMY1,MMX2,MMY2)) then
Result := Distance(MMCX,MMCY,X+1,Y+2);

FreeBitMap(DestMarker);
End;

Function MapExists(MarkType: String): Boolean;
Var
X,Y,X2,Y2,CurMarker,
NewMarker: Integer;
Begin
CurMarker := BitmapFromString(30, 10, 'meJzTMU/SQUIMYIDGJRtgNYRyY7' +
'EajtUirB4hxrPIsnjsRWNjdRVW2zFNxqOSGC5JgqMmY41BTBH86Qd' +
'/kiOYIOFsAFpbUAk=');
NewMarker := BitmapFromString(30, 8, 'meJzTMU/SASMGMMBkw7logmhSyCJ' +
'oDPwIl734LcXjTqzOxiWFyy4iuQQDhGyTyXADMVzyfEeqyUSagzWd' +
'4DEcTTFWjQC+hlxZ');
Result := False;

if (MarkType = 'Map') then
Result := FindBitmapIn(CurMarker,X,Y,WMX1,WMY1,WMX2,WMY2);
if (MarkType = 'Marker') then
Result := FindBitmapIn(NewMarker,X2,Y2,WMX1,WMY1,WMX2,WMY2);

FreeBitMap(CurMarker);
FreeBitMap(NewMarker);
End;

{*******************************************************************************
Function MMWW(Dest: String; Distance: Integer): Boolean;
By: Flight
Description: WebWalk using map markers
-'Dest' is the destination string of predefined bitmaps
-'Distance' is the acceptable distance from the destination
*******************************************************************************}
Function MMWW(Dest: String; Distance: Integer): Boolean;
Var
X,Y,X2,Y2,TBMP,
DirMarker: Integer;
Begin

Result := False;
DirMarker := BitmapFromString(4, 4, 'meJw7L8B+nhQEAGzvDmE=');
Case LowerCase(Dest) of
'cows': TBMP := BitmapFromString(17, 19, 'meJxjYCAVnCFZx8jWcubMqBaStX' +
'BbS/AHy0OQSKI+SVqA6iVj7YnRAlQs4KcHRED1xGthMbMEIuK1AEk' +
'hMQmg8yAaidQC0UVQMVwLAEIpMLM=');
end;

if (Not MapExists('Map')) then
begin
MouseBox(530,130,550,155,1);
Repeat
//Find random events here
Wait(50);
until(MapExists('Map'))
end;
Wait(RandomRange(500,750));
if (Not MapExists('Marker')) then
begin
if FindBitmapIn(TBMP,X,Y,WMX1,WMY1,WMX2,WMY2) then
begin
MMouse(X,Y,3,3);
Wait(Random(100));
GetMousePos(X,Y);
Mouse(X,Y,0,0,True);
Wait(RandomRange(150,350));
Mouse(X,Y,0,0,True);
end else
begin
WriteLn('Destination too far, exiting');
Result := False;
//FreeBitMap(TBMP); //Needed?
Exit;
end;
end;
Wait(RandomRange(500,750));
if (Not MapExists('Marker')) then
begin
Repeat
//Random events while in the world map? Doubt it
Wait(50);
until(MapExists('Marker'))
MouseBox(743,13,753,23,1);
Repeat
//Random events while in the world map? Doubt it
Wait(50);
until(Not MapExists('Map'))
end;
Wait(RandomRange(500,750));
if (Not FindBitmapIn(DirMarker,X2,Y2,MMX1,MMY1,MMX2,MMY2)) then
begin
Repeat
//Random events
Wait(50);
until(FindBitmapIn(DirMarker,X2,Y2,MMX1,MMY1,MMX2,MMY2))
end;
Repeat
if FindBitmapIn(DirMarker,X2,Y2,MMX1,MMY1,MMX2,MMY2) then
begin
MMouse(X2,Y2,3,3);
Wait(Random(100));
GetMousePos(X2,Y2);
Mouse(X2,Y2,0,0,True);
Wait(RandomRange(900,1100));
end;
until((MarkerDistance <= Distance) And (MarkerDistance > 0))

MouseBox(530,130,550,155,2);
ChooseOption('Clear');
Result := True;

FreeBitMap(TBMP);
FreeBitMap(DirMarker);
end;

begin
InitialSetup;
Wait(1000);
if MMWW('cows',5) then
Writeln('We have arrived!');
end.

Let me know how it runs for you, Bob.


From: Zyt3x
How is that web walking..?

Do you even know what web-walking is?

By the way: "Atleast I'm trying to come up with new ideas to build off from." Like I've said: The idea is not new


This ^
I think you are the one who doesnt know what web walking is.
Yours is (read: at most) a world walker.
You know why it is called a web?
Answer: Think of a spiders web.

Next thing.
I belong in rsbot or sythe?
Because I comment the truth?
Because honestly you are trying to claim recognition for a "new" idea that me and others have already pointed out, isn't new.
Sounds like you belong in rsbot ;)

Next thing.
I am not discouraging you.
If this thread had been you releasing this saying, i made this (read: not web) walker.
I would have posted a positive comment.

Last of all.
Since you became a member your attitude has changed.
you are not better than anyone.

ReadySteadyGo

2011-05-14 12:03:06

The webwalk include I posted a while ago can be used with SPS. IMO this is not worth doing because it lacks an efficient way to deal with obstacles. What I'd love to see is someone find a way to process the word map into a simple map and use A* on it.

Zyt3x, sorry bro, only just saw your post about posting the source for webber, will get round to it asap.

marpis

2011-05-14 12:40:16

From: ReadySteadyGo
The webwalk include I posted a while ago can be used with SPS. IMO this is not worth doing because it lacks an efficient way to deal with obstacles. What I'd love to see is someone find a way to process the word map into a simple map and use A* on it.

Zyt3x, sorry bro, only just saw your post about posting the source for webber, will get round to it asap.


At first I made SPS kind of do this. I had a separate worldmap, on which I painted the walkable areas with blue. The script then went through the worldmap and added every blue point = True in a T2DBooleanArray. I had an algorithm of my own that made the "shortest" path from A to B, but i never got it good enough to be released.

Gu3st...

2011-05-14 13:00:54

From: ReadySteadyGo
Zyt3x, sorry bro, only just saw your post about posting the source for webber, will get round to it asap.
Thanks a lot :)

Flight

2011-05-14 13:54:39

From: Dynamite

I think you are the one who doesnt know what web walking is.


Maybe so, my interpretation from using 'r_WebWalk' is setting a destination tile and repeatedly clicking MM tiles in the general direction of that tile. I've used webwalking so I tried my best to mimic that.

From: Dynamite

Next thing.
I belong in rsbot or sythe?
Because I comment the truth?
Because honestly you are trying to claim recognition for a "new" idea that me and others have already pointed out, isn't new.
Sounds like you belong in rsbot ;)


No, making comments about me is your opinion, not the truth. I had expected a little more maturity than this, clearly I over-estimated you, but I promise from this point on it won't happen again, Dynamite.

From: Dynamite

Since you became a member your attitude has changed.


Elaborate, and be specific, please.

From: Dynamite

you are not better than anyone.


At what point did I ever even come close to inferring that statement?

From: Zyt3x

By the way: "Atleast I'm trying to come up with new ideas to build off from." Like I've said: The idea is not new


Like I mentioned before, I've never seen color walking using map markers, have you? This doesn't click a defined set of points. So then what defines a world walker from webwalker? In my knowledge, webwalking is walking in the general direction of a destination tile, no obstacle tracking, no set paths. World walking, as much as I know, is predefined tiles (or points for TPA-Walking). Please, correct me if I'm missing anything important?

Maybe it's not new, Zyt3x. Maybe someone else has done the exact same thing. But God for bid, does that make my ideas useless? Why is brainstorming a crime to you? If I were to come up with new script ideas would you be the first to call it useless? How many mining, woodcutting, fishing, cooking, runecrafting scripts do we have? They all have the same purpose, the only difference is how they're made and how they work. So what if someone has used world-map walking, or even color walking, why do I get put down so much for trying something differently?

If we're not allowed to do things our own way, then what defines this as a open community? "Yes, anyone can come in, script, and post their work, but if it's already been done then it's useless, period." That's the impression I'm getting. If this is how it truly is then please, please, remove whatever ranks I have on the forums and I'll walk away, you won't have to worry about me wasting more forums space.

Gu3st...

2011-05-14 14:04:34

From: Flight
Like I mentioned before, I've never seen color walking using map markers, have you? This doesn't click a defined set of points. So then what defines a world walker from webwalker? In my knowledge, webwalking is walking in the general direction of a destination tile, no obstacle tracking, no set paths. World walking, as much as I know, is predefined tiles (or points for TPA-Walking). Please, correct me if I'm missing anything important?

Maybe it's not new, Zyt3x. Maybe someone else has done the exact same thing. But God for bid, does that make my ideas useless? Why is brainstorming a crime to you? If I were to come up with new script ideas would you be the first to call it useless? How many mining, woodcutting, fishing, cooking, runecrafting scripts do we have? They all have the same purpose, the only difference is how they're made and how they work. So what if someone has used world-map walking, or even color walking, why do I get put down so much for trying something differently?

If we're not allowed to do things our own way, then what defines this as a open community? "Yes, anyone can come in, script, and post their work, but if it's already been done then it's useless, period." That's the impression I'm getting. If this is how it truly is then please, please, remove whatever ranks I have on the forums and I'll walk away, you won't have to worry about me wasting more forums space.
Webwalker is a walker using a 'web' of i.e tiles, aka a preset array of tiles, which handles obstacles and dungeons/houses/etc.
A world walker is what you've made.

I have never said your idea is useless nor that brainstorming is a bad thing?! I simply stated that saying this is something new is wrong. I am not against you making a script.

Boreas

2011-05-14 15:51:08

Back in the day I was looking into A-star/etc and defining walkable tiles, to be able to walk from any tile to any tile, algorithmically. But then I realized there is a finite number of bank spots and popular training spots, and anywhere else you would want to go would probably be within a clear line of sight one of a finite number of other spots. In a webwalker, these spots are defined as 'nodes'. Certain nodes are neighbors to certain other nodes, connected by 'links'. The simplest web would have a node at Home Teleport, and a line of nodes to a bank, and from the bank to a training spot (ie walking for 1 script, with death/lost/start-player-from-anywhere walk), obviously the work starts paying off when you have a lot more nodes than that. A webwalker contains an algorithm that takes a starting node, looks at the nodes connected to that first node by links, and then finds their neighbors, and so on, until it finds the best route to the ending node. More nodes and links can be added over time, preferably with an easy to use tool.

That's about the core definition, but beyond that, webwalkers can vary by design and extra features. For example, to travel a 'link' (ie from one node to it's neighboring node), it may use a path (a TPA of tiles, each within minimap radius of each other) defined in the link, or it may blind click in that direction (assuming the location of nodes were chosen so that there would be a line of sight clear of obstacles between them) perhaps contained within a Tbox (or several) defining a boundary, or the link could be defined as a series of DDTMs or other color record [Note: I used to used the word path for link, but that was before reflection came along and it became the word for a TPA of tiles]. Another example is that a node could be defined as a tile, a tile box, or even a node record that also includes instructions for opening a door, climbing a ladder, or other obstacles to be handled (either way the record should have a name like 'veb' or 'crossroads1', not just an index in an array). Tiles can be handled by reflection or SPS, or both. If a destination tile (or current tile) is not exactly at a node, the closet node needs to be found, and that distance needs to be blind clicked; this can be handled by either the webwalker or by the scripter (if the links are blind clicks rather than pre-defined TPA paths, then you might as well have webwalker handle it). Also, you can either have one big web, or multiple webs joined by a limited number of nodes (requiring less steps for the algorithm and more in creating the web). Nodes and links can information in their records such as minimum combat level or materials.

Flight

2011-05-17 21:44:22

Thanks for de-repping me and not even posting your name, Dynamite. Right back at you.

From: Dynamite
Go cry at other communities please kthxbai

Jakkle

2011-05-18 08:56:17

Why dont you just make/release it and see what people think ?
Tbh from what you've said about putting a marker on the world map and clicking the indicator on MS or MM would be kinda wierd.

1) How many people do you know that would do that while playing ?
2) Would it not be obvious that your a bot ONLY clicking the marker ?

Its a good idea none the less but i personally don't think many people would use it, not saying i wouldn't give it a try :P.

I think if we was able to make kind of a sat nav for runescape would be better. So say you enter where you wanna go and it knows what path to take, the shortest path there and do obstacles like gates, doors and stairs.

**BANNED The Man

2011-05-22 11:55:20

From: Flight
Thanks for de-repping me and not even posting your name, Dynamite. Right back at you.


Why would I need to post my name… You know who it was.
You are de-repping me for de-repping you.
You are being childish.
People like you piss me off, now please stop referring to me in your posts.

Rich

2011-05-22 12:52:11

Honestly, everyone just needs to take something; legal or illegal, to calm down.

Flight, people are giving you criticism, telling you what won't work, and why it's not actually a web walker, and you're having a hissy fit about it, blowing everything out of proportion. If you think that what people have said is stupidly harsh, then by all means, leave like you suggested.

And what's with everyone treating -rep as the end of the world lately? Get over it and grow up.

sm0k3

2011-05-22 15:03:49

look i agree with rich

Honestly, everyone just needs to take something; legal or illegal, to calm down.


so why dosent everyone just SHUT UP and leave him to it
he knows what people think
he is a scripter like most of us so LET HIM SCRIPT

maby when he has finished it it will be good .
maby not

but who can say ? we dont know wether during the coding of his script , he will have some great idea and make it amazing or not.

but even if he does'nt its still a learning curve

i think its a great idea ..

i dont think itl work well and i agree its probably highly detectable.

(i had a similar idea a while back http://villavu.com/forum/showthread.php?t=63431 )
no one had a go at me did they ..? . they just explained why it wouldnt work


so leave him to it

Note: im not having a go at no one .. its just i cant see this thread going anyware
apart from it just being an argument so lets all just stop because this is slowly becoming more than just "helpfull criticism"

Flight

2011-05-22 20:41:58

From: Rich
Honestly, everyone just needs to take something; legal or illegal, to calm down.

Flight, people are giving you criticism, telling you what won't work, and why it's not actually a web walker, and you're having a hissy fit about it, blowing everything out of proportion. If you think that what people have said is stupidly harsh, then by all means, leave like you suggested.

And what's with everyone treating -rep as the end of the world lately? Get over it and grow up.


Rich, please stop trying to continue this. When's the last time I posted anything related to this idea? Yet here you come again, bringing it back up, why?

I was in no way having a 'hissy fit', I think you should go through and actually read what I've posted. I've asked questions, asked for opinions, stated my reasons for doing what I've done, but I have never complained if someone doesn't like my idea. You are blowing this out of proportion.

As far as the derep goes, when someone dereps someone for an unjust reason, I don't agree. Did you see me whining when Dynamite derepped me?

I won't work on this, so just leave it be, Rich. Please, drop it already. And don't ever tell me to leave.

Rich

2011-05-23 02:56:36

From: Flight
Rich, please stop trying to continue this. When's the last time I posted anything related to this idea? Yet here you come again, bringing it back up, why?

I was in no way having a 'hissy fit', I think you should go through and actually read what I've posted. I've asked questions, asked for opinions, stated my reasons for doing what I've done, but I have never complained if someone doesn't like my idea. You are blowing this out of proportion.

As far as the derep goes, when someone dereps someone for an unjust reason, I don't agree. Did you see me whining when Dynamite derepped me?

I won't work on this, so just leave it be, Rich. Please, drop it already. And don't ever tell me to leave.
4 days ago (when I posted my last post). Hardly a long time.

So after reading some criticism then saying that everyone is discouraging you from making new things, trying new things out and saying it's useless is not blowing it out of proportion?

Yes.
From: Flight
Thanks for de-repping me and not even posting your name, Dynamite. Right back at you.
There was nothing else in that post.

You seemed to bring the idea of leaving up yourself.
From: Flight
If this is how it truly is then please, please, remove whatever ranks I have on the forums and I'll walk away, you won't have to worry about me wasting more forums space.
I was merely referring to that post.

lovetera

2011-07-21 02:15:54

The great thing about the world map is it doesn't matter if there's players/npcs on the Mini-Map, they don't show up on the world map, therefore bitmaps would work like a charm. We could even go as far as having a predefined 'bitmap database' of commonly used destinations, such as certain banks, mining/fishing/woodcutting areas, ect… It would work in the same sense as our color/reflection banking as they have predefined tiles/points.

Flight

2011-07-21 02:34:19

:S Maybe we should just close this thread, after all it was a lost cause.

Bonfield

2011-07-21 05:23:58

why was it a lost cause? who cares if it has been suggested before? afaik the map marker idea was suggested but nothing ever came of it

i would continue with the idea, im sure you will learn something new through the process

if anything i think matters i would create some code, it may even end up becoming a fully fledged web walker like boreas said

Flight

2011-07-21 05:45:01

Somewhere on this thread I posted the code for this with an example walk from the lumbridge castle to the cow pen near the AlKharid gate. You're more than welcome to do whatever you want with it.

Bonfield

2011-07-21 05:48:57

i know i read it

gone off the idea of developing it?

Flight

2011-07-21 05:53:46

Sure did, I've got many other scripts in mind for now.

Bonfield

2011-07-21 05:55:15

is that because of this thread? its a shame if it is

how many more scripts can you be thinking of, you have released heaps lately =]

Coh3n

2011-07-21 06:53:16

Flight, I've used SPS and seen Zyt3x's world walker in action, and honestly, if you want to pursue this, Zyt3x's is the way to go. Unless someone can add dungeon support for SPS and speed it up to the point where it's almost as fast as reflection, I can't see a world walker being made with SPS any time soon.

I think Zyt3x's can be made very accurate if you calculate how many clicks to do to a certain location. Can do like 5 clicks on this angle, 3 on another, and so on. It's actually quite nice. :) The only issue is obstacles. MSI has a really nice system, but it would involve a lot of color gathering and such to handle it with only color.

Flight

2011-07-21 07:01:17

I think the biggest confusion with this was me calling it a WebWalker. That's incorrect, I called it this because of the "WebWalk" function for reflection which 'blindly' walked in a certain direct twords a certain tile, so that's what I thought the definition for 'WebWalker' was. This is just a color BlindWalker/WindWalk which chooses a defined bitmap on the world map and walks in that direction.

I just intended for this to be an alternative, not a replacement in any way. No it would not be 100% accurate and no it would not be fast. With that being said, I imagine I could put my time to better use, I plan on making competing scripts to the Java bots, that seems like a better cause right now.

iCURiP

2011-12-27 19:14:38

Nvm. Didn't read properly.

Gu3st...

2011-12-27 19:17:10

5-month gravedig…. And what you're posting is already done (SPS is doing exactly that)

biohazard222

2011-12-28 06:23:21

this way cant avoid any obstacles … so you will be there, clicking behind the fence for an ethernity

sry about gravedig :3

Fsig

2011-12-29 05:14:20

I can't be bothered to read all the comments.

But…

I also had this idea awhile ago and actually had a go at implementing this.

The idea was similar, use the world map to get your current location and have my own tile system where I could map where my player was and work from that.

The issues I found is the world map now has random changes similar to how the mini map works.
These changes make it hard to do template matching even if you only use a allowed colour range. And these could easily make the world map change more and more like the mini map.

I think the only way we can do this is by working out where we are off the game screen. (Or have a know starting location inputted into our own tile system)

YoHoJo

2011-12-29 05:37:21

From: Fsig
I can't be bothered to read all the comments.

But…

I also had this idea awhile ago and actually had a go at implementing this.

The idea was similar, use the world map to get your current location and have my own tile system where I could map where my player was and work from that.

The issues I found is the world map now has random changes similar to how the mini map works.
These changes make it hard to do template matching even if you only use a allowed colour range. And these could easily make the world map change more and more like the mini map.

I think the only way we can do this is by working out where we are off the game screen. (Or have a know starting location inputted into our own tile system)


Can you at least please be bothered to read post dates?
From: Zyt3x
5-month gravedig…. And what you're posting is already done (SPS is doing exactly that)


This thread is very old and dead!
Thank you however for contributing your thoughts and theories.
Check this out:
http://villavu.com/forum/showthread.php?t=66266