> 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);
^^^
What is ship?? Where are you getting this info? the
while is calling it.. but ship will never be assigned because it is
inside the other while loop
> act("The Moonshadow has left port and headed down river.\r\n", FALSE, ch, 0, 0, TO_ROOM);
> docked = 0;
> }
>
> return 0;
> }
>
Chuck did you ever get this to work?
I am tring to do something similar and ran across your mail message
in my archives. Except I loading and unloading the "ship" in
weather.c I can call it from the time stuff there... However I am
having crash problems with the "departure of the ship". It will
crash because it's not sure where the mob is. (At least as far as I
can tell) it tries to char_from_room an unknown mob (which I think
may be the same problem you are having... (see above)
My code is below:
void shipdocking(void)
{
struct char_data *victim;
int r_num;
r_num =real_mobile(18203);
victim = read_mobile(r_num, REAL);
char_to_room(victim, real_room(18295));
act("The Ship of Fools docks with a hearty thump.", FALSE, victim, 0, 0, TO_ROOM);
act("The captain walks down the gangplank and is ready to start boarding passengers.", FALSE, victim, 0, 0, TO_ROOM);
}
void shipleaving(void)
{
struct char_data *victim;
int r_num;
r_num = real_mobile(18203);
victim = read_mobile(r_num, REAL);
act("The captain boards the ship and barks the orders to depart. ", FALSE, victim, 0, 0, TO_ROOM);
act("The Ship of Fools raises her sails and slowly departs the harbor.", FALSE, victim, 0, 0, TO_ROOM);
extract_char(victim);
^^^^ It can't find vicitm :(
}
I define it in the start of weather.c
void shipdocking (void);
void shipleaving(void);
then at the times it is supposed to trigger I just call the function:
case 6:
shipdocking();.
case 7:
shipleaving();
Shipdocking works... shipleaving does not...
Any ideas what i am doing wrong anyone?? I tried adding:
find_target_room(victim, victim); but that doesn't work either...
as far as I can tell it is not finding the victim.
-Peace
Argus
http://www.argy.com
telnet: eclipse.argy.com 7777
+-----------------------------------------------------------+
| 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