What if you wanted to make it so that the player could command the ship around, and different ships could fight with eachother? At 12:05 PM 11/10/96 -0600, you wrote: >>This is how I did ships, it may not be the best way, but >>it works and is flexible. >> >>First: >> >>Create a room spec_proc that loads an object at certain time. >>(this will be the ship while it is in port) >> >>The same object that is created above needs a spec_proc that >>will somewhow transfer the player to the ship (which is just >>a zone that has no entrance) >> >>This way, a player can only get to the ship if the object >>is loaded in the room (the ship) and they enter the right >>commnad (mine is 'board ship') >> >>Now, the room spec_procs needs to unload the object at a certain >>time (I leave mine in port for two hrs) >> >>Second: >> >>Code the zone for the ship and do whatever you want with it. >> >>I create a mob called the skipper that does various shouts >>and duties while the ship is 'in motion' (that is when there >>is no dock loaded) >> >>Here is where I had some probs, so I will list both methods of >>how I unloaded the ship. >> >>met1: Have a room on the ship load an object called let's say, >>the port of waterdeep, and theplayer will see when the enter >>that room of the ship, "A gangplank stretches out to the dock >>of Waterdeep" or whatever, then have the player type 'cross >>dock' or whatever. (this is in the object spec_proc) and then >>transfer the player to the appropriate room in the game. >> >>met2: When a certain time is reached, have the zone transfer >>allplayers to the port room and send them some kind of emote, >>like, The dock reaches Waterdeep and the crew hutslte you off >>the ship. This way is limited because a ship can only have >>one destnnation. >> >>So all you need to do is corrdinate where and when the ship >>needs to be loaded and unloaded. Have a room spec_proc at >>each of the rooms do this, and thus it simulates the moving >>of the ship. Players can stay on board for as long as they >>like, but can only get off when a 'gangplank to a dock' is >>loaded into the room you board the ship from. >>(if using met2 from above) >> >>Basically all you have is the following: >> >>The ship zone >>A room spec_proc for each port that needs a ship loaded and unload to >>A room spec_proc for the room on the ship that loads the 'exit' >>A skipper spec_proc (just for roleplaying purposes) >>The following objects; >>The Ship (this is what each port room will load, it will have an obj spec_proc) >>Each dock/plank/ whatever (this will also have an obj spec_proc) >> >>This all a big illusion, theplayer thinks they are 'riding' on a ship >> >>Here is what really happens: >> >>PLayer enters a room with the ship loaded. >>player types <board ship> >>player is transfered to the ship zone >>....time passes >>Captain shouts, approaching Waterdeep..... >>....The waterdeep dock is loaded into the ship >>player types <cross dock> >>Player is transfered to the Waterdeep port (where the ship is also >>loaded in case they wanna get right back on) >>....time passes >>Ship is extracted from the port >> >>It is just a big schedule of obj_to_rooms, messages, obj_from_rooms >>and etc.. >> >>I hope this makes sense, I am working on very little sleep. >> >>Almost all the code used in this entire thing can be piece together >>from stock circle funtions. The hardest part of this is the obj_spec_proc >>that looks for an argument from the player (board ship) and then >>transfer to the ship zone. If you need help with this part, mail me and I >>will help. >> >>Chuck >> >> >> >> >> >> >> >> >> >> >> >> >>+-----------------------------------------------------------+ >>| Ensure that you have read the CircleMUD Mailing List FAQ: | >>| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | >>+-----------------------------------------------------------+ >> >> > Nick B nick@connecti.com +-----------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | +-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST