So far, i've only found ONE bug. If you've noticed that after initiating a copyover, you can no longer do a where <charactername> and be able to find that character. of course, they DO show up on where (occasionally) the fix i did for this, was to do this ******************************************* file function where abouts &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& comm.c N/A with other externs ---------------------------------------------- extern struct char_data *character_list; &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& comm.c copyover_recover() after enter_player_game() ---------------------------------------------- write_to_descriptor (desc, "\n\rCopyover recovery complete.\n\r"); enter_player_game(d); + d->character->next = character_list; + character_list = d->character; d->connected = CON_PLAYING; look_at_room(d->character, 0); &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Simple fix, but a NECESSARY one. otherwise, you cannot snoop, goto, tell, or anything else that would work if it were global, TRUST me. and also, another thing i did, was move the copyover_recover to inside the game_loop() function BEFORE the while() command and after the time assignment. like this: *********************************************** comm.c init_game() after boot_db(); call &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& log("Finding player limit."); max_players = get_max_players(); if (!fCopyOver) { log("Opening mother connection."); mother_desc = init_socket(port); } boot_db(); #ifndef CIRCLE_WINDOWS log("Signal trapping."); signal_setup(); #endif - if (fCopyOver) - copyover_recover(); log("Entering game loop."); game_loop(mother_desc); &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& comm.c game_loop() before the while(!circle_...) { } ------------------------------------------------- /* initialize various time values */ null_time.tv_sec = 0; null_time.tv_usec = 0; opt_time.tv_usec = OPT_USEC; opt_time.tv_sec = 0; FD_ZERO(&null_set); gettimeofday(&last_time, (struct timezone *) 0); + if (fCopyOver) + copyover_recover(); /* The Main Loop. The Big Cheese. The Top Dog. The Head Honcho. The.. */ while (!circle_shutdown) { &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& and that should make it work, if the character_list addition thing doesn't work by itself. anyway, other than the bug where he forgot to add the character to the character_list, i had no problems with it :-) pretty kewl if ya ask me, and i'm still modifiying it. Code On Akuma the Raging Coder +------------------------------------------------------------+ | "The poets talk about love, but what I talk about is DOOM, | | because in the end, DOOM is all that counts." - | | Alex Machine/George Stark/Stephen King, The Dark Half | | "Nothing is IMPOSSIBLE, Just IMPROBABLE" | | "Easier Said Than Done, But Better Done Than Said..." | +------------------------------------------------------------+ +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/08/00 PST