Re: [Circle] Boat Spec_proc

From: James Rutledge (jwrutl0@sac.uky.edu)
Date: 07/28/96


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