Just a thought, but I would implement this by not bothering with
an object at all. Have a dock room spec_proc that handles
boarding/offloading (char_from_room() / char_to_room() to you)
into a boat (which is a room to you). The boat "room" keeps track
of where it is along a specific course, and links the exits
accordingly.
-james-
On Sun, 28 Jul 1996 linebacker@microlink.net wrote:
> Here is what I have done so far.
>
> Created an object with a special procedure,
> the ship.
>
> When A player types 'board ship' they are transfereed
> to the ship room. This all works fine.
>
> Then I have the room where the ship loads into, the dock
> and I am trying to make a spec_procs for this, but am
> failing miserably.
>
> Here is what the spec_procs is so far, (just the bare bones)
> I just want it to load and unload the ship at specific times.
>
>
> SPECIAL(moonshadow_dock)
> {
> struct obj_data *ship;
> int ship_num = 10039, dock_num = 2110, docked = 0;
> char *fname(char *namelist);
>
> while ((docked == 0) && (time_info.hours == 14)) {
> ship = read_object(ship_num, VIRTUAL);
> obj_to_room(ship, real_room(dock_num));
> docked = 1;
> }
>
> while ((docked == 1) && (time_info.hours == 15)) {
> obj_from_room(ship);
> act("The Moonshadow has left port and headed down river.\r\n", FALSE, ch, 0, 0, TO_ROOM);
> docked = 0;
> }
>
> return 0;
> }
>
> Now, as is, it will continue to load ships into the room until time is
> 3:00. Then the mud crashes because of what I am assuming is a warning I
> get when I compile that ship might be used unitialized.
>
> How can I make this so that at time == 14, it will only load one ship and
> then at time == 16 it will extract the ship? Also, how can I intialize ship
> in the second part of the procedure?
>
> Or maybe, am I going about this all wrong?
>
> Once the players are at the ship room, another procedure there will send them
> messages and eventually transfer them off the ship to the new dock. The only way
> a player can get on the ship is to be present when the ship is in dock and type
> 'board ship'. Also, the ship is going to be several rooms, is there a way to
> send messages to the zone such as act or send_to_char?
>
> Thanks, Chuck
>
> +-----------------------------------------------------------+
> | Ensure that you have read the CircleMUD Mailing List FAQ: |
> | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
> +-----------------------------------------------------------+
>
+-----------------------------------------------------------+
| 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/07/00 PST