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

📄 quote.vtc

📁 Unix下的MUD客户端程序
💻 VTC
字号:
func quote(delay, prefix, suffix, cmdflag, fname) [fp] {	fp = cmdflag ? popen(fname, "r") : fopen(fname, "r");	if (!fp)		return output("Cannot open: " + fname + "\n");	while (1) {		if (delay)			sleep(delay);		if (!input_waiting(fp))			continue;		line = fread(fp);		if (!line)			break;		if (line[strlen(line) - 1] == '\n')			line[strlen(line) - 1] = '\0';		if (!*prefix)			send(line, suffix, "\n");		else if (*prefix == '/')			process_cmdline(prefix + "%*" + suffix, line, alloc(1));		else			handle_line(prefix + line + suffix);	}	fclose(fp);}func repeat(delay, count, cmd) {	while (count--) {		if (delay)			sleep(delay);		process_cmdline(cmd);	}}func unescape(s) { for (; *s; s++) if (*s == '\\') strcpy(s, ++s);  }// Black magic.	 But they work, trust me.quotefmt = regcomp("^(-[0-9]+ +|)((\\\\.|[^\\'!])*)(['!])(\"((\\\\.|[\^\\\"])*)\"(.*)|(.*))$");func Quote(s) [a, suffix] {	if (!regexec(quotefmt, s))		return printf("Invalid /quote syntax: %s\n", s);	a = regmatch_array(quotefmt);	unescape(a[2]);	unescape(suffix = a[8] ? : "");	quote(atoi(a[1] + 1), a[2], suffix, *a[4] == '!', a[6] ? : a[9]);}repeatfmt = regcomp("^(-[0-9]+ +|)([0-9]+|[Ff]orever) *(.*)$");func Repeat(s) [a, num] {	if (!regexec(repeatfmt, s))		return printf("Invalid /repeat syntax: %s\n", s);	a = regmatch_array(repeatfmt);	num = stricmp(a[2], "forever") ? atoi(a[2]) : -1;	repeat(atoi(a[1] + 1), num, a[3]);}add_cmd("quote", -1, .Quote, "/quote [-<delay>] <prefix>['!]<file/cmd>");add_cmd("repeat", -1, .Repeat, "/repeat [-<delay>] <number> <command>");

⌨️ 快捷键说明

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