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
Brujah
Wanderer


Joined: 13 Nov 2002
Posts: 88
Location: USA

PostPosted: Mon Jun 30, 2003 9:16 am   

How to make zmud recognize and then ignore
 
I am botting to kill krakens. now there are two types of krakens, one i can kill and one which will tool me. they have the exact same message "*A prehistoric lake kraken is here, raising its head above the lake's gentle waters." Now my bot, as it is, scans around then moves to the mob. when i 'consider' the higher level one i get the message "A prehistoric kraken is built like a fortress!" and the lower one gives "A prehistoric kraken looks weaken than you."
now i have my bot scanning and moving to the first kraken it finds.

#TR {^A prehistoric kraken is right here to the %1.} {%1;consider kraken}

the problem i run into is when its a big kraken and i want my bot to move on, i can restart the bot but it just keeps going back to the same kraken. ive thought about maybe making something like this

#VAR {kraken} {buff}
#TR {A prehistoric kraken is built like a fortress} {@dir;@dir;@dir;@dir;@dir;@dir}
#TR {A prehistoric kraken looks weaker than you} {kill kraken;#VAR Kraken 0}
#TR {A prehistoric lake kraken is here, raising its head above the lake's gentle waters.} {consider kraken}

but this is very sloppy and can put me over the boundaries i set for my bot as well as wind up taking me right back to the same kraken. I was hoping one of you gurus would be able to explain to me how i can make maybe a variable to ignore a kraken

A prehistoric kraken is right here to the east. then to move east and if it is a large kraken to ignore it? the only way i can see this happening is maybe by automapping the whole area, then to have a trigger set the room number into a list of variables to be ignored when scanning for krakens. this would change my whole bot system and i have no clue how to use the automapper features or to make movement triggers with it. i hope someone can help me. i will provide whatever information you need if ive left any out.
Thanks
Brujah

but how could i do that to ignore the
Reply with quote
megamog75
Enchanter


Joined: 20 Nov 2002
Posts: 627
Location: USA

PostPosted: Tue Jul 01, 2003 12:35 am   
 
Have you tried removing the direction from the string list when it finds a larg kraken? I did not see you whole code here and i think you should just remove that directioin from the string list when scaning
example

scan east
you see a kraken
go east
a kraken is here
exits north east west
consider kracken
it will kick you butt
go east
nothing here
exits north east west south
scan north
scan east
scan south
etc.....
use the %remove or something to take out the opposite direction, so you won't emediatly go back.
Reply with quote
Brujah
Wanderer


Joined: 13 Nov 2002
Posts: 88
Location: USA

PostPosted: Tue Jul 01, 2003 12:54 am   
 
im sorry, i dont quit understand how that would work. let me post an example room/scan and show you my movement script.

ROOM

Ayara Lake NW N NE
(-------------------------------------------------) W <---(M)---> E
SW S SE

~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~@~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~


SCAN

You don't see anything to the north.
A harmless signet is not far off to the east.
You don't see anything to the south.
You don't see anything to the west.
You don't see anything to the northwest.
You don't see anything to the northeast.
You don't see anything to the southwest.
A prehistoric kraken is a brief walk away to the southeast.

This is my script to move upon an unsuccessful scan.
#var dir %if( @dir = "east", "west", %if( @dir = "west", "east", %if( @dir = "north", "south", "north")))
Reply with quote
Brujah
Wanderer


Joined: 13 Nov 2002
Posts: 88
Location: USA

PostPosted: Tue Jul 01, 2003 1:32 am   
 
http://www.davids-sanctuary.com/brujah.mud

that is a copy of my current file that im working on. i dont know how to express class folders and such via #scripting so i just uploaded it there.
Reply with quote
Brujah
Wanderer


Joined: 13 Nov 2002
Posts: 88
Location: USA

PostPosted: Tue Jul 01, 2003 1:34 am   
 
http://www.davids-sanctuary.com/brujah.mud

that is a copy of my current file that im working on. i dont know how to express class folders and such via #scripting so i just uploaded it there.
Reply with quote
Brujah
Wanderer


Joined: 13 Nov 2002
Posts: 88
Location: USA

PostPosted: Tue Jul 01, 2003 7:10 am   
 
ok... i was thinking maybe something like this. tell me if this is possible.

#VAR krakendir east
#TR {A prehistoric kraken is right here to the %1.} {%1;con kraken;#T- Scan;#VAR krakendir %1}
#TR {A prehistoric kraken is built like a fortress} {#T+ scan;(#IGNORE %1(#IF %1=@KRAKENDIR));scan;say Zeroing in on next kill!}

just a thought, i know it needs tweaking from a smarter man than me.
Reply with quote
Brujah
Wanderer


Joined: 13 Nov 2002
Posts: 88
Location: USA

PostPosted: Tue Jul 01, 2003 11:12 pm   
 
Ive been playing with that idea.... what do yall think about this?

#VAR buffkraken 0
#VAR krakendir east
#TR {a prehistoric kraken has been slain} {#VAR buffkraken 0}
#TR {A prehistoric kraken is right here to the %1.} {%1;con kraken;#T- Scan}
#TR {A prehistoric kraken is built like a fortress} {#T+ scan;(#IGNORE @krakendir #IF @buffkraken=1));scan;say Zeroing in on next kill!}
Reply with quote
megamog75
Enchanter


Joined: 20 Nov 2002
Posts: 627
Location: USA

PostPosted: Wed Jul 02, 2003 12:30 am   
 
this #ignore is not somthing i am formilure with but after reading the help file I am not sure you would want to do this.

