A long time ago I started working on something for buildings. The synopsys is: You would add a few new arches: a ZONE arch, a special EXIT arch and BLUEPRINT arch. Map makers would add zone arches (a subtype of altars) to the maps to designate where homes could be built, players would go to a store and buy a blueprint for a house (different house types naturally), and when they stood on the zone and applied the bluprint, two things would happen - first a special unique exit would be created which was not a traditional unique exit, but a unique object that was an exit* This would mean that as a unique object, it would be saved on the map it was placed on. This exit would point to a newly created map in <cfserver>/var/crossfire/maps The second thing of course was that a map of the proper type would be created in <cfserver>/var/crossfire/maps. These maps would be like guild maps in that they would have unique areas but would be sharable (you could invite other player in). The player would have a deed to the property which activated most of the gateways and inventory checkers giving them access to all the rooms of the house, while guests would only be allowed into the main rooms. Variations on this theme would allow new guilds to be built and even churches for the religious folk. That's the basic gist of things - there was some idea of having different zones allowing different buildings or having four joined zones allowing bigger building to be created. Here are examples of the arches: #define ALTAR_BUILDING 1 /*subtype of ALTAR*/ zone.arc: Object zone name lotforsale type 18 subtype 1 face goldmat.111 color_fg brown no_pick 1 editable 2 visibility 100 end #define BUILDING_BLUEPRINT 129 bprint_house.arc: Object bprint_house name house blueprint face bprint.111 race scrolls nrof 1 type 129 material 0 value 34 weight 350 editable 128 magicmap white name_pl blueprints client_type 1041 end #define EXIT_BUILDING 1 /*subtype of EXIT*/ b_house.arc: Object b_house type 66 subtype 1 face house_3.111 color_fg brown no_pick 1 editable 2 unique 1 visibility 100 end * I changed enter_exit in main.c so exit subtype 1 (EXIT_BUILDING) did not automatically make an exit to a unique map, but was a unique object which happened to be an exit. else if (exit_ob->subtype != EXIT_BUILDING && QUERY_FLAG(exit_ob, FLAG_UNIQUE)) { enter_unique_map(op, exit_ob); I didn't get very far with it but I have a few house templates and there are probably a lot of over optimistic postings in the archives about it. On Wed, 2005-21-09 at 18:31 -0600, Alex Schultz wrote: > Nicolas Weeger wrote: > > >Hello. > > > >Your ideas about building on land sound fun, let's hope we can > >do something on that effect :) > > > >Just a note: if you intend to have land building be part of > >game, imo do it totally part of the server code, or do it > >totally through Python (or a separate plugin, for that > >matter). Remember Python is *optional*, we wouldn't want > >someone to have part of building (since in server core) but > >not some important part (in plugin) ^_- > > > >Ryo > > > True, but in any case though, I'll be starting on the changes that that > are useful for things other than the plots first, and those will be > written in C, and whether the plot-specific parts are written in python > on not, they will depend on the nice general changes (i.e. 'global > unique' maps). So in other words, it will probably a be a while till I > get to that stage anyways. Anyways, Now that I think about it, making > the parts that are specific to the land plots as a separate plugin might > be a good idea. > > Hmm.. really a even simpler way to think about 'global unique' maps then > my original explanation is as (optionally permanent) maps created from > templates. And when applying unique or 'global unique' maps to the > random map generator, it just makes the random map generator the > template for the unique/'global unique' map. > > Alex Schultz > > _______________________________________________ > crossfire mailing list > crossfire at metalforge.org > http://mailman.metalforge.org/mailman/listinfo/crossfire -- Todd Mitchell < temitchell at sympatico.ca >