| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- #nop GMCP 北侠支持库;
- #nop vim: set filetype=tt:;
- /*
- 本文件属于 PaoTin++ 的一部分。
- PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
- 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
- */
- load-lib telnet;
- load-lib option;
- load-lib event;
- load-lib gmcp;
- event.Define {GMCP.Move} {无参} {$MODULE} {接收到 GMCP 移动信息,已更新 gGMCP[Move]};
- event.Define {GMCP.Status} {无参} {$MODULE} {接收到 GMCP 角色状态,已更新 gGMCP[Status]};
- event.Define {GMCP.Combat} {无参} {$MODULE} {接收到 GMCP 战斗信息,已更新 gGMCP[Combat]};
- event.Define {GMCP.Buff} {无参} {$MODULE} {接收到 GMCP BUFF状态,已更新 gGMCP[Buff]};
- event.Define {GMCP.Message} {无参} {$MODULE} {接收到 GMCP 聊天信息,已更新 gGMCP[Message]};
- #var {gmcp.key-e2c} {
- {Move} {
- {result} {成功}
- {dir} {出口信息}
- {short} {房间名}
- }
- {Status} {
- {name} {姓名}
- {max_qi} {最大气血}
- {qi} {气血}
- {jingli} {精力}
- {food} {食物}
- {eff_jing} {有效精神}
- {jing} {精神}
- {title} {头衔}
- {family/family_name} {门派}
- {combat_exp} {经验}
- {vigour/qi} {真气}
- {max_jing} {最大精神}
- {level} {级别}
- {vigour/yuan} {真元}
- {max_jingli} {最大精力}
- {neili} {内力}
- {water} {饮水}
- {eff_qi} {有效气血}
- {max_neili} {最大内力}
- {is_busy} {忙}
- {per} {容貌}
- {int} {悟性}
- {fighter_spirit} {战意}
- {is_fighting} {战斗中}
- {dex} {身法}
- {con} {根骨}
- {potential} {潜能}
- {str} {膂力}
- }
- {Combat} {
- {enemy_in} {敌人加入}
- {qi_damage} {气血伤害}
- {jing_wound} {精血受损}
- {qi_wound} {气血受损}
- {eff_jing_pct} {有效精血百分比}
- {enemy_out} {敌人退出}
- {eff_qi_pct} {有效气血百分比}
- {jing_pct} {精血百分比}
- {jing_damage} {精血伤害}
- {qi_pct} {气血比率}
- {name} {姓名}
- {perform_name} {绝招名称}
- {perform_cd} {CD时长}
- {perform_id} {绝招ID}
- }
- {Buff} {
- {type} {效果类型}
- {is_end} {效果结束}
- {last_inc} {效果延时}
- {name} {效果名称}
- {effects} {具体效果}
- {effect1} {效果1}
- {effect2} {效果2}
- {effect3} {效果3}
- {effect4} {效果4}
- {effect5} {效果5}
- {last_time} {持续时间}
- {terminated} {将中止的效果}
- }
- {Message} {
- {channel} {频道}
- {type} {信息类型}
- {seq} {图片编号}
- {no} {QQ号码}
- {name} {姓名}
- {url} {下载地址}
- }
- };
- #alias {gmcp.pkuxkx.Enable} {
- #event {IAC SB GMCP GMCP.Status IAC SE} {gmcp.pkuxkx.OnStatus {%%1} {%%2}};
- #event {IAC SB GMCP GMCP.Move IAC SE} {gmcp.pkuxkx.OnMove {%%1} {%%2}};
- #event {IAC SB GMCP GMCP.Combat IAC SE} {gmcp.pkuxkx.OnCombat {%%1} {%%2}};
- #event {IAC SB GMCP GMCP.Buff IAC SE} {gmcp.pkuxkx.OnBuff {%%1} {%%2}};
- #event {IAC SB GMCP GMCP.Message IAC SE} {gmcp.pkuxkx.OnMessage {%%1} {%%2}};
- tune gmcp status on;
- tune gmcp move on;
- tune gmcp buff on;
- tune gmcp combat on;
- tune gmcp message on;
- };
- #alias {gmcp.pkuxkx.OnStatus} {
- mudLog GMCP.Status: {%2};
- #line sub escapes #var gGMCP[Status] {%1};
- gmcp.translate-key Status;
- #if { @option.IsEnable{GMCPDebug} } {
- #var gGMCP[Status];
- };
- event.Emit GMCP.Status {};
- };
- #alias {gmcp.pkuxkx.OnMove} {
- mudLog GMCP.Move: {%2};
- #line sub escapes #var gGMCP[Move] {%1};
- #var gGMCP[Move] {$gGMCP[Move][1]};
- gmcp.translate-key Move;
- #list gGMCP[Move][出口信息] sort;
- #if { @option.IsEnable{GMCPDebug} } {
- #var gGMCP[Move];
- };
- event.Emit GMCP.Move {};
- };
- #alias {gmcp.pkuxkx.OnCombat} {
- mudLog GMCP.Combat: {%2};
- #line sub escapes #var gGMCP[Combat] {%1};
- #var gGMCP[Combat] {$gGMCP[Combat][1]};
- gmcp.translate-key Combat;
- #if { @option.IsEnable{GMCPDebug} } {
- #var gGMCP[Combat];
- };
- event.Emit GMCP.Combat {};
- };
- #alias {gmcp.pkuxkx.OnBuff} {
- mudLog GMCP.Buff: {%2};
- #line sub escapes #var gGMCP[Buff] {%1};
- gmcp.translate-key Buff;
- #if { @option.IsEnable{GMCPDebug} } {
- #var gGMCP[Buff];
- };
- event.Emit GMCP.Buff {};
- };
- #alias {gmcp.pkuxkx.OnMessage} {
- mudLog GMCP.Message: {%2};
- #line sub escapes #var gGMCP[Message] {%1};
- gmcp.translate-key Message;
- #if { @option.IsEnable{GMCPDebug} } {
- #var gGMCP[Message];
- };
- event.Emit GMCP.Message {};
- };
- #alias {gmcp.translate-key} {
- #local class {%1};
- #if { "$class" != "{Move|Status|Combat|Buff|Message}" } {
- #return;
- };
- #local key {};
- #foreach {*gGMCP[$class][]} {key} {
- #local new {$gmcp.key-e2c[$class][$key]};
- #if { "$new" == "" } {
- #continue;
- };
- #var gGMCP[$class][$new] {$gGMCP[$class][$key]};
- #unvar gGMCP[$class][$key];
- };
- };
|