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 scripts will give you room numbers:
;whereami ;rnum
So YOU, the mapper, should now 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."
Kaldonis has indicated the keyword is a hut. If there were other huts in the room, one might use GO SMALL HUT. But we can be lazy and just:
;e Room['10877'].wayto['29384'] = "go hut"
And then:
;e Room['10877'].timeto['29384'] = 0.2
If it doesn't barf, YOU, the mapper, 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 turn our attention to Fyrentennimar's shop using the same principles, but it is a multi-room shop, so a bit more complicated to fully map.]
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," and give specific keywords like SMALL HUT in the case of multiple huts.
;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