|
oxseyn Wanderer
Joined: 26 Nov 2011 Posts: 71 Location: Colorado Springs
|
Posted: Sat Nov 26, 2011 9:23 pm
Noobie Map Question |
Hello All,
Just purchased the newest version of cmud last night. Moving over from tintin++. Couple basic questions about mapping.
I play multiple session simultaneously on the same mud.
Some characters have access to some rooms that others do not. Also, different characters have access to different "teleportation" commands which can be used to move them to different places throughout the mud.
Based on this, can I create a single map, that is simultaneously used and shard by all these open sessions? If so, how can I restrict certain rooms so that only certain characters have access to move through them - and how can I impliment these class based teleportation commands so that they can be integrated for specific characters into their speedwalking? |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4691 Location: Pensacola, FL, USA
|
Posted: Sun Nov 27, 2011 1:20 am |
yes you should be able to... i forget the specifis of how to make a super layout
but i think you need to make a seperate session for each character
then a super session to hold the map and connected chars
I'm sure there are better instructions on multi-session layouts if you search the forum |
|
_________________ Discord: Shalimarwildcat |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Mon Nov 28, 2011 3:02 pm |
I don't recall exactly how to do the multiple sessions, but you might be able to find it in the archives. I believe it will involve all of the sessions using a single map module in a shared package.
The way I would implement the teleportation part is this. Create aliases within the shared map package for all of the teleportation commands. Each alias will do two things. First, it will test the value of a specific variable. Then, if the variable tests correctly, it will send the appropriate command to the mud and move the Location object on the map. The point here is that the aliases will be defined in a shared module, so they can be used by any character, but will only do something depending on the value of a variable defined within each specific session. Thus, if there is an alias open to guildA, then every character in guildA should have a variable indicating they are in guildA and the alias will test that variable.
There are multiple ways of implementing that. You could use a different variable for each alias, and if the value of the variable is 1 then the alias works. Or each character could have a stringlist variable named Guilds, which contains a stringlist of values like {guildA|guildD|quildZ}; if the stringlist contains the correct value, the alias works. And there are other possibilities. |
|
|
|
|
|
|
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
|
|