// nickname.c // Lets a player set nicknames for commonly used words. If the player types // "nickname frog Pinkfish@discworld", then any time he later types the // work "frog" it will be replaced by "Pinkfish@discworld". You can override // the nickname by typing "\frog", in which case it'll come out "frog". Or // you can use the unnickname command to get rid of the silly thing. // Original author unknown, probably quite old. Came over from TMI-1. // Mobydick added this header on 4-9-93. // This file is part of the TMI-2 mudlib. Do not remove or alter this // header, etc. Be one with the header. #include <mudlib.h> inherit DAEMON ; int cmd_nickname(string str) { mapping nicknames; mixed *nicks; int i; string nn,rn; object act_ob; act_ob = this_player(); if (str == "reset") act_ob->empty_nicknames(); nicknames = (mapping)act_ob->query_nicknames(); if(!str) { nicks = keys(nicknames); if(!sizeof(nicks)) { write("No nicknames defined.\n"); return 1; } else write("Currently defined nicknames:\n"); for(i = 0; i < sizeof(nicks); i++) printf("%-15s : %s\n",nicks[i],nicknames[nicks[i]]); return 1; } // Strip out leading spaces from request. while(str[0] == ' ') str = str[1..sizeof(str)-1]; if(sscanf(str,"%s %s",nn,rn) == 2) { if(nicknames[nn]) write("Nickname "+nn+" changed from "+nicknames[nn]+".\n"); else write("Nickname "+nn+" added.\n"); act_ob->set_nicknames(nn,rn); return 1; } else { act_ob->remove_nickname(str); return 1; } return 1; } string help() { return("Syntax: nickname <nickname> <real name>\n\n"+ "Nickname will substitute <readname> for all occurances of <nickname>\n"+ "on your command line (except for the first word. that's reserved for\n" + "aliases. :)) This allows you to use shortened words to refer to people, \n" + "objects, etc, rather than typing long drawn out names. Talking to players\n"+ "with long names is no longer an annoyance!\n" + "An escape of \\ in front of a word will prevent that word from being\n" + "expanded (For when you want to say the nickname and not the realname!)\n" + "\nEXAMPLE:\n\n" + "> nickname way wayfarer\n" + "> tell way No \\way way! These nicknames are stuf!ly!(tm)\n" + "This expands to:\n" + "> tell Wayfarer No way Wayfarer! These nicknames are stuf!ly!(tm)\n"); }