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
batman2227
Beginner


Joined: 19 Nov 2002
Posts: 25
Location: USA

PostPosted: Sat Jun 21, 2003 7:44 pm   

Hey Tarn! I have an Achaea question for you
 
Hi, this post is for Tarn, since it involves the movement script created by Tarn, posted below, probably wrong since I don't know if cutting and pasting works precisely on this forum, but close enough for tarn to recognize:
#CLASS {SlowWalk}
#ALIAS StartWalk {
#var walking 1
#var pos 1
#alarm +5 {DoWalk}
}
#alias PauseWalk {#var walking 0}
#alias ResumeWalk {#var walking 1;#alarm +5 {DoWalk}}
#alias DoWalk {#if (@walking=1) {
#exec %item( @path, @pos)
#add pos 1
#alarm +5 {DoWalk}
}}
#var walking {1} {0}
#var Path {"#echo Path test|#var walking 0;#echo End of Path"} {}
#var pos {1}
#CLASS 0

Put the sequence of direction commands in the variable Path, separated by |, the standard list separator.

StartWalk to begin from scratch.
PauseWalk to suspend for a bit.
ResumeWalk to start up again where you left off.

My question is if there is any way to check for succesful movement and implement it into the script. I have set the alarm to +15, and of course the problem only happens when I am surfing the net (aka not paying attention to zmud), but the log shows what I think is lag related, where it will fire multiple commands without waiting for the prompt so it looks like the following in the log:
n
nw
e
se
e
End of Path
Or something to that effect? I think if it could just check to see if it actually succesfully made the move, and if not repeat the command at a set interval until it does, it would make this already fantastic script perfect (at least for my humble needs). That is not meant as criticism by the way, as this script is absolutely phenomenal, and works 99% of the time perfectly. It is just that 1% where I think it is lagging. That is the best guess I can make. Thanks for any help or insight you or anyone else can offer. BTW, for those of you who ae curious, i prefer this to slowwalk for achaea, because its pausewalk function seems to work better than #pause, when i use it to pause when certain people are in the room I want to talk to, and then resume when I am ready to move on. Thanks for your time.


"To start press any key... Where's the anykey?"
Reply with quote
batman2227
Beginner


Joined: 19 Nov 2002
Posts: 25
Location: USA

PostPosted: Sat Jun 21, 2003 8:13 pm   
 
Oh, I should probably state for those of you not familiar with achaea atypical room description in series with prompt looks like the following when you walk from room to room:

Rounding a bend on Ruminic Street.
The bright sun shines down, blanketing you with its life-giving warmth. A runic
totem is planted solidly in the ground.
You see exits leading southeast and southwest.
2416h, 1450m ex-se
Ruminic Street lined with willow trees.
The bright sun shines down, blanketing you with its life-giving warmth. A runic
totem is planted solidly in the ground.
You see exits leading east and northwest.
2416h, 1450m ex-e

Just looking for a way to tell the SlowWalking script that it has either succesfully made a move or not, and if not, to repeat the move it was supposed to make. The only other thing I can think of is maybe the alarms are "stacking", because the only times I have personally observed it acting "wonky", it looked as if it sent commands faster than the 15 second alarm, and Achaea does not let you move quickly between rooms, instead telling you "Now, now don't be so hasty!." Hope this clarifies things, I am still very obviously an uber-novice Zmudder, so if I am not stating things clearly or not giving enough information, just ask, and I'll spill my wee brains to you ;-) Thanks for your help.

"To start press any key... Where's the anykey?"
Reply with quote
batman2227
Beginner


Joined: 19 Nov 2002
Posts: 25
Location: USA

PostPosted: Sat Jun 21, 2003 8:30 pm   
 
Below is an example of where it sends multiple commands almost back to back with little or no delay. I run this walk in a loop, and reset the path when it hits the end of the path by using "StartWalk" in that room (the start and point of the path circle).

Rounding a bend on Ministrickle.
The stars twinkle in the clear night sky. A sewer grate looms darkly beneath
your feet. A runic totem is planted solidly in the ground.
You see exits leading northeast and south.
2416h, 1450m ex-s
s
Continuing along Minstrickle Road. (road)
The stars twinkle in the clear night sky. A runic totem is planted solidly in
the ground.
You see exits leading north and south.
2416h, 1450m ex-
Passing through a small shantytown.
The stars twinkle in the clear night sky. A runic totem is planted solidly in
the ground.
You see exits leading north and south.
2416h, 1450m ex-s
Beside a cascade on Ministrickle.
The stars twinkle in the clear night sky. A runic totem is planted solidly in
the ground.
You see exits leading north and south.
2416h, 1450m ex-s
e
Intersection of Ruminic and Ministrickle.
The stars twinkle in the clear night sky. A runic totem is planted solidly in
the ground.
You see exits leading north, east, and west.
2416h, 1450m ex-



