Welcome to the Great Kaldonis Mapping Guide courtesy of Beacon Hall Archive!

[The original example was mapping Frebble's shop to its outside room and vice versa. That map database has since been reverted, so ignore the new room numbers that were added except for the purposes they serve -- as examples.]

Right so, someone tries ;repo checkout-mapdb

;repo checkout-mapdb --password=SECRET
--- Lich: repository active.
[repository: password saved for author Frebble]
[repository: success;  running download-mapdb now...]
[repository: map database is up-to-date]
[repository: done]
[repository: edit your map database and     ;repository upload-mapdb     within 12 hours.]

So now you need to

;e echo Room.current_or_new

That's going to make a new room, with a new number."

These will give you room number:

;whereami
;rnum

So YOU should be able to do

;e echo Room.current.

[The new number is 29384.]

Kaldonis taps a small bamboo hut with a palm frond roof.

Kaldonis says, "It's a SMALL HUT."

So now:

;e Room['10877'].wayto['29384'] = "go hut"

And then:

;e Room['10877'].timeto['29384'] = 0.2 

If it doesn't barf Frebble should be able to ;go2 29384.

[;go2 29384 now works from outside the new room]

Now, let's make sure we can get out!

So now

;e Room['29384'].wayto['10877'] = "go out"

And then

;e Room['29384'].timeto['10877'] = 0.2

[;go2 10877 now works from inside the new room]

We are not done. Okay so..

;e Room['29384'].tags.push('frebble')

Then try

;go2 town
;go2 frebble

Go ahead and run ;exec Map.save please.

In the instance that your computer crashed, or you logged out in a funny way, we could recover your work. Please note ;e is actually ;execute but no one ever fully enters that.

[we do Fyrentennimar's shop using the same principles.]

We need to now link his other two rooms to this one. However, we don't need to tag them up.

This step is a bit easier because it is just east/west kind of thing ... so we don't have to bother like "which hut is it".

;e Room['29385'].wayto['29387'] = "go northwest" 
;e Room['29385'].timeto['29387'] = 0.2  
;e Room['29387'].wayto['29385'] = "go southeast" 
;e Room['29387'].timeto['29385'] = 0.2  

The idea of timeto is "how long" measured in seconds. 0.2 or 0.3 is standard for standard movements. It becomes relevant when you can get places multiple ways and there sometimes things get complicated.

Once that's done okay please run us around and convince yourself that you haven't broken anything!

To save your changes!

;repo upload-mapdb.
;repository upload-mapdb
--- Lich: repository active.
[repository: saving map database...]
[repository: compressing map database...]
[repository: uploading map database...]

Further references can be found at http://forum.gsplayers.com/showthread.php?57828-lrn2map