#include <sys/types.h> #include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include "emlen.h" void draw_menu (CHAR_DATA * ch) { send_to_char ("\x1B[2J\x1B[1;8r\x1B[1;1f", ch); send_to_char ("1. Start world save 2. Clear all tps\n\r", ch); send_to_char ("3. Reload Helpfiles 4. Reload Score/Info Data\n\r", ch); send_to_char ("5. Start 5 tick reboot 6. Save all players online\n\r", ch); send_to_char ("7. Delete inactive characters 8. Set all last login to now\n\r", ch); send_to_char ("9. Write players.txt to disk\n\r", ch); return; } void draw_mp (CHAR_DATA * ch) { send_to_char ("\x1B[20;1f(Q = quit menu) Option: ", ch); return; } void enter_menu (CHAR_DATA * ch, char *argy) { DEFINE_COMMAND ("menu", enter_menu, POSITION_DEAD, 110, LOG_NORMAL, "Menu of a few god-options.") if (ch->desc) ch->desc->connected = CON_GODMENU; draw_menu (ch); draw_mp (ch); return; } void menu_interp (CHAR_DATA * ch, char *inpt) { if (*inpt == '1') { interpret (ch, "asave world"); draw_menu (ch); send_to_char ("\x1B[19;1f[World save started]", ch); draw_mp (ch); } else if (*inpt == '2') { do_catps (ch, ""); draw_menu (ch); send_to_char ("\x1B[19;1f[All travel points cleared]", ch); draw_mp (ch); } else if (*inpt == '3') { do_reload_help (ch, ""); draw_menu (ch); send_to_char ("\x1B[19;1f[Help files reloaded]", ch); draw_mp (ch); } else if (*inpt == '4') { read_score (ch, ""); draw_menu (ch); send_to_char ("\x1B[19;1f[Score/Info data reloaded]", ch); draw_mp (ch); } else if (*inpt == '5') { interpret (ch, "reboot 6"); draw_menu (ch); send_to_char ("\x1B[19;1f[Reboot set to 5 ticks]", ch); draw_mp (ch); } else if (*inpt == '6') { do_allsave (ch, ""); draw_menu (ch); send_to_char ("\x1B[19;1f[Everyone Online's Pfile has been saved to disk]", ch); draw_mp (ch); } else if (*inpt == '7') { write_to_descriptor2 (ch->desc, "\n\rPlease wait... deleting old chars...", 0); clean_oldchars (ch, ""); draw_menu (ch); send_to_char ("\x1B[19;1f[Deleted old characters]", ch); draw_mp (ch); } else if (*inpt == '8') { p_refresh (ch, ""); draw_menu (ch); send_to_char ("\x1B[19;1f[All players in playerbase; set last login to now]", ch); draw_mp (ch); } else if (UPPER ((*inpt)) == 'Q') { do_clear (ch, ""); if (ch->desc) ch->desc->connected = CON_PLAYING; return; } else { draw_menu (ch); draw_mp (ch); } return; }