作者hmml (hmml)
看板mud_sanc
标题[心得] MushClient 抓取控制码并修改的方法
时间Wed Jun 12 01:57:49 2013
正在找有关 MiniWindow 的资料时,无意看到的东西,可以直
接读取未处理的封包,所以能抓到控制码。它用到这个函数:
OnPluginPacketReceived
从它那里经过的内容,大概就是CTRL + ALT + F11所显示的样
式。因此连控制码都能在函数中被匹配。然後就能先修改内容再让
Mushclient解析。
所以应该能先把移位码改成可见的,有记号可循的内容再输出
,然後再用它去做排版,会省很多工夫,也能少写很多条触发吧!
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE muclient>
<!-- Saved on 星期二, 六月 11, 2013, 10:42 下午 -->
<!-- MuClient version 4.84 -->
<!-- Plugin "newtest" generated by Plugin Wizard -->
<muclient>
<plugin
name="newtest"
id="e9aa08a01c2ee15248ce4675"
language="Lua"
date_written="2013-06-11 22:41:55"
requires="4.84"
version="1.0"
>
</plugin>
<!-- Get our standard constants -->
<include name="constants.lua"/>
<!-- Triggers -->
<triggers>
<trigger
enabled="y"
keep_evaluating="y"
match="^.*$"
regexp="y"
script="OnPluginPacketReceived"
send_to="12"
sequence="100"
>
</trigger>
</triggers>
<!-- Script -->
<script>
<![CDATA[
-- 原本匹配用的行,目前未使用。
Tab_start_reg = rex.new("\\e\\[24;\\d+H")
-- 在被分析前,就抓到封包的函数
function OnPluginPacketReceived (sText)
-- 移位码的格式:%c%[24;%d+H
-- %c 代表所有控制字元,如ESC。
-- [24;%d+ 座标,即Y轴和X轴,Y轴是固定数,X轴不是。
-- H 定义这个移位码的模式,游标的位置。
sText =
string.gsub(sText,'(%c%[24;
)(%d+
)H
',"∴%2∴
")
return
sText
end
]]>
</script>
</muclient>
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
输出结果会像这样:
╔══════════════════════════════════════╗
║ 技能列表 ║
╠══════════════════╦═══════════════════╣
∴1∴║ 飘云杖法(Fly-cloud wand) ∴32∴:9900
∴39∴║ 净化术(Cleanse) ∴72∴:99
∴1∴║ 小醉拳(Drink fist) ∴32∴:9900
∴39∴║ 骑士风斩法(Knight slash) ∴72∴ꄊ
∴1∴║ *自创技能*(Myskill) ∴32∴:9900
∴39∴║ 落日刀法(Sunset blade) ∴72∴:
∴1∴║ 短匕攻击(Dagger) ∴32∴:9900
∴39∴║ 百花棍法(Flower rod) ∴72∴:9900
∴1∴║ 用笔技巧(Pen) ∴32∴:9900
∴39∴║ 基本刀法(Blade) ∴72∴:9900
║
∴1∴║ 焚城枪法(Burn-city lance) ∴32∴:9900
∴39∴║ 基本鎚法(Hammer) ∴72∴:
∴1∴║ 细雪云气(Snow hands) ∴32∴:9900
∴39∴║ 柔道(Judo) ∴72∴:9900
║
∴1∴║ 燃烧之手(Burning hands) ∴32∴:9900
∴39∴║ 基本鞭法(Whip) ∴72∴:9900
∴1∴║ 剑道(Kendo) ∴32∴:9900
∴39∴║ 龙爪手(Dragon-paw fist) ∴72∴:9900
║
∴1∴║ 降龙二十八掌(Dragon fist) ∴32∴:9900
∴39∴║ 基本棒法(Staff) ∴72∴:9
∴1∴║ 回枪刺击(Return lance) ∴32∴:9900
∴39∴║ 神射手(Shooter) ∴72∴:9900
∴1∴║ 如来神掌(Zulai fist) ∴32∴:9900
∴39∴║ 少林拳法(Soulin fist) ∴72∴:
∴1∴║ 飞砂走石(Sand hands) ∴32∴:9900
∴39∴║ 焚锋之章(Burnedge chapter) ∴7
∴1∴║ 基本剑法(Sword) ∴32∴:9900
∴39∴║ 霸王枪技(Overload lance) ∴72∴:99
∴1∴║ 舞动之风(Cyclone hands) ∴32∴:9900
∴39∴║ 黯然销魂掌(Shadow fist) ∴7
∴1∴║ 魔法飞弹(Magic missile) ∴32∴:9900
∴39∴║ 武当剑法(Wudon slash) ∴72ꄊ
∴1∴║ 空手博斗(Barefist) ∴32∴:9900
∴39∴║ 棍棒攻击(Rod) ∴72∴:9900
║
∴1∴║ 战龙之斧(War-dragon axe) ∴32∴:9900
∴39∴║ 用斧技巧(Axe) ∴72∴:9900
∴1∴║ 基本弓术(Bow) ∴32∴:9900
∴39∴║ 半月斩(Hafe blade) ∴72∴:9900
║
∴1∴║ 打狗棒法(Pkdog rod) ∴32∴:9900
∴39∴║ 基本杖法(Wand) ∴72∴:9900
║
∴1∴║ 太极拳(Taichi fist) ∴32∴:9900
∴39∴║ 彩虹七色剑(Rainbow slash) ∴72ꄊ
∴1∴║ 基本爪法(Claw) ∴32∴:9900
∴39∴║ SM技巧(SM) ∴72∴:9900
║
∴1∴║ 王者之路(King-road) ∴32∴:9900
∴39∴║ 基本枪法(Lance) ∴72∴:9900
║
∴1∴║ 舞焰之斧(Fire axe) ∴32∴:9900
∴39∴║ 水莲剑法(Water-lotus slash) ∴72
∴1∴║ 电光击掌(Electric hands) ∴32∴:9900
∴39∴║ 骑士之魂(Knight heart) ∴7
∴1∴║ 冒险者之心(Adventure heart) ∴32∴:7333
∴39∴║ 加强杀伤力(Damage) ∴72
∴1∴║ 骑乘驾驭(Ride skill) ∴32∴:4000
∴39∴║ 重火枪之拳(Magnum_punch) ∴72ꄊ
∴1∴║ 旋风拳(Wind fist) ∴32∴:2900
∴39∴║ 碧云掌(Greencloud fist) ∴72∴:2
∴1∴║ 基本闪躲(Dodge) ∴32∴:2421
∴39∴║ 武器招架(Parry) ∴72∴:2400
║
∴1∴║ 阿邦流枪杀法(Abanlance) ∴32∴:2400
∴39∴║ 枪诀(Lancemaster) ∴72∴:2
∴1∴║ 斧诀(Axemaster) ∴32∴:2400
∴39∴║ 紫雷斩(Lightning blade) ∴72∴:240
∴1∴║ 狂怒斧斩(Furiousaxe) ∴32∴:2400
∴39∴║ 骑风枪杀(Windlance) ∴72∴:24
∴1∴║ 盾牌抵挡(Shield) ∴32∴:2400
∴39∴║ 焚香剑诀(Burnperfume) ∴72∴:2400
∴1∴║ 刀诀(Blademaster) ∴32∴:2400
∴39∴║ 火焰枪法(Firelance) ∴72∴:2400
∴1∴║ 四时剑法(4-season slash) ∴32∴:2000
∴39∴║ 枪矛投掷(Chuck-lance) ∴72
∴1∴║ 焚香之篇(Burnbloom canto) ∴32∴:2000
∴39∴║ 剑诀(Swordmaster) ∴72∴ꄊ
∴1∴║ 读书识字(Literature) ∴32∴:1530
∴39∴║ 领导作战(Leadership) ∴72∴:1
∴1∴║ 打狗棒诀(Pkdog rodmaster) ∴32∴:1002
∴39∴║ 飞龙诀(Dragon-recipe) ∴7
∴1∴║ 集气连击(Tissuell) ∴32∴:1000
∴39∴║ 电光拳(Thunder fist) ∴72∴:100
∴1∴║ 金钟罩(Goldfield) ∴32∴:1000
∴39∴║ 裂地战斧(Earthaxe) ∴72∴:1000
金∴1∴║ 阿邦剑法(Avan slash) ∴32∴:1000
∴39∴║ 火云掌(Firecloud fist) ∴72∴ꄊ
∴1∴║ 意念控制(Int control) ∴32∴:1000
∴39∴║ 千翎手(Feather fist) ∴72∴:
∴1∴║ 重力
冲击(Earthquake) ∴32∴:1000
∴39∴║ 寒冰掌(Colder fist) ∴72∴:10
∴1∴║ 狂暴之吼(Violent-shout) ∴32∴:1000
∴39∴║ 潜能激发(Talent-arouse) ∴7
∴1∴║ 舞凤诀(Phoenix-recipe) ∴32∴:1000
∴39∴║ 气功施放(Shutskill) ∴72∴:
∴1∴║ 修补术(Fixskill) ∴32∴:1000
∴39∴║ 身体平衡(Body control) ∴72∴:100
∴1∴║ 多重攻击(Multi-attack) ∴32∴:1000
∴39∴║ 大地命纲(Stone-force) ∴72∴
∴1∴║ 时光操控术(Time control) ∴32∴: 998
∴39∴║ 内功心法(Fister heart) ∴7
∴1∴║ 龟派气功(Kamekameha) ∴32∴: 900
∴39∴║ 狂龙八斩法(Crazydragon blade)
∴1∴║ 打枪技巧(Gun) ∴32∴: 900
∴39∴║ 大十字勳章(Bigcross) ∴72∴: 900
║
∴1∴║ 琴乐之技(Harp) ∴32∴: 900
∴39∴║ 土系法术(Earth spell) ∴72∴: 900
金∴1∴║ 骑乘冲刺(Ridespurt) ∴32∴: 900
∴39∴║ 血腥必杀剑(Bloody-scraid) ∴72ꄊ
∴1∴║ 旋风转移(Cyclone-air) ∴32∴: 600
∴39∴║ 激风斗气(Fighting-air) ∴72∴
∴1∴║ 剑士之心(Slasher heart) ∴32∴: 600
∴39∴║ 战士之心(Fighter heart) ∴7
∴1∴║ 刀者意志(Blade heart) ∴32∴: 528
∴39∴║ 0(Hardskill) ∴72∴: 500
║
∴1∴║ 犁田技巧(Heavry) ∴32∴: 500
∴39∴║ 哈肯迪斯杜鲁(Hakendisdulu) ∴72∴ꄊ
∴1∴║ 易筋经(Egingin) ∴32∴: 400
∴39∴║ 武器铸造(Weaponmaker) ∴72∴: 300
∴1∴║ 反击(Counter) ∴32∴: 200
∴39∴║ 乾坤大挪移(Handpower) ∴72∴: 200
║
∴1∴║ 独孤九剑(Nine-sword) ∴32∴: 200
∴39∴║ 正义之心(Justice heart) ∴72∴
∴1∴║ 赌技(Gamble) ∴32∴: 113
∴39∴║ 信仰之心(Clerical heart) ∴72∴: 107
∴1∴║ 魔力操控术(Magic heart) ∴32∴: 106
∴39∴║ 天杀斧斩技(Sky-killer) ∴72
∴1∴║ 四时合一(4->1 slash) ∴32∴: 101
∴39∴║ 策马千里(Rideto) ∴72∴: 100
∴1∴║ 气能转换(Interchange) ∴32∴: 100
∴39∴║ 阵法攻击(Encasement) ∴72∴:
∴1∴║ 0(Falling_down) ∴32∴: 100
∴39∴║ 灵力武器(Spiriten) ∴72∴: 100
║
╠══╦═══════════════╩═══════════════════╣
║ 附 ║ *help skill 技能英文名 可以看到技能的说明。 ║
║ ║ *skill -g xxx 可以看到你所学技能中为 xxx 公会的技能。 ║
║ 注 ║ *skill -stat xxx 可以看到你所学技能中有加 xxx 属性的技能。 ║
╚══╩═══════════════════════════════════╝
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 106.1.193.140