/* * Selectable border color, scheme and display. * I'm sure there are better ways to go about this * but it works on my game 100%. * In this version, i'll just be giving a few inputs * on each command. * No credit needed. Maybe give me some input on it at * some point, what you'd do instead etc.. * Visit the game when opens. Final Fantasy After Crisis. */ File: act_comm.c ================ This is basically how all of the commands work. You print them a list of options that they can change at anytime with a switchcase. It sets the color in the pfile and allows for everyone to have whichever color they would like to see the borders of the game in. Add: void do_border (CHAR_DATA * ch, char *argument) { char buf[MSL]; if (IS_NPC (ch)) return; if (argument[0] == '\0') { send_to_char("\r\nSyntax: border \r\n",ch); send_to_char("\r\nYou must select a border color from the following:\r\n\r\n",ch); send_to_char("{W5 - {YBright yellow{w {W0 - {yDark yellow{w\r\n",ch); sprintf(buf,"\r\n{WYour current border color is: %sThis color{w\r\n", ch->pcdata->bordercolor); send_to_char(buf,ch); sprintf(buf,"{WYour current display color is: %s{w\r\n",ch->pcdata->display); send_to_char(buf,ch); return; } switch (*argument) { case '5': ch->pcdata->bordercolor = "{Y"; send_to_char("{WYou will now see {Ybright yellow{W for your border color.\r\n",ch); break; case '0': ch->pcdata->bordercolor = "{y"; send_to_char("{WYou will now see {ydark yellow{W for your border color.\r\n",ch); break; default: ch->pcdata->bordercolor = "{C"; send_to_char("{WYou will now see {Cbright cyan{W for your border color.\r\n",ch); break; } return; } File: merc.h ============ Search for: struct pc_data Add: char * display; char * bordercolor; File: save.c ============ Find: fprintf( fp, "Name %s~\n", ch->name ); Add: fprintf( fp, "Display %s~\n", ch->pcdata->display); fprintf( fp, "Border %s~\n", ch->pcdata->bordercolor); Find: ch->name = str_dup( name ); Add: ch->pcdata->bordercolor = str_dup( "" ); Find: case 'B' Add: KEY( "Border", ch->pcdata->bordercolor, fread_string( fp ) ); File: act_info.c ================ Basically here you'll just add a %s where ever you would want to put a border. Most people box score sheets in, so here is an example score sheet. At the top of the function where it shows char buf[MAX_STRING_LENGTH]; Add: char *bc,*ds; bc = ch->pcdata->bordercolor; ds = ch->pcdata->display Now for your score sheet. This isn't what yours will look like but just an example. sprintf(buf, "%s| %s", bc, ch->name); send_to_char(buf,ch); bordercolor will change the | symbol colors. You can add onto this by adding a setup just the same as border colors with display. Remove the | and add %s. Make a command similar to bordercolor that changes display instead. Make displays = "[" "*" or something similar so people can change the border itself. Just tinker with it it's very simple code but gets the job done entirely.. Files: interp.c and interp.h ============================= Add something like: { "border", do_border, POS_DEAD DECLARE_DO_FUN (do_border); File: comm.c ============ Before the character gets to see the first screen of the game, have it set ch->pcdata->bordercolor = "{Y"; or whatever you want your characters to see on your borders. The command allows for them to change it.