|
karamin Newbie
Joined: 08 Sep 2005 Posts: 4
|
Posted: Fri Sep 09, 2005 2:43 am
Return after Follow |
A {wolf|lion|hippo} flees to the (%w).
MOB does not matter direction
Ok. If a given mob flees to the south. I follow and kill it. What is the easiest way to return to my place of oragin before it fled? I have tried several options and they are bulky and don't work correctly. I think a variable call is the way to go, but, I would like to see if anyone else has ever tried this before.
Thank you. |
|
|
|
Theragil Apprentice
Joined: 13 Feb 2004 Posts: 157 Location: USA
|
Posted: Sat Sep 10, 2005 1:17 pm |
Before you start following, do this:
iWaypoint = %roomnum( )
After you're done, do this:
#walk @iWaypoint
This assumes you have the mapper working, and allows you to find your way back to the original location even if the mob flees several times before you kill it. |
|
|
|
Theragil Apprentice
Joined: 13 Feb 2004 Posts: 157 Location: USA
|
Posted: Sat Sep 10, 2005 1:24 pm |
If you don't have the mapper working, get it working! :D But if you can't or don't want to, here's another approach.
When you start hunting:
lHuntingSteps = ""
Each time you follow:
lHuntingSteps = %additem(%1,@lHuntingSteps)
And when you're done:
#loop %numitems(@lHuntingSteps),1 {#send %item(@lHuntingSteps,%i)}
If you need to safewalk, you'll need to convert that into a #slow command or something instead. |
|
|
|
tye Beginner
Joined: 24 Feb 2005 Posts: 27
|
Posted: Sun Sep 11, 2005 4:51 pm |
I suspect the %additem section will need to be a little more complex. If I'm reading that correctly, following a mob n, then e, then s, will cause you to subsequently go s, then e, then n, which is not what you want at all. What you want is to go n, then w, then s.
Which means that when you follow 's', you want to put 'n' into the command list. This can likely be handled just by performing a string comparison before calling %additem.
However, I'd be inclined to stick with the Waypoint solution. The reason being, if the directions ever fail to map "properly" (i.e. north matches west, for instance), then the reverse path you build will be invalid. It's my experience that walking random paths on a mud is not the safest thing to do. |
|
|
|
Theragil Apprentice
Joined: 13 Feb 2004 Posts: 157 Location: USA
|
Posted: Sun Sep 11, 2005 9:40 pm |
Oh yeah, oops, forgot to put the reverse-direction thing in there. I agree the waypoint approach is much preferable... just provided the other one for completeness. Or that was the idea but it seems I left a key step out!
|
|
|
|
karamin Newbie
Joined: 08 Sep 2005 Posts: 4
|
Posted: Thu Sep 15, 2005 9:29 pm |
Thanks I will learn more about the auto mapper :)
And I can get the HuntingSteps function to work I will post it here! |
|
|
|
sheetan Beginner
Joined: 07 May 2007 Posts: 19
|
Posted: Fri Jun 22, 2007 12:36 pm |
Hi,
i know this forum is old...but i have a question similar to that posted here!...
Say i am following someone in the game, the syntax is: You follow your leader (%w).
I am trying to find out if there is a way where I can reverse the path after being done using a simple command....and another question is if i can add directions. Example: You follow your leader cave.
Since zMUD does not consider cave a normal direction, i want to know if there is a way where i can make the reverse path for "cave" to be "out", for example.
Thanks in advance |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Sat Jun 23, 2007 4:18 am |
You can do that, but it's not very practical or useful since there's not really any sort of standard when it comes to non-standard exits. Even in the same game (or worse, in the same area of the same game), the reverse of "cave" doesn't necessarily have to be "out". It really depends on what the area builder decided to use the moment it was created and what the QC people did to it if it needed to be changed (which is further dependant on the mood of the QC people).
To add a direction, use the #DIRECTION command.
#DIRECTION f|v {commands}
f = letter representing the forward-moving direction (cave)
v = letter defined for the f of the reverse direction command
commands = zscript functions and game commands to execute, can be as complex as you know how to make it (%prompt(), %pick(), practically any %function() or @function() will work, but like a function you can't use #commands in it)
Now, as far as "commands" goes, in the GUI there's a character limit. I'm not sure if this limit also applies to the zscript code equivalent, so you may want to just define the direction to simply call an alias or function and then build the alias or function with the meat of the code you wanted to put into the direction. |
|
_________________ EDIT: I didn't like my old signature |
|
|
|
Arminas Wizard
Joined: 11 Jul 2002 Posts: 1265 Location: USA
|
Posted: Sat Jun 23, 2007 1:30 pm |
Or, how about creating a room script trigger?
Then when you follow who/what ever cave the trigger for that room will fire and #move you out? |
|
_________________ Arminas, The Invisible horseman
Windows 7 Pro 32 bit
AMD 64 X2 2.51 Dual Core, 2 GB of Ram |
|
|
|
sheetan Beginner
Joined: 07 May 2007 Posts: 19
|
Posted: Sun Jun 24, 2007 6:04 am |
Yeah, it works..but my main question was to actually make this script!...the one where I "backtrack" all my steps to reach the room where I started
|
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Mon Jun 25, 2007 10:28 am |
Once zMUD understands what the reverse of cave is as Matt described, or can get out another way, you can just do something like this:
#var DirList ""
#trig {You follow your leader (%w)} {#additem DirList ""}
#alias BackMove {#if (%reversedir(%item(@DirList,1))) {#exec %reversedir(%pop(@DirList))} {#say I don't know how to move the reverse of %pop(@DirList)!}} |
|
|
|
sheetan Beginner
Joined: 07 May 2007 Posts: 19
|
Posted: Tue Jun 26, 2007 9:55 am |
It didn't work...even if the Directions were normal, it would tell me "I don't know how to move the reverse of !"
|
|
|
|
sheetan Beginner
Joined: 07 May 2007 Posts: 19
|
Posted: Wed Jun 27, 2007 3:54 pm |
and shouldn't the %pop(@Dirlist) be %pop(Dirlist)
|
|
|
|
Arminas Wizard
Joined: 11 Jul 2002 Posts: 1265 Location: USA
|
Posted: Wed Jun 27, 2007 4:16 pm |
Yes it should %pop
|
|
_________________ Arminas, The Invisible horseman
Windows 7 Pro 32 bit
AMD 64 X2 2.51 Dual Core, 2 GB of Ram |
|
|
|
|
|