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

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD General Discussion
mutujacysnotling
Newbie


Joined: 30 Aug 2017
Posts: 1

PostPosted: Wed Aug 30, 2017 3:27 am   

Mapper, #makeroom command in direction where another room already exists
 
Hi there!
I have a problem that i can't resolve.

I'm creating dynamic map for maze in MUD that i play (every time when you enter the maze there is new layout for locations).
Every location (there is something like 20 locations) got their unique description, so i'm using #trigger with desc pattern for making map.

On the entrance i'm setting in my database variable called @mazelocations value for keys equal 0

and for the locations triggers i got something like this (for eg.):

content for LOCATIONS TRIGGERS:
#sh {}
#sh {%ansi(15) >> %ansi(yellow)LOC01}
#sh {}
#if (%db(mazelocations,loc01)=0) {makemazedir;#addkey mazelocations {loc01=%roomvnum}} {#var mazelastroom {%roomvnum};#te {%db(mazelocations,loc01)};makemazelink}

content for MAKEMAZEDIR alias (making rooms in chosen direction):
#call %maplocked(0)
#MAKE @step
#MO @step
#call %maplocked(1)

content for MAKEMAZELINK alias (making links for existing mapper locations)
#call %maplocked(0)
#call {%roomlink(@mazelastroom,@step,%roomvnum)}
#call %maplocked(1)

where @step variable is direction that i'm going

and it's working very well... but sometimes the layout for locations is so annoying that i need to create room in direction where different room already exists

so my question is: what can i do with that without using a mouse, just with using commands like above?

i was thinking that maybe there is some possibility for checking if another room exists in that specific direction (don't know the command), and if its true create room above existing (without overlaying each other!), or with different link lenght, or with bended link, or ... something else?


Pls help, i'm loosing too much hair from my head for that :)
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 3484
Location: Pensacola, FL, USA

PostPosted: Wed Aug 30, 2017 6:29 pm   
 
Unfortunately, the mapper automatically makes thing adjacent.
If you are dealing with overlapping rooms from a poorly coded layout or random generation, the mouse is simply required to make things look neat on the screen.

However, there is a way to tell if a given direction already has a room attached to it:

#SAY %roomlink(,w)

It returns the %roomnum.
_________________
Windows 10 Home Premium 64-bit
AMD Phenom II x6 1055T 2.8GHz 16GB
CMUD Pro v3.34
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD 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