|
|
@@ -1,8 +1,5 @@
|
|
|
#nop vim: filetype=tt
|
|
|
|
|
|
-#class login kill;
|
|
|
-#class login open;
|
|
|
-
|
|
|
#var login[session] {};
|
|
|
#var login[user] {};
|
|
|
#var login[autoexec] {};
|
|
|
@@ -15,56 +12,152 @@
|
|
|
};
|
|
|
|
|
|
#event {SESSION CONNECTED} {
|
|
|
- #if { "%0" == "$login[session][name]" } {
|
|
|
- #class auto-login kill;
|
|
|
- #class auto-login open;
|
|
|
-
|
|
|
- #nop 如果角色设置了 GMCP 支持,则积极回应服务器的 GMCP 协商请求。;
|
|
|
- #if { "$user[GMCP]" == "true" } {
|
|
|
- load-lib gmcp;
|
|
|
- gmcp.Enable;
|
|
|
- };
|
|
|
+ #if { "%0" !== "$login[session][name]" } {
|
|
|
+ #return;
|
|
|
+ };
|
|
|
+
|
|
|
+ login.auto-login;
|
|
|
+};
|
|
|
+
|
|
|
+#alias {login.auto-login} {
|
|
|
+ #class login.auto-login open;
|
|
|
+
|
|
|
+ #config {IAC GA} {OFF};
|
|
|
|
|
|
- #if { "$session[UTF8]" == "true" } {
|
|
|
- #config {charset} {UTF-8};
|
|
|
+ #nop 如果角色设置了 GMCP 支持,则积极回应服务器的 GMCP 协商请求。;
|
|
|
+ #if { "$user[GMCP]" == "true" } {
|
|
|
+ load-lib gmcp;
|
|
|
+ gmcp.Enable;
|
|
|
+ };
|
|
|
+
|
|
|
+ #if { "$session[UTF8]" == "true" } {
|
|
|
+ #config {charset} {UTF-8};
|
|
|
+ };
|
|
|
+ #else {
|
|
|
+ #config {charset} {GBK1TOUTF8};
|
|
|
+ };
|
|
|
+
|
|
|
+ #line oneshot #action {^%sWelcome to Xi You Ji! Select GB or BIG5 (gb/big5):$} {
|
|
|
+ #line oneshot #event {CATCH VT100 ERASE SCREEN ALL} {#0;#buffer end};
|
|
|
+ xtt.Answer gb;
|
|
|
+ };
|
|
|
+
|
|
|
+ #line oneshot #action {^您是否是中小学学生或年龄更小?(yes/no)$} {
|
|
|
+ #delay 0 #send no;
|
|
|
+ };
|
|
|
+
|
|
|
+ #line oneshot #action {^您的英文名字:(新玩家请键入 new 注册)$} {
|
|
|
+ #if { "$login[user][id]" != "" } {
|
|
|
+ xtt.Answer {$login[user][id]};
|
|
|
};
|
|
|
#else {
|
|
|
- #config {charset} {GBK1TOUTF8};
|
|
|
+ #line oneshot #macro {\n} {
|
|
|
+ #cursor get {login[user][id]};
|
|
|
+ #cursor clear;
|
|
|
+ #if { "$login[user][id]" == "#%*" } {
|
|
|
+ #var login[user][id] {};
|
|
|
+ };
|
|
|
+ #if { "$login[user][id]" != "" } {
|
|
|
+ xtt.Answer {$login[user][id]};
|
|
|
+ };
|
|
|
+ };
|
|
|
};
|
|
|
+ };
|
|
|
|
|
|
- #line oneshot #action {^%sWelcome to Xi You Ji! Select GB or BIG5 (gb/big5):$} {
|
|
|
- #line oneshot #event {CATCH VT100 ERASE SCREEN ALL} {#0};
|
|
|
- xtt.Answer gb;
|
|
|
+ #action {^请输入相应密码:$} {
|
|
|
+ #if { "$login[user][passwd]" != "" } {
|
|
|
+ xtt.Answer {$login[user][passwd]};
|
|
|
+ #delay {login.check} {look} 1;
|
|
|
};
|
|
|
-
|
|
|
- #line oneshot #action {^您是否是中小学学生或年龄更小?(yes/no)$} {
|
|
|
- #delay 0 #send no;
|
|
|
+ #else {
|
|
|
+ #cursor flag echo on;
|
|
|
+ #line oneshot #macro {\n} {
|
|
|
+ #cursor get {login[user][passwd]};
|
|
|
+ #cursor clear;
|
|
|
+ #if { "$login[user][passwd]" != "" } {
|
|
|
+ xtt.Answer {$login[user][passwd]};
|
|
|
+ };
|
|
|
+ };
|
|
|
};
|
|
|
+ };
|
|
|
|
|
|
- #line oneshot #action {^您的英文名字:(新玩家请键入 new 注册)$} {
|
|
|
- xtt.Answer $login[user][id];
|
|
|
- };
|
|
|
+ #line oneshot #action {^您要将另一个连线中的相同人物赶出去,取而代之吗?(y/n)$} {
|
|
|
+ xtt.Answer y;
|
|
|
+ };
|
|
|
|
|
|
- #action {^请输入相应密码:$} {
|
|
|
- xtt.Answer {$login[user][passwd]};
|
|
|
- };
|
|
|
+ #line oneshot #action {^重新连线完毕。$} {
|
|
|
+ #delay {login.auto-login.success} {login.auto-login.success 断线重连} 0;
|
|
|
+ };
|
|
|
|
|
|
- #line oneshot #action {^您要将另一个连线中的相同人物赶出去,取而代之吗?(y/n)$} {
|
|
|
- xtt.Answer y;
|
|
|
- };
|
|
|
+ #alias {login.auto-login.success} {
|
|
|
+ #local type {%%1};
|
|
|
|
|
|
- #line oneshot #action {^重新连线完毕。$} {
|
|
|
- #delay 0 {
|
|
|
- #showme 登录成功。;
|
|
|
- #local handler $login[autoexec];
|
|
|
- #class auto-login kill;
|
|
|
- #class login kill;
|
|
|
- $handler;
|
|
|
- };
|
|
|
+ #if { @isTrue{$login[user][manual]} } {
|
|
|
+ login.write-id-file;
|
|
|
+ login.init-game;
|
|
|
};
|
|
|
|
|
|
- #class auto-login close;
|
|
|
+ #showme 登录成功。;
|
|
|
+
|
|
|
+ #local handler $login[autoexec];
|
|
|
+ #class login.auto-login kill;
|
|
|
+ #undelay login.auto-login.success;
|
|
|
+ kill-module login;
|
|
|
+ $handler;
|
|
|
};
|
|
|
+
|
|
|
+ #class login.auto-login close;
|
|
|
};
|
|
|
|
|
|
-#class login close;
|
|
|
+#alias {login.init-game} {
|
|
|
+ #if { "$login[user][id]" == "" || "$user[id]" != "" } {
|
|
|
+ #return;
|
|
|
+ };
|
|
|
+
|
|
|
+ #var user[id] {$login[user][id]};
|
|
|
+ #var user[passwd] {$login[user][passwd]};
|
|
|
+ #gts #var user[id] {$login[user][id]};
|
|
|
+ #gts #var user[passwd] {$login[user][passwd]};
|
|
|
+
|
|
|
+ #local path {$user[id]};
|
|
|
+ #if { "$session[log_path]" != "" } {
|
|
|
+ #local path {$session[log_path]};
|
|
|
+ };
|
|
|
+
|
|
|
+ #if { !@InitLog{$path} } {
|
|
|
+ #echo {<119>创建日志目录 $gLog[PATH]/$path 时遇到错误。<299>};
|
|
|
+ #echo {<139>请检查你的安装环境,或者参考使用手册重新安装本软件。<299>};
|
|
|
+ #return;
|
|
|
+ };
|
|
|
+
|
|
|
+ log.Open;
|
|
|
+ #screen set title GAME-$user[id];
|
|
|
+
|
|
|
+ NOTE 启动配置文件已生成,下次你可以直接 start $login[user][id] 进入游戏。;
|
|
|
+};
|
|
|
+
|
|
|
+#alias {login.write-id-file} {
|
|
|
+ #if { "$login[user][id]" == "" || "$user[id]" != "" } {
|
|
|
+ #return;
|
|
|
+ };
|
|
|
+
|
|
|
+ #local id-file {ids/$login[user][id]};
|
|
|
+
|
|
|
+ #local output {};
|
|
|
+ #script output {test -d var/ids && echo true || echo false};
|
|
|
+ #if { "$output[1]" == "true" } {
|
|
|
+ #local id-file {var/$id-file};
|
|
|
+ };
|
|
|
+
|
|
|
+ #if { @existsFile{$id-file} } {
|
|
|
+ #return;
|
|
|
+ };
|
|
|
+
|
|
|
+ #script output {cp ids/thuxyj $id-file};
|
|
|
+ #script output {sed -i.bak 's/^#var user\[id\] {.*};$/#var user[id] {$login[user][id]};/' $id-file};
|
|
|
+ #script output {sed -i.bak 's/^#var user\[name\] {.*};$/#var user[name] {};/' $id-file};
|
|
|
+ #script output {sed -i.bak 's/^#var user\[passwd\] {.*};$/#var user[passwd] {$login[user][passwd]};/' $id-file};
|
|
|
+ #script output {sed -i.bak '/^#nop 上面三处修改完毕之后,请删除下面这行文字:;$/d' $id-file};
|
|
|
+ #script output {sed -i.bak '/^#var user\[manual\] {true};$/d' $id-file};
|
|
|
+ #script output {rm ${id-file}.bak};
|
|
|
+};
|