Hi all, I am running circle 3.1 with dg_scripts pl9, ascii pfiles, hedit, olc 2.01, and a few other goodies. My problem is this. I added aedit to my base and after a few problems everything worked well. Then I noticed that all the socials were taking presidence over the main commands. I went back into interpreter.c to see if I had indeed make a few mistakes, but there was no problems. This is an example: I type l for look and I receive the laugh social. In interpreter.c I have the sort_as column set to l to give look a higher priority but this does nothing for me. I will include the create command list in this post for someone to point out what i am missing. I am sure it must be a circle 3.1 change that is doing this to me. As i tested another package, and that worked. Then I tested those changes into my code, And nothing changed for me. Any help would be much appreciated. void create_command_list(void) { char buf[MAX_INPUT_LENGTH]; int i, j, k; struct social_messg temp; extern struct command_info cmd_info[]; /* free up old command list */ if (complete_cmd_info) free(complete_cmd_info); complete_cmd_info = NULL; /* re check the sort on the socials */ for (j = 0; j < top_of_socialt; j++) { k = j; for (i = j + 1; i <= top_of_socialt; i++) if (str_cmp(soc_mess_list[i].sort_as, soc_mess_list[k].sort_as) < 0) k = i; if (j != k) { temp = soc_mess_list[j]; soc_mess_list[j] = soc_mess_list[k]; soc_mess_list[k] = temp; } } /* count the commands in the command list */ i = 0; while(*cmd_info[i].command != '\n') i++; i++; CREATE(complete_cmd_info, struct command_info, top_of_socialt + i + 2); /* this loop sorts the socials and commands together into one big list */ i = 0; j = 0; k = 0; while ((*cmd_info[i].command != '\n') || (j <= top_of_socialt)) { if ((i < NUM_RESERVED_CMDS) || (j > top_of_socialt) || (str_cmp(cmd_info[i].sort_as, soc_mess_list[j].sort_as) < 1)) complete_cmd_info[k++] = cmd_info[i++]; else { soc_mess_list[j].act_nr = k; complete_cmd_info[k].command = soc_mess_list[j].command; complete_cmd_info[k].sort_as = soc_mess_list[j].sort_as; complete_cmd_info[k].minimum_position = soc_mess_list [j].min_char_position; complete_cmd_info[k].command_pointer = do_action; complete_cmd_info[k].minimum_level = soc_mess_list [j++].min_level_char; complete_cmd_info[k++].subcmd = 0; } } complete_cmd_info[k].command = strdup("\n"); complete_cmd_info[k].sort_as = strdup("zzzzzzz"); complete_cmd_info[k].minimum_position = 0; complete_cmd_info[k].command_pointer = 0; complete_cmd_info[k].minimum_level = 0; complete_cmd_info[k].subcmd = 0; sprintf(buf, "Command info rebuilt, %d total commands.", k); log(buf); } -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | | Newbie List: http://groups.yahoo.com/group/circle-newbies/ | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/26/03 PDT