Changing speedwalk delay on the fly

Posted by Maja on Mon 29 Sep 2003 05:46 PM — 2 posts, 11,285 views.

#0
I'm trying to make a speedwalk alias that walks a little while, then climbs a hill, waits for the 5 seconds it takes to climb the hill and then walks the rest of the way. Setting the speedwalk delay to 5 seconds would work but I want a delay of 0 for everything but the climb bit so something like

2n 3e blahblahblah (climb hill/) (/$world->{SpeedWalkDelay} = 1032;/) n (/$world->{SpeedWalkDelay} = 0;/) yadayada rest of speedwalk

would be nice to do but that doesn't seem to work (?). I've tried to do some scripts that do variations of:

$world->queue($world->evaluatespeedwalk("4n"), true); $world->{SpeedWalkDelay} = 5000;

$world->queue($world->DoAfterSpeedWalk(5,"rest of speedwalk"),true);

But the the second sets the delay immediately when I run the script and the second sets the timer 5 seconds after I run it, not 5 seconds after the first speedwalk has been done. Any pointers on how to achieve what I want (if you understand what I mean) would be appreciated.

Edit: I've looked through the forum a bit and found things that almost do this, but not quite (if I haven't missed it).
Amended on Mon 29 Sep 2003 06:46 PM by Maja
Australia Forum Administrator #1
You don't want to change the speedwalk delay to introduce a single delay. It doesn't remember the delay on a per-queued item, it is a global thing.

Simply do this:

$world->send ($world->evaluatespeedwalk("4n blah blah (climb hill)"));
$world->DoAfterSpeedWalk(5,"rest of speedwalk");

What this does is immediately do the first speedwalk, and the defer the rest of it for 5 seconds later.