Todd Mitchell wrote: > > Players will purchase a housing blueprint representing a certain type of > building (there will of course have to be an arch for each type of > building availabe to be built containing the building information, the > type of structure, the exit arch, a description, the price, the zone...) > for an awful lot of money. Players will take the blueprint to the zoned > tile they want to build on and activate it - it will turn into a > building arch (unique) of the appropriate type, a set of maps will be > created from templates in > /var/crossfire/maps/buildings/<playername>/<building_type>/. If you end up using a non standard map path, more work would need to be done. The current code has specific rules for how it determines the path to map files - I'll comment more on that below. > > Now as far as i am told if I create a building arch (name bob's house, > slaying /buildings/bob/house/house), set this building arch on the map > and flag it unique it will stay there...written to unique-items. The > whole thing hinges on being able to do this. So I hope it's true or that > garbled will make something work for me here if it isn't. if an exit to a map is marked as unique, that creates a _per player_ unique map. What does that mean? It means that the player the created the building can enter and leave it just fine. But no one else could. The permanent apartments in scorn are an example of this. Each player has his own unique instance. If a player quits the game (eg, retires character), the unique maps he owns are removed. This works for those because the logic is like this: 1) See if we have a copy of that map in the players save directory, if so, use it. 2) IF not, look at the exit path, and use that as the template. Now the way you describe it, you'd either get that behavior above (where once a deed is bought, everyone has a building there), or the behaviour where the player who bought it can enter, but no one else could (because the name is mangled so that it can't do #2 above). Now the way the existing guild houses work is all the spaces within the guild have unique set. This causes those maps to be available to everyone, yet the objects persist. I think any way you go, some updated logic to the exit code would be needed - simply because the you couldn't really use that same unique item trick - that actually causes objects to be merged from the original map to those that are on the space. You can't really do this, because the of naming issues. Eg, if your template is 'castle', then once someone has bought that, the naming convention would be such that anyone else that bought a castle would get similiar name mangling. That said, my suggestions: 1) Find some flag or something in the exit object to denote this is a unique map, but not a per player unique map. One could perhaps do something like store the player name in the exit path (eg, slaying /buildings/mark/castle). 2) If those maps are supposed to disappear when a player quits/retires, it should be stored in the players save directory, instead of creating yet another directory that is tied to the player name. _______________________________________________ crossfire-devel mailing list crossfire-devel at lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel