⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 remote.vtc

📁 Unix下的MUD客户端程序
💻 VTC
字号:
func Connect(addr, port) { return connect(addr, port) ? : perror("connect"); }func cur_world() { return cur_rmt ? obj(cur_rmt) : NULL; }func reset_prompt() {	prompt = (cur_rmt && cur_rmt->rprompt) ? cur_rmt->rprompt : "";}func dispatch(line / rmt, iskbd) {	rmt ?:= cur_rmt;	if (!rmt)		return;	(*rmt->type->outbound)(rmt, line, iskbd);}func receive(line) { pass(cur_rmt, line); }func log_string(r) { return (r && r->logfile)			? bprintf("[Log: %s]", file_name(r->logfile)) : ""; }func log(name / rmt) [fp, oldstr] {	fp = fopen(name, "a");	if (!fp)		return printf("Can't open file %s\n", name);	rmt ?:= cur_rmt;	clear_log(rmt);	oldstr = log_string(rmt);	rmt->logfile = fp;	if (rmt_win(rmt))		change_status(rmt_win(rmt), oldstr, log_string(rmt));}func clear_log(/ rmt) {	rmt ?:= cur_rmt;	if (rmt_win(rmt))		change_status(rmt_win(rmt), log_string(rmt), "");	if (rmt->logfile)	       fclose(rmt->logfile);}func Log(s) {	if (!cur_rmt)		output("Cannot log without remote connection.\n");	else if (!stricmp(s, "off"))		clear_log();	else if (*s)		log(s);	else if (cur_rmt->logfile)		printf("Currently logging to %s\n",		       file_name(cur_rmt->logfile));	else		printf("Not currently logging.\n");}func world(world / login, win) [rmt] {	win ?:= cur_win;	for (rmt = head(T_RMT); rmt && obj(rmt) != world; rmt = next(rmt));	if (rmt) {		if (rmt_win(rmt) && rmt_win(rmt) != win)			std_display(rmt_win(rmt), NULL);		std_display(win, rmt);		return rmt;	}	rmt = Connect(world->addr, world->port);	if (!rmt)		return;	world->rmt = rmt;	set_obj(rmt, world);	set_netread(rmt, world->type->netread);	set_promptread(rmt, world->type->promptread);	(*world->type->init)(world, rmt, login);	if (win)		std_display(win, rmt);	return rmt;}func World(s) [nologin, world] {	if (*s == '-') {		nologin = 1;		s++;	}	return world(Find_world(s), !nologin);}func Dc() { if (cur_rmt) disconnect(cur_rmt); else output("No remote.\n"); }func Wrapspace(s) { wrapspace = atoi(s); }add_cmd("log", -1, .Log, "/log [off|<filename>]");add_cmd("world", 1, .World, "/world <worldname>");add_cmd("dc", 0, .Dc, "/dc");add_cmd("wrapspace", 1, .Wrapspace, "/wrapspace <spaces>");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -