| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- #nop vim: set filetype=tt:;
- /*
- 模块名称:几个常用的别名
- 模块说明:本文件属于框架代码的一部分,不建议修改。如有需求请在 GitHub 发 issue 或者 PR
- 版权声明:本文件属于 PaoTin++ 的一部分
- ===========
- PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
- 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
- ===========
- */
- #var login[session] {};
- #var login[user] {};
- #var login[autoexec] {};
- #alias {login} {
- #var login[session] {%1};
- #var login[user] {%2};
- #var login[autoexec] {%3};
- #session {$session[name]} {$session[host]} {$session[port]};
- };
- #event {SESSION CONNECTED} {
- #if { "%0" !== "$login[session][name]" } {
- #return;
- };
- login.auto-login;
- };
- #alias {login.login-success} {
- #local type {%%1};
- #showme 登录成功。;
- #nop 如果角色设置了 MXP 支持,则在建连之后主动向服务器发起 MXP 协商。;
- #nop 否则需要主动回车以放弃 MXP 协商。;
- #if { "$user[MXP]" == "true" } {
- load-lib mxp;
- #if { @existsAlias{mxp.Enable} } {
- mxp.Enable;
- };
- #else {
- #cr;
- };
- };
- #else {
- #cr;
- };
- #if { @isFalse{$login[user][manual]} } {
- login.online;
- #return;
- };
- #line oneshot #action {^%u目前正在连线中。$} {
- #var login[user][name] {%%1};
- #delay 0 {
- login.write-id-file;
- login.init-game;
- login.online;
- };
- };
- finger $login[user][id];
- };
- #alias {login.online} {
- #local handler $login[autoexec];
- #class login.auto-login kill;
- #undelay login.login-success;
- kill-module login;
- $handler;
- #if { "$user[GMCP]" == "true" } {
- #delay 1 {
- load-module gmcp;
- gmcp.${gCurrentMUDLIB}.Enable;
- };
- };
- };
- #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]};
- #if { @existsDir{var/ids} } {
- #local id-file {var/$id-file};
- };
- #if { @existsFile{$id-file} } {
- #return;
- };
- #scan {file} {ids/$gCurrentMUDLIB} {login.write-id-file.do {$id-file} {&1}};
- };
- #nop 因为 #scan 命令和 #replace 命令都要用 &1,会存在冲突,因此需要分开两个 #alias 来写。;
- #alias {login.write-id-file.do} {
- #local file {%1};
- #local content {%2};
- #replace {content} {#var user[id] %s \x7b%*\x7d;} {#var user[id] &1 {$login[user][id]};};
- #replace {content} {#var user[name] %s \x7b%*\x7d;} {#var user[name] &1 {$login[user][name]};};
- #replace {content} {#var user[passwd] %s \x7b%*\x7d;} {#var user[passwd] &1 {$login[user][passwd]};};
- #replace {content} {#nop 上面三处修改完毕之后,请删除下面这行文字:;\n} {};
- #replace {content} {#var user[manual] %s \x7b%*\x7d;\n} {};
- #line quiet #log remove $file;
- #line log $file {$content\};
- };
|