Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » zMUD General Discussion
talonnb
Apprentice


Joined: 30 Oct 2004
Posts: 127

PostPosted: Sat Aug 05, 2006 4:11 am   

Dashing and the Automapper
 
There is a skill in the mud I play that allows a person to dash through the same direction rooms.

So say I'd have to do 5 easts, then a southeast, then another 7 souths, is there a way to get the mapper to follow me and use it for speedwalking, so on?
Reply with quote
talonnb
Apprentice


Joined: 30 Oct 2004
Posts: 127

PostPosted: Sat Aug 05, 2006 5:09 am   
 
Ok, how about this then.

Is there any way to store a path in a variable without walking it? Might be able to do something with that, still not 100% sure how I'd do it.
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Sat Aug 05, 2006 4:31 pm   
 
How does your dash look? Does it just messaging you something and then throw up the dash destination? Does DASH touch down in intermediate rooms along the path? We can't offer solutions if we can't see the problem.
_________________
EDIT: I didn't like my old signature
Reply with quote
chris-74269
Magician


Joined: 23 Nov 2004
Posts: 364

PostPosted: Sat Aug 05, 2006 6:30 pm   
 
try making your dash like an alias, so suppose its dash 5e2s, #alias dash {~dash %-1;#var dashdirs %pathexpand(%-1);#loop %numitems(@dash) {#move %item(@dash,1);#var dashdirs %delnitem(@dashdirs,1)}}
Reply with quote
Vijilante
SubAdmin


Joined: 18 Nov 2001
Posts: 5182

PostPosted: Sun Aug 06, 2006 8:27 pm   
 
I suspect in order to do what you really want you are going to have to override a significant portion of the mapper's functionality. I have built a similar override in my script by use of an #ONINPUT trigger. In order to make use of dashing you would have to modify this heavily but I will post my current trigger so that you may examine it.

#ONINPUT {^(*)$} {#IF (%destroom) {
PathSet=""
#FORALL %subchar(%pathexpand(%pathfrom(%roomnum,%destroom)),".()","") {
#IF (%len("%i")=1) {PathSet=%additem(@DirConvertS("%i"),@PathSet)} {PathSet=%additem("%i",@PathSet)}
}
#NODIR 1
}

This is integrated with my own slow walking system, which I am not posting currently, that makes use of the PathSet variable to send further movements. The key in this example is the use of "#NODIR 1". This both clears the entire mapper queue, but also aborts the walk that had set %destroom. Obviously prior to that I captured the destination room and generated out the path. The execution of that path is where I would put handling for dashing and various portals that are available only in certain types of rooms.

Posting this little smippet is just meant to help aim you at a way to override #WALK and double-clicks on the map. There have been many posts in the past on building your own slow walking system, and I would suggest you look them up and learn to adapt one to your actual needs.
_________________
The only good questions are the ones we have never answered before.
Search the Forums
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » zMUD General Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net