From: zain dirkbane <zain_dirkbane@hotmail.com> Ok, this is a nice little snippet that i would like to convert to use with ROM2.4b4, it is for iDirt/ABER mud as it sits.. can someone help convert it, or if you can do it all.. do it? hehe What it does is lets say your online, and you want to login as another one of your characters, well, if you type: become <name>, it will allow you to more less disconnect that player and login the other WITHOUT logging off the mud.. example: <3054><Midgaard> become gaar password: gaar logging out Zain and becoming Gaar.. An old voice, within your head, tells you Zain has become Gaar. <6392HP 4111MA 4260MV><G:2104 S:10211> <6310hp 4033ma 4218mv><318> say hold on.. You say 'hold on..' <6392HP 4111MA 4260MV><G:2104 S:10211> <6310hp 4033ma 4218mv><318> THIS IS THE CODE: --START-------------------------------------------- void becom (char *passwd) { char x[128]; PERSONA p; if (passwd == NULL) { if (cur_player->polymorphed != -1 || cur_player->aliased) { bprintf ("Not when aliased."); return; } if (cur_player->writer != NULL) { bprintf ("Finish whatever you're writing first!\n"); return; } if (pfighting (mynum) != -1) { bprintf ("Not while fighting!\n"); return; } if (brkword () == -1) { bprintf ("Become what? Inebriated?\n"); return; } strcpy (cur_player->work2, wordbuf); strcpy (cur_player->cprompt, "Password: "); cur_player->no_echo = True; bprintf ("\n\377\373\001\001Password: "); push_input_handler (becom); } else { bprintf ("\377\374\001\001"); cur_player->no_echo = False; pop_input_handler (); if (!getuaf (cur_player->work2, &p)) { bprintf ("No such player.\n"); } else if (!EQ (p.p_passwd, my_crypt (x, passwd, strlen (p.p_passwd) + 1))) { bprintf ("Incorrect password!\n"); } else if (fpbns (cur_player->work2) >= 0) { bprintf ("That player is allready on the game.\n"); } else { close_plr_log (); saveme (); remove_entry (mob_id (mynum), &id_table); pers2player (&p, mynum); strcpy (cur_player->cprompt, cur_player->prompt); mudlog ("SYSTEM: %s has BECOME %s", pname (mynum), p.p_name); send_msg (DEST_ALL, MODE_QUIET, max (LVL_WIZARD, pvis (mynum)), LVL_MAX, mynum, NOBODY, "&+B[&+W%s &*has &+CBECOME &+W%s&+B]\n", pname (mynum), p.p_name); send_msg (ploc (mynum), 0, pvis (mynum), LVL_MAX, mynum, NOBODY, "%s disintegrates, and reappears as %s.\n", pname (mynum), p.p_name); setpname (mynum, p.p_name); fetchprmpt (mynum); insert_entry (mob_id (mynum), mynum, &id_table); bprintf ("You are now %s.\n", pname (mynum)); check_files (); if (privileged_user (pname (mynum))) cur_player->isawiz = True; if (is_monitored (pname (mynum))) { open_plr_log (); } } get_command (NULL); } } -----------------------------------------------END-- I know i will have to declear it in interp.c and interp.h please help, as i find this really neat.. i remember there was someone that posted something like if we can find him something to code, tell him, cant remember who.. but here is your chance! :) hehehe later ZD