/* * The great and wonderful alias driver by me ;) * pinkfish. */ mapping map_nicknames; string *query_nicknames() { return keys(map_nicknames) + ({ }); } void nickname_commands() { add_action("delete_nickname", "dnickname"); add_action("nickname", "nickname"); add_action("flushnicknames","flushnicknames"); } int flushnicknames(string str) { write("This will remove All your nicknames. Are you sure? (Y/N)\n"); input_to("flushnicks",0); return 1; } int flushnicks(string str) { if(str=="Y"||str=="y") { map_nicknames=0; write ("Nicknames removed.\n"); } else write("Some other time then\n"); return 1; } int add_nickname(string str) { string s1,s2; if (sscanf(str,"%s %s",s1,s2)!=2) { notify_fail("You are a frog\n"); return 0; } if (!map_nicknames) map_nicknames = ([ ]); if (!map_nicknames[s1]) { map_nicknames[s1] = s2; write("Added nickname "+s1+" as "+s2+".\n"); return 1; } write("Changed nickname "+s1+" from "+map_nicknames[s1]+" to "+s2+".\n"); map_nicknames[s1] = s2; return 1; } string expand_nickname(string str) { string *arry; int i; if (stringp(str)) arry = explode(lower_case(str)," "); else return str; if (!map_nicknames) map_nicknames = ([ ]); for (i=0;i<sizeof(arry);i++) if (map_nicknames[arry[i]]) arry[i] = map_nicknames[arry[i]]; return implode(arry," "); } int delete_nickname(string str) { if (!map_nicknames) map_nicknames = ([ ]); if (!map_nicknames[str]) { notify_fail("That nickname does not exist.\n"); return 0; } map_nicknames = m_delete(map_nicknames, str); write("Deleted nickname : "+str+"\n"); return 1; } int print_nicknames() { int i, cols; string str, str1, str2, bit, *tmp; bit = ""; str1 = ""; str2 = ""; if (!map_nicknames) map_nicknames = ([ ]); tmp = m_indices(map_nicknames); cols = (int)this_player()->query_cols(); for (i=0;i<sizeof(tmp);i++) { str = tmp[i]+": "+map_nicknames[tmp[i]]+" "; if (strlen(str)>39) printf(tmp[i]+": %-=*s\n", cols - strlen(tmp[i]), map_nicknames[tmp[i]]); else if (strlen(str) > 19) str1 += str+"\n"; else str2 += str+"\n"; } if (strlen(str1)) printf("%-#*s\n", cols, str1); if (strlen(str2)) printf("%-#*s\n", cols, str2); return 1; } int nickname(string str) { string s1,s2; if (!map_nicknames) map_nicknames = ([ ]); if (!str || str == "") return print_nicknames(); if (sscanf(str,"%s %s",s1,s2)!=2) { if (!map_nicknames[str]) { notify_fail("That nickname does not exist.\n"); return 0; } write("Setting for nickname "+str+" is "+map_nicknames[str]+".\n"); return 1; } return add_nickname(str); }