/* This overrides the default die, handling extra server stuff. * Send a QUIT if on the server. */ static void my_cmd_die(struct userrec *u, int idx, char *par) { cycle_time = 100; if (server_online) { dprintf(-serv, "QUIT :%s\n", par[0] ? par : dcc[idx].nick); sleep(3); /* Give the server time to understand */ } nuke_server(NULL); cmd_die(u, idx, par); }
void GameEvent(CORE_DATA *cd) { switch (cd->event) { case EVENT_START: RegisterPlugin(OPENCORE_VERSION, CORE_NAME, "cycad", OPENCORE_VERSION, __DATE__, __TIME__, "core handler", 0, 0); register_commands(); break; case EVENT_COMMAND: switch (cd->cmd_id) { case CMD_DIE: cmd_die(cd); break; case CMD_STOPBOT: cmd_stopbot(cd); break; case CMD_GETFILE: cmd_getfile(cd); break; case CMD_PUTFILE: cmd_putfile(cd); break; case CMD_LISTBOTS: cmd_listbots(cd); break; case CMD_TYPES: cmd_types(cd); break; case CMD_LOADTYPES: cmd_loadtypes(cd); break; case CMD_LOG: cmd_log(cd); break; case CMD_CMDLOG: cmd_cmdlog(cd); break; case CMD_ABOUT: cmd_about(cd); break; case CMD_INSLIB: cmd_inslib(cd); break; case CMD_RMLIB: cmd_rmlib(cd); break; case CMD_HELP: cmd_help(cd); break; case CMD_SYSINFO: cmd_sysinfo(cd); break; case CMD_LOADOPS: cmd_loadops(cd); break; case CMD_LISTOPS: cmd_listops(cd); break; case CMD_EXEC: cmd_exec(cd); break; case CMD_STARTBOT: cmd_startbot(cd); break; case CMD_GO: cmd_go(cd); break; default: break; } break; default: break; } }