|
Moo Apprentice
Joined: 10 Apr 2009 Posts: 145
|
Posted: Thu Sep 02, 2010 7:22 pm
Shared maps |
Zugg wrote: |
You'll need to use the 3.x Beta version of CMUD for sharing maps. It has support for putting the map database in a shared package and then having a separate "location" within each session and having both location dots displayed on the same map. The 2.x version does not support map sharing. If you have more questions on the Beta version, post to the Beta forum. |
I am using 3.x... I was using 3.22 when I wrote my original post, and am now using 3.24. I haven't tested very much to see if the problem still happens.
I had tried to add the map to a shared package, but I couldn't find a way. Opening a map seems to add the map to the session package itself, and I couldn't find a way to change which package it belonged to after. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Thu Sep 02, 2010 8:47 pm |
In the Package Editor, use File/New to create a new package. Then drag the Map Object from your session window and drop it onto the new package tab. That will move it to the Shared Package.
The new package will automatically be added to the list of packages to load for your session. However, you'll still need to add this package to any other sessions you want to share it. From the Session window, select the other session icon, the Edit Settings and go to the Files/Packages tab and click the + button to add the new package to the session.
When both sessions are open, you can use the View/Locations menu to view your location objects in each window. Make sure each session window points to the proper map database object. If a session doesn't have a location object yet, use the #LOCATION command to create one. Give each window a different color for the location "dot" so you can tell which is which on the map. |
|
|
|
Moo Apprentice
Joined: 10 Apr 2009 Posts: 145
|
Posted: Thu Sep 02, 2010 10:02 pm |
Zugg wrote: |
Then drag the Map Object from your session window and drop it onto the new package tab. That will move it to the Shared Package. |
Aha! That was one thing I didn't try. Thanks, I'll try this.
I'm guessing the way I was doing it before, having the same map loaded in both sessions, isn't really supported? |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Sep 03, 2010 4:52 pm |
You can still do that, but then each session will have it's own separate map window and if both map windows are trying to write to the same map database, there will be conflict problems. Nothing I can do to make that work.
|
|
|
|
Moo Apprentice
Joined: 10 Apr 2009 Posts: 145
|
Posted: Fri Sep 03, 2010 4:57 pm |
Interesting.. They didn't though, they shared the same map window.. Both sessions would move correctly in the same window and everything, it was just the zone/room scripts that weren't right.
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Sep 03, 2010 5:17 pm |
That's because the zone/room scripts are stored within your session now using the Map database object as the "class folder" for the scripts. So each session would have it's own scripts. Moving in one session would not execute any room scripts stored in the other session. You'd need to duplicate the scripts, or move the RoomXXX and ZoneXXX scripts out of the Map object and into a shared module.
|
|
|
|
Moo Apprentice
Joined: 10 Apr 2009 Posts: 145
|
Posted: Sat Sep 04, 2010 9:11 pm |
But it did enable and disable the room/zone scripts in the other session, firing the respective enable scripts too.
The problem I was having wasn't that scripts belonging to the other session weren't firing, that would have been fine. It was that depending on the order I loaded the sessions in, scripts in the "current" session weren't firing.
Anyway, it all seems ok so far using a shared package with the map instead. |
|
|
|
|
|