#include "include.h" #include "interp.h" /** Function: do_pload * Descr : Loads a player object into the mud, bringing them (and their * pet) to you for easy modification. Player must not be connected. * Note: be sure to send them back when your done with them. * Returns : (void) * Syntax : pload (who) * Written : v1.0 12/97 * Author : Gary McNickle <gary@dharvest.com> */ void do_pload( CHAR_DATA *ch, char *argument ) { DESCRIPTOR_DATA d; bool isChar = FALSE; char name[MAX_INPUT_LENGTH]; if (argument[0] == '\0') { send_to_char("Load who?\n\r", ch); return; } argument[0] = UPPER(argument[0]); argument = one_argument(argument, name); /* Dont want to load a second copy of a player who's allready online! */ if ( get_char_world( ch, name ) != NULL ) { send_to_char( "That person is allready connected!\n\r", ch ); return; } isChar = load_char_obj(&d, name); /* char pfile exists? */ if (!isChar) { send_to_char("Load Who? Are you sure? I cant seem to find them.\n\r", ch); return; } d.character->desc = NULL; d.character->next = char_list; char_list = d.character; d.connected = CON_PLAYING; reset_char(d.character); /* bring player to imm */ if ( d.character->in_room != NULL ) { char_to_room( d.character, ch->in_room); /* put in room imm is in */ } act( "$n has pulled $N from the pattern!", ch, NULL, d.character, TO_ROOM ); if (d.character->pet != NULL) { char_to_room(d.character->pet,d.character->in_room); act("$n has entered the game.",d.character->pet,NULL,NULL,TO_ROOM); } } /** Function: do_punload * Descr : Returns a player, previously 'ploaded' back to the void from * whence they came. This does not work if the player is actually * connected. * Returns : (void) * Syntax : punload (who) * Written : v1.0 12/97 * Author : Gary McNickle <gary@dharvest.com> */ void do_punload( CHAR_DATA *ch, char *argument ) { CHAR_DATA *victim; char who[MAX_INPUT_LENGTH]; argument = one_argument(argument, who); if ( ( victim = get_char_world( ch, who ) ) == NULL ) { send_to_char( "They aren't here.\n\r", ch ); return; } /* Person is legitametly logged on... was not ploaded.*/ if (victim->desc != NULL) { send_to_char("I dont think that would be a good idea...\n\r", ch); return; } if (victim->was_in_room != NULL) /* return player and pet to orig room */ { char_to_room(victim, victim->was_in_room); if (victim->pet != NULL) char_to_room(victim->pet, victim->was_in_room); } save_char_obj(victim); do_quit(victim,""); act("$n has released $N back to the Pattern.", ch, NULL, victim, TO_ROOM); }