COOL! someone is using my code :) here is what I have for bash: ACMD(do_bash) { struct char_data *vict; int percent, prob; char *arg=get_buffer(MAX_INPUT_LENGTH); one_argument(argument, arg); vict=NULL; if ((!*arg)&&FIGHTING(ch)) vict = FIGHTING(ch); else if(*arg) vict = get_char_room_vis(ch, arg); if(vict==NULL) { send_to_char("Bash who???\r\n", ch); release_buffer(arg); return; } release_buffer(arg); Have you checked to see what is contained in argument with either your debugger or a simple log("bash_arg_test %s",argument);? --Angus ------------------------------------------------------------------------ Hiya all fiddeling with abbreviation code, plugged the one from the Archives (Angus' work) in and gee it works right away. Yet somehow things go haywire and I cannot see why except it's the Abbreviate code that's acting up. Heres the situation : 1. A attacks mob. 2. B Assists A 3. A being a warrior bashes the opponent with the command "bash" no arguments See under normal circumstances this would give opponent fighting and A would bash the opponent, but here it actually bashes B instead. Totalt confusion. Bash code looks like the following.. anyone with an idea to what the problem *MIGHT* be, except that the abbreviate code sends an Argument through anyway? ACMD(do_bash) { struct char_data *vict = NULL; int percent, prob; if(!check_for_skill(ch, SKILL_BASH)) return; if (!*argument) { /* No Argument */ if (FIGHTING(ch)) { vict = FIGHTING(ch); } else { send_to_char("Bash who?\r\n", ch); } } one_argument(argument, arg); log(argument); if (!(vict = get_char_room_vis(ch, arg))) { send_to_char("Bash who?\r\n", ch); return; } +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST