/*************************************************************************** * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe. * * * * Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael * * Chastain, Michael Quan, and Mitchell Tse. * * * * In order to use any part of this Merc Diku Mud, you must comply with * * both the original Diku license in 'license.doc' as well the Merc * * license in 'license.txt'. In particular, you may not remove either of * * these copyright notices. * * * * Much time and thought has gone into this software and you are * * benefitting. We hope that you share your changes too. What goes * * around, comes around. * ***************************************************************************/ #if defined(macintosh) #include<types.h> #else #include <sys/types.h> #endif #include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include "merc.h" /* for keeping track of the player count */ int max_on = 0; int maxon1 = 0; void sync_stats(void); // HAHAHA -Xrak my who messages :) void do_setxrakwho(CHAR_DATA *ch, char *argument) { char buf[MAX_STRING_LENGTH]; if (IS_NPC(ch)) return; smash_tilde(argument); sprintf(buf,"#n"); strcpy(buf,argument); SET_BIT(ch->pcdata->jflags, JFLAG_XRAKWHO); free_string(ch->pcdata->xrakwho); ch->pcdata->xrakwho = str_dup(wordwrapchange(argument)); send_to_char("done.\n\r",ch); return; } void do_who(CHAR_DATA *ch, char *argument) { DESCRIPTOR_DATA *d; CHAR_DATA *wch; CHAR_DATA *victim; char relrank[MSL]; char sexbuf[MSL]; char arg[MAX_INPUT_LENGTH]; char pkratio[MAX_STRING_LENGTH]; char kav[MAX_STRING_LENGTH]; char faith[MAX_STRING_LENGTH]; char god[MAX_STRING_LENGTH]; char openb[20]; char closeb[20]; int b, c, a; int count; char buf[MAX_STRING_LENGTH]; // banners char buf1[MAX_STRING_LENGTH]; // Admin. char buf2[MAX_STRING_LENGTH]; char buf3[MAX_STRING_LENGTH]; char buf4[MAX_STRING_LENGTH]; char buf5[MAX_STRING_LENGTH]; char buf6[MAX_STRING_LENGTH]; char buf7[MAX_STRING_LENGTH]; char buf8[MAX_STRING_LENGTH]; // avatars : buf2 - buf16 char buf9[MAX_STRING_LENGTH]; char buf10[MAX_STRING_LENGTH]; char buf11[MAX_STRING_LENGTH]; char buf12[MAX_STRING_LENGTH]; char buf13[MAX_STRING_LENGTH]; char buf14[MAX_STRING_LENGTH]; char buf15[MAX_STRING_LENGTH]; char buf16[MAX_STRING_LENGTH]; char buf17[MAX_STRING_LENGTH]; // mortals. char buf18[MAX_STRING_LENGTH]; char buf19[MAX_STRING_LENGTH]; int nPlayerAll = 0; int nPlayerVis = 0; int nImmVis = 0; int mightRate; int i, x, v; bool rangeOnly = FALSE; bool canDecap; bool canKillYou; bool avatars = FALSE; bool a1 = FALSE; bool a2 = FALSE; bool a3 = FALSE; bool a4 = FALSE; bool a5 = FALSE; bool a6 = FALSE; bool a7 = FALSE; bool a8 = FALSE; bool a9 = FALSE; bool a10 = FALSE; bool a11 = FALSE; bool a12 = FALSE; bool a13 = FALSE; bool a14 = FALSE; bool a15 = FALSE; bool a16 = FALSE; bool a17 = FALSE; if (IS_NPC(ch)) return; one_argument(argument, arg); if (!str_cmp(arg, "kill")) rangeOnly = TRUE; buf1[0] = '\0'; buf2[0] = '\0'; buf3[0] = '\0'; buf4[0] = '\0'; buf5[0] = '\0'; buf6[0] = '\0'; buf7[0] = '\0'; buf8[0] = '\0'; buf9[0] = '\0'; buf10[0] = '\0'; buf11[0] = '\0'; buf12[0] = '\0'; buf13[0] = '\0'; buf14[0] = '\0'; buf15[0] = '\0'; buf16[0] = '\0'; buf17[0] = '\0'; // do_save( ch, " " ); // save_char_obj_backup( ch ); // save_char_obj( ch ); // save_char_obj( wch ); // save_char_obj_backup( wch ); for (d = descriptor_list; d != NULL; d = d->next) { char const *title; if (d->connected != CON_PLAYING) continue; if ((wch = d->character) == NULL) continue; /* * Immortals are not players, and should not be counted as such. */ if (wch->level < 7) nPlayerAll++; count++; /* * Visibility :-) */ if (!can_see(ch, wch)) continue; if (wch->level < 7) nPlayerVis++; else nImmVis++; /* * The playerkill range is decided */ if (!str_cmp(ch->pcdata->last_decap[0], wch->name)) canDecap = FALSE; else canDecap = fair_fight(ch, wch); if (!str_cmp(wch->pcdata->last_decap[0], ch->name)) canKillYou = FALSE; else canKillYou = fair_fight(wch, ch); if (rangeOnly && !canDecap) continue; if ( wch->sex == 1 ) { sprintf (sexbuf, "Male"); } if ( wch->sex == 2 ) { sprintf (sexbuf, "Female"); } if ( wch->fight_timer > 0 ) { sprintf (sexbuf, "#n[#YF#yT#n] "); } /* * Let's calculate the pkratio and the color of the symbols for players to be guided by. */ if (!IS_SET(wch->immune, IMM_HYBRID)) { sprintf(pkratio,"#7[#n%2d#7]#n",wch->pStatus); } else { sprintf(pkratio,"#7[#n%2d#7]#n",wch->pStatus); } /* * Now let's parse the title. */ mightRate = getMight(wch); count = 0; if ((IS_HEAD(wch,LOST_HEAD) || IS_EXTRA(wch,EXTRA_OSWITCH)) && wch->pcdata->chobj != NULL) { if (wch->pcdata->chobj->pIndexData->vnum == 12) title = " #CA Head#n #n "; else if (wch->pcdata->chobj->pIndexData->vnum == 30005) title = " #CA Brain#n "; else title = " #RAn Object#n "; } else { switch (wch->level ) { default: title = " "; break; case MAX_LEVEL: case MAX_LEVEL - 1: case MAX_LEVEL - 2: case MAX_LEVEL - 3: case MAX_LEVEL - 4: case MAX_LEVEL - 5: if (IS_EXTRA(wch, EXTRA_AFK)) title = " #C*#0***A#CF#0K***#C*#n "; else if (IS_SET(wch->newbits2, NEW2_CODING)) title = "#r-#0[#rCODING#0]#r-#n "; else if (wch->prefix != NULL && strlen(wch->prefix) > 1 && str_cmp(wch->prefix,"off")) title = wch->prefix; else if (!str_cmp(wch->pcdata->switchname, "Xrakisis")) title = "#G(#C=-#gOWNER#C-=#G)#n"; else if (!str_cmp(wch->pcdata->switchname, "Sneak")) title = "#G(#C=-#PGoat#C-=#G)#n"; else if (!str_cmp(wch->pcdata->switchname, "Drexx")) title = "#LC#7oder#n"; else if (!str_cmp(wch->pcdata->switchname, "Akurei")) title = "#G(#C=-#rCoder#C-=#G)#n"; else if (!str_cmp(wch->pcdata->switchname, "Anubis")) title = "#R|#0)-#RD#remo#Rn #rW#Rarlor#rd#0-(#R|#n"; else if (!str_cmp(wch->pcdata->switchname, "Kaname")) title = "#y<#G(#L=- #RB#rloo#Rd #7Pr#0in#7ce #L-=#G)#y>#n"; else title = "#Y>>>#0GoD#Y<<<#n"; break; case MAX_LEVEL - 6: case MAX_LEVEL - 7: case MAX_LEVEL - 8: case MAX_LEVEL - 9: if (IS_EXTRA(wch, EXTRA_AFK)) title = " #C*#0***A#CF#0K***#C*#n "; else if (IS_SET(wch->act, PLR_SILENCE)) title = " #LSI#7LENC#LED#n "; else if (IS_RACE(wch, RACE_HUMAN)) title = " #0Human#n "; else if (IS_RACE(wch, RACE_ELF)) title = "High Elf"; else if (IS_RACE(wch, RACE_GNOME)) title = "Gnome"; else if (IS_RACE(wch, RACE_GULLYDWARF)) title = "Gully Dwarf"; else if (IS_RACE(wch, RACE_HILLDWARF)) title = "Hill Dwarf"; else if (IS_RACE(wch, RACE_MTDWARF)) title = "Mountain Dwarf"; else if (IS_RACE(wch, RACE_DRAGONKIND)) title = "DragonKind"; else if (IS_RACE(wch, RACE_HOBBIT)) title = "Hobbit"; else if (IS_RACE(wch, RACE_KENDER)) title = "Kender"; else if (IS_RACE(wch, RACE_DROW)) title = "Drow"; else if (IS_RACE(wch, RACE_GIANT)) title = "Giant"; else if (IS_RACE(wch, RACE_HALFELF)) title = "Half Elf"; else if (IS_RACE(wch, RACE_OGRE)) title = "Ogre"; else if (IS_RACE(wch, RACE_HALFOGRE)) title = "Half Ogre"; else if (IS_RACE(wch, RACE_MINOTAUR)) title = "Minotaur"; else if (IS_RACE(wch, RACE_GOBLIN)) title = "Goblin"; else if (IS_RACE(wch, RACE_HOBGOBLIN)) title = "HobGoblin"; else if (IS_RACE(wch, RACE_DUERGARDWARF)) title = "Duergar"; else if (IS_RACE(wch, RACE_TROLL)) title = "Troll"; else if (IS_RACE(wch, RACE_HALFTROLL)) title = "Half Troll"; else if (IS_RACE(wch, RACE_ORC)) title = "Orc"; else if (IS_RACE(wch, RACE_HALFORC)) title = "Half Orc"; else if (IS_RACE(wch, RACE_CENTAUR)) title = "Centaur"; else if (IS_RACE(wch, RACE_WILDELF)) title = "Wild Elf"; else if (IS_RACE(wch, RACE_ARCHDEMON)) title = "Arch-Demon"; else if (IS_RACE(wch, RACE_ARCHANGEL)) title = "Arch-Angel"; else title = "#Gnone#n"; break; break; case MAX_LEVEL - 10: title = " #YM#yortal#n "; break; case MAX_LEVEL - 11: title = " #YN#yewbie#n "; break; case MAX_LEVEL - 12: title = " #YU#yndefined#n "; break; } } /* I'm aware it says faith, but I was just to lazy to change it to kingdom - Jobo */ // if (wch->pcdata->kingdom >= 1 && wch->pcdata->kingdom <= MAX_KINGDOM) if (!IS_NPC(ch)) { if (wch->pcdata->kingdom == 1) sprintf(faith, "of #YR#yu#7le#yr#Ys#n"); else if (wch->pcdata->kingdom == 2) sprintf(faith, "of #BF#bo#nr#7sa#nk#be#Bn#n"); else if (wch->pcdata->kingdom == 3) sprintf(faith, "of #RS#ry#yn#Yd#7i#Yc#ya#rt#Re#n"); else if (wch->pcdata->kingdom == 4) sprintf(faith, "of #LI#ln#7v#la#Ld#7e#Lr#n"); else if (wch->pcdata->kingdom == 5) sprintf(faith, "of #RR#ri#7s#Ye #Rof #RE#rv#Ri#rl#n"); else if (wch->pcdata->kingdom == 6) sprintf(faith, "of #rN#Ro#7s#Yf#ye#rr#Ra#7t#Yu#n"); else sprintf(faith, ""); } if (!IS_NPC(ch)) { if (wch->relrank == 0 && wch->god == 0) sprintf(relrank, "#R[ ]#n"); if (wch->relrank == 0 && wch->god != 0) sprintf(relrank, "#R[#YM#yE#RM#yB#RE#rR#R]"); if (wch->relrank == 1 && wch->god != 0) sprintf(relrank, "#R[#YJUNIOR#R]#n"); if (wch->relrank == 2 && wch->god != 0) sprintf(relrank, "#R[#LSENIOR#R]#n"); if (wch->relrank == 3 && wch->god != 0) sprintf(relrank, "#R[#0DEPUTY#R]#n"); if (wch->relrank == 4 && wch->god != 0) sprintf(relrank, "#R[#YSECOND#R]#n"); if (wch->relrank == 5 && wch->god != 0) sprintf(relrank, "#R[#7CHOSEN#R]#n"); } if (!IS_NPC(ch)) { if (wch->god == 0) sprintf(god,"Athiest"); if (wch->god == 1) sprintf(god,"Astinus"); if (wch->god ==2) sprintf(god,"Chemosh"); if (wch->god ==3) sprintf(god,"Hiddukel"); if (wch->god ==4) sprintf(god,"Nuitari"); if (wch->god ==5) sprintf(god,"Sargonnas"); if (wch->god ==6) sprintf(god,"Zeboim"); if (wch->god ==7) sprintf(god,"Branchala"); if (wch->god ==8) sprintf(god,"Habbakuk"); if (wch->god ==9) sprintf(god,"Kiri-Jolith"); if (wch->god ==10) sprintf(god,"Majere"); if (wch->god ==11) sprintf(god,"Mishakal"); if (wch->god ==12) sprintf(god,"Solinari"); if (wch->god ==13) sprintf(god,"Chislev"); if (wch->god ==14) sprintf(god,"Gilean"); if (wch->god ==15) sprintf(god,"Lunitari"); if (wch->god ==16) sprintf(god,"Reorx"); if (wch->god ==17) sprintf(god,"Shinare"); if (wch->god ==18) sprintf(god,"Sirrion"); if (wch->god ==19) sprintf(god,"Zivilyn"); if (wch->god ==20) sprintf(god,"Takhisis"); if (wch->god ==21) sprintf(god,"Paladine"); } max_on = UMAX ( count, max_on ); if ( count > max_ever ) { sync_stats ( ); } if (wch->class == CLASS_DEMON) sprintf(kav,"Demon"); if (wch->class == CLASS_WEREWOLF) sprintf(kav,"Werewolf"); if (wch->class == CLASS_VAMPIRE) sprintf(kav,"Vampire"); if (wch->class == CLASS_DROW) sprintf(kav,"Drow"); if (wch->class == CLASS_TANARRI) sprintf(kav,"Tanarri"); if (wch->class == CLASS_ANGEL) sprintf(kav,"Angel"); if (wch->class == CLASS_UNDEAD_KNIGHT) sprintf(kav,"Undead Knight"); if (wch->class == CLASS_ASSASSIN) sprintf(kav,"Assassin"); if (wch->class == CLASS_WRAITH) sprintf(kav,"Wraith"); if (wch->class == CLASS_ELEMENTAL) sprintf(kav,"Elemental"); if (wch->class == CLASS_PALADIN) sprintf(kav,"Paladin"); if (wch->class == CLASS_HUMAN) sprintf(kav,"Technomage"); if (wch->class == CLASS_SHINOBI) sprintf(kav,"Shinobi"); if (wch->class == CLASS_HYDRA) sprintf(kav,"Hydra"); if (wch->class == CLASS_SKYBLADE) sprintf(kav,"Skyblade"); if (wch->class == CLASS_GIANT) sprintf(kav,"Giant"); if (wch->class == CLASS_DRAGON) sprintf(kav,"Dragon"); if (wch->class == CLASS_ANTIPALADIN) sprintf(kav,"Anti-Paladin"); if (wch->class == CLASS_ZOMBIE) sprintf(kav,"Zombie"); if (wch->class == CLASS_BLADE_MASTER) sprintf(kav,"Blade Master"); if (wch->class == CLASS_PRIEST) sprintf(kav,"Priest"); if (wch->class == CLASS_UNDEAD_LYCAN) sprintf(kav, "Undead Lycan"); if (wch->class == CLASS_HELLS_SOLDIER)sprintf(kav, "Hells Soldier"); if (wch->class == CLASS_GAIA_WOLF) sprintf(kav, "Gaia Wolf"); if (wch->class == CLASS_SHADOWBORN) sprintf(kav, "Shadowborn"); if (wch->class == CLASS_DRUID) sprintf(kav, "Druid"); if (wch->class == CLASS_SHADOW_DRAGON)sprintf(kav, "Shadow Dragon"); if (wch->class == CLASS_SHADOW_FIEND) sprintf(kav, "Shadow Fiend"); if (wch->class == CLASS_STALKER) sprintf(kav, "Stalker"); if (wch->class == CLASS_HELL_SPAWN) sprintf(kav, "Hell Spawn"); if (wch->class == CLASS_BLACK_ASSASSIN) sprintf(kav, "Black Assassin"); if (wch->class == CLASS_VAMPIRIC_MIST) sprintf(kav, "Vampiric Mist"); if (wch->class == CLASS_GHOUL) sprintf(kav,"Ghoul"); if (wch->class == CLASS_SILVER_DRAGON) sprintf(kav,"Silver Dragon"); if (wch->class == CLASS_GOLD_DRAGON) sprintf(kav,"Gold Dragon"); if (wch->class == 0) sprintf(kav, "none"); /* * Let's figure out where to place the player. */ if (wch->level > 6 ) { sprintf(buf1 + strlen(buf1), " %37s %s\n\r", wch->pcdata->switchname, title); a1 = TRUE; } else if (wch->level >= 3 && wch->level <= 6) { if (mightRate > 3500) { sprintf(buf2 + strlen(buf2), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith ,god); a2 = TRUE; avatars = TRUE; } else if (mightRate > 3250) { sprintf(buf3 + strlen(buf3), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith, god); a3 = TRUE; avatars = TRUE; } else if (mightRate > 3000) { sprintf(buf4 + strlen(buf4), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith, god); a4 = TRUE; avatars = TRUE; } else if (mightRate > 2750) { sprintf(buf5 + strlen(buf5), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith, god); a5 = TRUE; avatars = TRUE; } else if (mightRate > 2500) { sprintf(buf6 + strlen(buf6), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith, god); a6 = TRUE; avatars = TRUE; } else if (mightRate > 2250) { sprintf(buf7 + strlen(buf7), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith, god); a7 = TRUE; avatars = TRUE; } else if (mightRate > 2000) { sprintf(buf8 + strlen(buf8), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith, god); a8 = TRUE; avatars = TRUE; } else if (mightRate > 1750) { sprintf(buf9 + strlen(buf9), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith, god); a9 = TRUE; avatars = TRUE; } else if (mightRate > 1500) { sprintf(buf10 + strlen(buf10), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith, god); a10 = TRUE; avatars = TRUE; } else if (mightRate > 1250) { sprintf(buf11 + strlen(buf11), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith, god); a11 = TRUE; avatars = TRUE; } else if (mightRate > 1000) { sprintf(buf12 + strlen(buf12), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith, god); a12 = TRUE; avatars = TRUE; } else if (mightRate > 750) { sprintf(buf13 + strlen(buf13), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith, god); a13 = TRUE; avatars = TRUE; } else if (mightRate > 500) { sprintf(buf14 + strlen(buf14), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith, god); a14 = TRUE; avatars = TRUE; } else if (mightRate >= 150) { sprintf(buf15 + strlen(buf15), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith, god); a15 = TRUE; avatars = TRUE; } else { sprintf(buf16 + strlen(buf16), " %-6s #7%s #0the %s #G%s#0 #R%s#0 %s worships %s\n\r", pkratio, wch->pcdata->switchname, sexbuf, title, kav, faith, god); a16 = TRUE; avatars = TRUE; } } else if (wch->level < 3) { sprintf(buf17 + strlen(buf17), " %-6s #7%s #0the %s #G%s#0\n\r", pkratio, wch->pcdata->switchname, sexbuf, title); a17 = TRUE; } } /* * Let's send the whole thing to the player. */ // switch(number_range(1,4)) // { // case 1: // sprintf(buf, "\n\r #R(*)*********************(**)= #rKinder von der Nacht#R =(**)*********************(*)#n\n\r"); // send_to_char(buf, ch); // // sprintf(buf, "\n\r #R(*)*********************(**)= #rXraks Message#R =(**)*********************(*)#n\n\r"); // send_to_char(buf, ch); // if(!IS_NPC(ch)){ // sprintf(buf, "%s\n\r",ch->pcdata->xrakwho); // send_to_char(NULL,buf); //} // if (wch->xrakwho != NULL && strlen(wch->xrakwho) > 1) //{ // sprintf(buf, "%s\n\r",ch->xrakwho); // send_to_char(buf, ch); // //} // if (wch->xrakwho == NULL && strlen(wch->xrakwho) == 1) //{ // stc( "#gHRM\n\r", ch); // //} // else (wch->xrakwho == NULL) // return; char *wordwrapchange(char *word) { char newword[MAX_STRING_LENGTH]; char newword2[MAX_STRING_LENGTH]; int i = 0, x = 0, n = 0, v = 0; // i = original word position // x = newword position // n = spacer // v = letter count for ( i = 0; i < strlen(word); i++ ) { if ( word[i] == ' ' && v > 500 ) { v = 0; newword[x++] = '\n'; for ( n = 0; n < 29; n++ ) { newword[x++] = ' '; } } newword[x++] = word[i]; v++; } newword[x++] = '\0'; strcpy(newword2,newword); return str_dup(newword2); } mxp_to_char(ch, "#7X#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#7X#n <U><I><B>#7Ch#ni#0ld#nr#7en #Co#cf #Ct#ch#Ce #7N#ni#0g#nh#7t</B></U></I> #7X#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#7X#n#n\n\r", MXP_ALL); // mxp_to_char(ch, "<U><B>This is underlined bold text</B></U>\n\r", MXP_ALL); // send_to_char(buf, ch); if (a1) { sprintf(buf, "#7X#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#7X#n #YS#ytaff #7X#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#7X#n#n\n\r"); send_to_char(buf, ch); send_to_char(buf1, ch); } if (avatars) { // sprintf(buf, "\n\r #g*>=<*>=<*>=<*>=<*>=<*>=<*>=<*>=<*><> #gAvatars #g<><*>=<*>=<*>=<*>=<*>=<*>=<*>=<*>=<*>#n\n\r"); sprintf(buf, "#7X#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#7X#n #YA#yvatars #7X#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#7X#n\n\r"); send_to_char(buf, ch); if (a2) send_to_char(buf2, ch); if (a3) send_to_char(buf3, ch); if (a4) send_to_char(buf4, ch); if (a5) send_to_char(buf5, ch); if (a6) send_to_char(buf6, ch); if (a7) send_to_char(buf7, ch); if (a8) send_to_char(buf8, ch); if (a9) send_to_char(buf9, ch); if (a10) send_to_char(buf10, ch); if (a11) send_to_char(buf11, ch); if (a12) send_to_char(buf12, ch); if (a13) send_to_char(buf13, ch); if (a14) send_to_char(buf14, ch); if (a15) send_to_char(buf15, ch); if (a16) send_to_char(buf16, ch); } if (a17) { // sprintf(buf, "\n\r #R<*>=<*>=<*>=<*>=<*>=<*>=<*>=<*>=<*><> #gMortals #R<><*>=<*>=<*>=<*>=<*>=<*>=<*>=<*>=<*>#n\n\r"); // sprintf(buf, "#4 - - - - -#6- ---===#7 #gMortals #6===--- -#4- - - - -#n\n\r"); sprintf(buf, "#7X#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#7X #YM#yortals #7X#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#7X#n\n\r"); send_to_char(buf, ch); send_to_char(buf17, ch); } sprintf(buf, "#7X#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#7X #YM#yud #YI#ynfo #7X#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#7X#n\n\r"); send_to_char(buf, ch); send_to_char("\n\r",ch); sprintf(buf, " #7%d#n/#7%d #YV#yisible #Yp#ylayers #Ya#ynd #7%d #Yv#yisible #Yi#ymmortals #Yc#yonnected #Yt#yo#n #7Ch#ni#0ld#nr#7en #Co#cf #Ct#ch#Ce #7N#ni#0g#nh#7t#n\n\r", nPlayerVis, nPlayerAll, nImmVis); send_to_char(buf, ch); a = mudinfo[MUDINFO_UPDATED] / 120; b = a / 24; c = a - b * 24; sprintf(buf, " #n[#YT#yhe #YS#ytatistics #YB#yelow #YR#yeset#n:#7 %d #Yd#yays #Ya#ynd #7%d #Yh#yours #Ya#ygo#n]#n\n\r",b,c); send_to_char(buf, ch); sprintf(buf, " #n[#YA#yverage #YO#ynline#n:#7 %d#n][#YP#yeak #YO#ynline#n:#7 %d#n][#YP#yeak #YO#ynline #YS#yince #YA#yug #Y3#yrd, #Y2010#n:#7 %d#n]#n\n\r", (mudinfo[MUDINFO_MCCP_USERS] + mudinfo[MUDINFO_OTHER_USERS]) / mudinfo[MUDINFO_UPDATED], mudinfo[MUDINFO_PEAK_USERS], max_ever); send_to_char(buf, ch); // New stuff starts here -Xrak a = mudinfo[MUDINFO_MBYTE] * 1024 + mudinfo[MUDINFO_BYTE] / 1024; b = a / (mudinfo[MUDINFO_UPDATED] * 3); c = b / 10; c = c * 10; c = b - c; sprintf(buf, " #n[#YP#ylayers #YS#yince #YM#yarch#7 29 2005#n:#7 %d#n][#YD#yatatransfer #n:#Y A#yverage #YR#yate#c: #n%d.%d #Yk#yb/#Ys#yec#n]\n\r", top_playerid, b / 10, c); send_to_char(buf, ch); b = mudinfo[MUDINFO_DATA_PEAK] / (3 * 1024); c = b / 10; c = c * 10; c = b - c; sprintf(buf, " #n[#YD#yata #YT#yransfers#n]#R:#n [#YP#yeak #YR#yate#7: %d.%d #Yk#yb/#Ys#yec#n][#YT#yhis #YR#yeboot#n:#7 %dMB#n][#YT#yhis #YW#yeek#n:#7 %dMB#n]#n\n\r", b / 10, c, mudinfo[MUDINFO_MBYTE_S], mudinfo[MUDINFO_MBYTE] ); send_to_char(buf, ch); // The comment used to end here -xrak /* maxon1 += nPlayerVis; maxon1 += nPlayerAll; maxon1 += nImmVis; max_on = UMAX ( maxon1, max_on ); max_on = maxon1; if ( max_on > max_ever ) { sync_stats ( ); } */ send_to_char("\n\r",ch); sprintf(buf, "#7X#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#7X #7Ch#ni#0ld#nr#7en #Co#cf #Ct#ch#Ce #7N#ni#0g#nh#7t#n #7X#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#R=#r=#7X#n\n\r"); send_to_char(buf, ch); return; }