All i was tring to say was maybe you should just try removing that piticular direction from that possible scans.

Once you find a kracken and it is built like the fortress,scan new way to go, do not use the trigger "the kracken is right in front of you. move on and when you move like say "east" you would now scan but just not west, wich is the direction you just came from.

maybe:

#trigger {the kracken will kick your butt} {starting to look for weaker pray;#t- whateverclass;#forall @dir {scan %i};#if @foundkraken=0 {#t+ krfound;#send %random(@dir,1,10)}}

#class {krfound}
#trigger {you go (%w)} {#var notscan %1;scan}
#trigger {A prehistoric kraken is a brief walk away to the (%w)} {#if "%1"=@notscan {;#send %random(@dir,1,10)} {kill kraken;#VAR Kraken 0;#t- krfound}
#class 0

or something like that
Reply with quote
Brujah
Wanderer


Joined: 13 Nov 2002
Posts: 88
Location: USA

PostPosted: Wed Jul 02, 2003 3:00 am   
 
the problem with doing something like that, is that it has the possibility to send me over my border so the bot is running back and forth between two rooms.
Reply with quote
Brujah
Wanderer


Joined: 13 Nov 2002
Posts: 88
Location: USA

PostPosted: Thu Jul 03, 2003 8:17 am   
 
just posting to get this moved up on the list again. maybe a guru will help me.

I'm afraid I let the Gurus handle in depth scripting questions like this.
Since I spend all of my time working on zMUD and other products, I don't
have much time to play MUDs anymore, so the Gurus actually know more about
using zMUD than I do most of the time. It looks like you've already gotten
some response. If it still doesn't answer your question, then bump the
topic or ask again.

In general, I post in the Beta forum when debugging new versions of zMUD and
let the Gurus take care of the General forum...that's what the Gurus are
there for. Given that I already answer about a hundred emails per day, if I
also answered every forum question personally then I'd never have any time
to work on zMUD.

Zugg
Reply with quote
LightBulb
MASTER


Joined: 28 Nov 2000
Posts: 4817
Location: USA

PostPosted: Thu Jul 03, 2003 3:38 pm   
 
Instead of wandering around at random, create a specific route to walk through your area and stay inside your borders. As you encounter krakens, consider them, and fight the ones you want while ignoring the others.

There is no simple solution that will let you use scan, while NOT returning to a particular room, WITHOUT using a map, and WITHOUT straying over your (undefined) borders, whatever they might be.
Reply with quote
Brujah
Wanderer


Joined: 13 Nov 2002
Posts: 88
Location: USA

PostPosted: Fri Jul 04, 2003 1:42 am   
 
are you sure? what about this?

#CLASS {eastwest} (not sure how to script it, but IN that class puttingthis)
#TR {a prehistoric kraken is right here to the west} {west;con kraken};#TR {a prehistoric kraken is right here to the east} {east;con kraken};#TR {a prehistoric kraken is close by to the west} {west;west;con kraken}:#TR {a prehistoric kraken is close by to the east} {east;east;con kraken};#TR {a prehistoric kraken is not far off to the west} {w;w;w;con kraken};#TR {A prehistoric kraken is not far off to the east} {e;e;e;con kraken};#TR
Reply with quote
Brujah
Wanderer


Joined: 13 Nov 2002
Posts: 88
Location: USA

PostPosted: Fri Jul 04, 2003 1:45 am   
 
are you sure? what about this?

#CLASS {eastwest} (not sure how to script it, but IN that class puttingthis)
#TR {a prehistoric kraken is right here to the west} {west;con kraken};#TR {a prehistoric kraken is right here to the east} {east;con kraken};#TR {a prehistoric kraken is close by to the west} {west;west;con kraken}:#TR {a prehistoric kraken is close by to the east} {east;east;con kraken};#TR {a prehistoric kraken is not far off to the west} {w;w;w;con kraken};#TR {A prehistoric kraken is not far off to the east} {e;e;e;con kraken};#TR {a prehistoric kraken is a brief walk away to the west} {w;w;w;w;con kraken};#TR {a prehistoric kraken is a brief walk away to the east} {e;e;e;e;con kraken}
#TR {a prehistoric kraken is built like a fortress} {#T- eastwest;start}
#TR {a prehistoric kraken looks weaker than you} {#T+ eastwest;kill kraken}

then in the normal Scan class folder, have the other directions mapped out similarly. ?
Reply with quote
Brujah
Wanderer


Joined: 13 Nov 2002
Posts: 88
Location: USA

PostPosted: Fri Jul 04, 2003 2:36 am   
 
Ok. ive tried this theory and the problem i am now running into, is if there is a buff kraken in one room, then one in the room juxtaposed. it keeps looping back between the two krakens. any ideas?
Reply with quote
tbone235
Apprentice


Joined: 02 Nov 2002
Posts: 107
Location: Australia

PostPosted: Fri Jul 04, 2003 8:17 am   
 
Do it lightbulb's way, that is really the most effective way of making this script. There are just too many variables doing it your way. Otherwise as Lightbulb said also, create youself a map of that area then you will be able to do it. But with no actual way of keeping a track of what rooms you have been to you can't get a system that will not eventually go back and forth between a few rooms.
Reply with quote
Brujah
Wanderer


Joined: 13 Nov 2002
Posts: 88
Location: USA

PostPosted: Fri Jul 04, 2003 9:47 am   
 
i have no clue how to script a bot to move for the automapper. ive never used the mapping feature. i would be much indebted if someone could list the basic commands i would need. IE, lets say i have a map of an area that is 10 rooms by 10 rooms. what # command would start? how would it move? etc...
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