"To start press any key... Where's the anykey?"
Reply with quote
batman2227
Beginner


Joined: 19 Nov 2002
Posts: 25
Location: USA

PostPosted: Sat Jun 21, 2003 8:35 pm   
 
This is an example of after I shut off the slowwalk script (when it started malfunctioning and sending too many directions too quick), and you can see it sends multiple DoWalk commands. Would making a unique ID for DoWalk (don't even know if that is possible) or the DoWalk Alarm, so that when it received multiple ResumeWalk commands, it would just reset the one rather than generating what I think are multiple alarms. This script is so close to working perfectly, it is driving me nuts that I can't tweak it to get it there. Aaaarrrgggghhhh!!!!! Ah, I feel better. ;-)



"To start press any key... Where's the anykey?"
Reply with quote
batman2227
Beginner


Joined: 19 Nov 2002
Posts: 25
Location: USA

PostPosted: Sat Jun 21, 2003 8:41 pm   
 
2416h, 1450m ex-DoWalk
A tentative female voice shouts, "Woot Congrats Girl ()Rhina()"
2416h, 1450m ex-
Continuing on Ruminic.
A smattering of clouds fills the sky, lacing it with spiderwebs of grey. A
runic totem is planted solidly in the ground.
You see exits leading east and west.
2416h, 1450m ex-
Could you be a bit clearer?
2416h, 1450m ex-DoWalk
DoWalk
Pardon me?


"To start press any key... Where's the anykey?"
Reply with quote
Tarn
GURU


Joined: 10 Oct 2000
Posts: 873
Location: USA

PostPosted: Mon Jun 23, 2003 3:53 am   
 
quote:
Originally posted by batman2227
My question is if there is any way to check for succesful movement and implement it into the script.



Glad you like it. Zugg has been doing some great things with the mapper recently, so if you haven't tried it recently take a look next time you update to see if it's doing enough for you now.

I can't test on Achaea at the moment, but the two things to do are:

1) pick up obvious failure messages and decrement the position variable (pos) so that it will try again on the same command- banana peels, tangled, webbed, etc. and get an actual "can't-move" message.

2) Do a color trigger on the roomname. The rest of the room can be hard to trigger/map (though use the Forum Search for some good recent attempts to make things easier) but a few of the key things can be easy to pick out if you're not looking to analyze the room info, just to detect it (room name color, the color of the Exits sentence, etc.) Set a flag, and if the alarm goes off before the flag is set, make it wait another interval.

These measures may be more complicated than you actually need if your problem is entirely sporadic-lag related, as you seem to indicate below, but might help you out improving/extending the script.

Edit: I reread your other posts and saw your note that you think the script might be sending too quickly. I've got to fix some things before I can stick zMud (or anything else) back on my system (grr) but I'll test when I can. In the meantime, have you noticed a pattern to when the alarms seem to fire too often? Some other app sucking all the CPU time for an extended period perhaps? Hopefully these suggestions will help you resolve the problem anyway, though.

quote:

I have set the alarm to +15, and of course the problem only happens when I am surfing the net (aka not paying attention to zmud), but the log shows what I think is lag related, where it will fire multiple commands without waiting for the prompt so it looks like the following in the log:
n
nw
e
se
e
End of Path



You lag for 15 seconds at a stretch? (the above represents 25 seconds of sending things before seeing a response?) That's painful; I don't see that even when using Dialup unless an insane number of players are online. Maybe you have a network driver or ISP problem.

Add a variable, LagFlag. Set it to 0 in whatever prompt trigger you use to keep your hp/etc. up to date. Set it to 1 when you send a move command. If it's still 1 the next time the timer fires, wait another 5 seconds and try again. You could get fancy and continue adding to it each time to measure the severity of the lag, perhaps sounding an audible alarm when the lag gets too bad.

Depending on how your lag works (big freeze while you download a web page, or just slow/spotty in general) the above might be a complete fix or you might need to do something like the numbered (1) and (2) above (with the same waiting-to-move flag arrangement).

-Tarn
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