> From: zero@baker.cnw.com > > I am attempting to write a spec_proc for having guildmasters let you gain > levels. Note that i have correctly assigned the proc and gain_exp no > longer automatically raises levels when you have enough exp. I created > the command "level" and the follwoing spec_proc called "guild_levels". > > ACMD(do_level) > { > static char arg2[MAX_INPUT_LENGTH]; > > half_chop(argument, arg, arg2); You don't need the "static char" and "half_chop()" lines in this function. > send_to_char("You can only gain levels in a guild.\r\n", ch); > > } > > The command works fine but when level is typed at a guildmaster it always > gets stuck at one part of the code and returns from there. I am assuming > it is either the way i tried to handle 2 arguments or my misuse of is_abbrev. > > SPECIAL(guild_levels) > { > static char arg2[MAX_INPUT_LENGTH]; > int class; > > if (IS_NPC(ch) || !CMD_IS("level")) > return 0; > > if (GET_LEVEL(ch) >= LVL_IMMORT) { > send_to_char("Your already an Immortal!!\r\n", ch); > return 1; > } Add the half_chop() function call here instead. > if (!*arg) { > send_to_char("Please specify a class.\r\n", ch); > return 1; -- a heap of text removed -- > > If someone can point out my error(s) i would appreciate it. > > Thanks, > Chris (who always knows when he messed up, just not why it is wrong :) > The change in do_level is not necessary, but the two statements are of no use. Hope this helps. -Johan
This archive was generated by hypermail 2b30 : 12/18/00 PST