PC_DATA& PC_DATA::operator=( PC_DATA *copyFrom )
{
this->name = copyFrom->name; // etc
return *this;
}
pc_data var;
var = *(ch->pcdata);
pc_data var;
var = ch->pcdata;
pc_data var;
var = *(ch->pcdata);
pc_data var;
var = ch->pcdata;
void do_test(CHAR_DATA *ch, char *argument)
{ PC_DATA var;
char buf[MSL];
var = *(ch->pcdata);
sprintf(buf, "%s\n\r", var.pwd );
send_to_char(buf,ch);
return;
}
void do_test(CHAR_DATA *ch, char *argument)
{
PC_DATA var;
CHAR_DATA *target,*newchar;
DESCRIPTOR_DATA *desc1;
char buf[MSL];
char target_name;
if ((target = get_char_room(ch, NULL, argument)) == NULL)
{
send_to_char("that char cannot be found.\n\r",ch);
return;
}
var = *(target->pcdata);
target_name = str_dup(target-name);
desc1 = target->desc;
DISPOSE(target->pcdata);
DISPOSE(target);
newchar = new_char();
newchar->name = str_dup(target_name);
newchar->pcdata = new_pcdata();
char_to_room(newchar,ch->in_room);
newchar->next = char_list;
char_list = newchar;
reset_char(newchar);
target->desc = NULL;
extract_char(target,TRUE);
newchar->desc = desc1;
newchar->desc->character = newchar;
newchar->desc->connected = CON_PLAYING;
newchar->pcdata = var;
return;
}
newchar->pcdata = var;
*(newchar->pcdata) = var;
sprintf( player_name, "%s", capitalize( ch->name ) );
sprintf( player_pwd, "%s", ch->pcdata->pwd );
player_incarnations = ch->clast;
extract_char( ch, FALSE );
load_char_obj( d, player_name );
d->character->pcdata->pwd = str_dup( player_pwd );
d->character->clast = player_incarnations;
CHAR_DATA *ch = d->original ? d->original : d->character
example (not accurate coding but you get the idea):
CHAR_DATA *ch;
PC_DATA temp_pcdata;
temp_pcdata = ch->pcdata;
DISPOSE(ch->pcdata);
DISPOSE(ch);
ch = new_char();
ch->pcdata = new_pcdata();
ch->pcdata = temp_pcdata;
is this possible someway?