作者hmml (hmml)
看板mud_sanc
标题[心得] MushClient 圣殿技能排还原度较好的写法
时间Sat Jun 8 12:42:36 2013
对应指令sk的技能排版,弄着弄着就成功了,也是参考着聊天讯息的
Plugin去改出来的。原理是用GetLinesInBufferCount() 取得最新一
行的行位,套入GetStyleInfo()以抓取最新一行的样式内容,用for
回圈搭配ColourTell重新堆叠该行。
GetStyleInfo()抓取样式内容的时候,该行会依色码的改变,被拆成
一段段的文字,如:
║水莲剑法(Water-lotus slash):9900
║净化术(Cleanse):9900
║
会拆成:
1:
║
2:
水
3:
莲
4:
剑法
5:(Water-lotus slash):9900
6:
║
7:净化术(Cleanse):9900
8:
║
而:
║半月斩(Hafe blade):9900
║空手博斗(Barefist):9900
║
会拆成:
1:
║
2:半月斩(Hafe blade):9900
3:
║
4:空手博斗(Barefist):9900
5:
║
文字部份在for回圈里,可以用v.text取出来;文字颜色用v.textcolour代入
RGBColourToName (),背景颜色用v.backcolour代入RGBColourToName ()以重
现原来颜色。
接着在for回圈里做if判断,当v.text的内容包含":"的时候,就针对它重新格
式化。先以":"为基准,依照string.find(string,string2)取得的位置,将
v.text切成两部份,置入text1,text2中。
再加个if,读取v.column取得目前v.text的位置,判断在左栏还是右栏,当堆叠
到内容有":"的字串时,用string.format重新编排内容,text1靠左,text2靠右
。在堆叠text1时,先用GetLineInfo()判断目前堆叠到哪里,再用正常的长度减
去目前已堆叠的长度,如:
1 2 3 4 5 6 7 8
123456789
0123456789
0123456789
0123456789
0123456789
0123456789
0123456789
0123456789
0
║菩 萨 印(Buddha-seal fist) :1101
║界王拳(Kaioken) :1000
║
|-------------31-------------|--6--|
正常长度是31格,但因为
菩 萨 印的色码不一样,所以字串便从"("开始,必须先
减去"
║菩 萨 印"的长度,才能得到正确的排版长度。
最後技能数为奇数时,会有右栏空白的情况,手工重设即可。
最後一行:Note (""),宣告换行。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
<triggers>
<trigger
enabled="y"
keep_evaluating="y"
match="^║ .+\(.+\) :.*\d*║.*║$"
omit_from_output="y"
regexp="y"
send_to="12"
sequence="100"
>
<send>
for k,v in pairs(GetStyleInfo (GetLinesInBufferCount())) do
if string.find (v.text,':') then
text1,text2 = string.sub(v.text,1,string.find (v.text,':
')-1),string.sub(v.text,string.find (v.text,':'),-1)
if v.column < 20 then
ColourTell (RGBColourToName (v.textcolour),
RGBColourToName (v.backcolour),
string.format("%%-"..
32-GetLineInfo
(GetLinesInBufferCount(),2).."s",text1)..string.format("%%-6s",Trim(text2)))
elseif v.column
>= 20 then
ColourTell (RGBColourToName (v.textcolour),
RGBColourToName (v.backcolour),
string.format("%%-"..31-(GetLineInfo
(GetLinesInBufferCount(),2)
-41).."s",text1)..string.format("%%-6s",Trim(text2)))
end --if v.column
elseif string.find(v.text,'║║') then
ColourTell (RGBColourToName (v.textcolour),
RGBColourToName (v.backcolour),
"║ ║")
else
ColourTell (RGBColourToName (v.textcolour),
RGBColourToName (v.backcolour),
Trim(v.text))
end --if:
end -- for
Note ("")
</send>
</trigger>
</triggers>
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
编排结果如下,用MushClient,所以不知道跟正常版相比如何,至少还
算整齐:
╔══════════════════════════════════════╗
║ 技能列表 ║
╠══════════════════╦═══════════════════╣
║授予苦痛(Affliction) :9900
║战龙之斧(War-dragon axe) :9900
║
║打狗棒法(Pkdog rod) :9900
║回枪刺击(Return lance) :9900
║
║基本棒法(Staff) :9900
║基本刀法(Blade) :9900
║
║焚城枪法(Burn-city lance) :9900
║基本爪法(Claw) :9900
║
║用笔技巧(Pen) :9900
║太极拳(Taichi fist) :9900
║
║少林拳法(Soulin fist) :9900
║燃烧之手(Burning hands) :9900
║
║魔法飞弹(Magic missile) :9900
║飘云杖法(Fly-cloud wand) :9900
║
║飞砂走石(Sand hands) :9900
║舞动之风(Cyclone hands) :9900
║
║彩虹七色剑(Rainbow slash) :9900
║电光击掌(Electric hands) :9900
║
║刀者意志(Blade heart) :9900
║如来神掌(Zulai fist) :9900
║
║六脉神剑(6-vessels swordray) :9900
║基本枪法(Lance) :9900
║
║焚锋之章(Burnedge chapter) :9900
║基本杖法(Wand) :9900
║
║傲寒六诀(6-cold blade) :9900
║百花棍法(Flower rod) :9900
║
║美女拳法(Girl fist) :9900
║落日刀法(Sunset blade) :9900
║
║棍棒攻击(Rod) :9900
║基本鞭法(Whip) :9900
║
║细雪云气(Snow hands) :9900
║基本鎚法(Hammer) :9900
║
║*自创技能*(Myskill) :9900
║舞焰之斧(Fire axe) :9900
║
║水莲剑法(Water-lotus slash) :9900
║净化术(Cleanse) :9900
║
║半月斩(Hafe blade) :9900
║空手博斗(Barefist) :9900
║
║佛山无影脚(Fosan foot) :9900
║王者之路(King-road) :9900
║
║小醉拳(Drink fist) :9900
║短匕攻击(Dagger) :9900
║
║基本弓术(Bow) :9900
║用斧技巧(Axe) :9900
║
║基本剑法(Sword) :9900
║牙突(Toothstab) :9900
║
║武当剑法(Wudon slash) :9900
║霸王枪技(Overload lance) :9900
║
║冒险者之心(Adventure heart) :9787
║加强杀伤力(Damage) :6390
║
║基本闪躲(Dodge) :4000
║重火枪之拳(Magnum_punch) :3000
║
║旋风拳(Wind fist) :2900
║碧云掌(Greencloud fist) :2900
║
║武器招架(Parry) :2446
║紫雷斩(Lightning blade) :2400
║
║骑风枪杀(Windlance) :2400
║狂怒斧斩(Furiousaxe) :2400
║
║刀诀(Blademaster) :2400
║骑乘驾驭(Ride skill) :2400
║
║焚香剑诀(Burnperfume) :2400
║盾牌抵挡(Shield) :2400
║
║火焰枪法(Firelance) :2400
║枪诀(Lancemaster) :2400
║
║斧诀(Axemaster) :2400
║四时剑法(4-season slash) :2000
║
║焚香之篇(Burnbloom canto) :2000
║剑诀(Swordmaster) :2000
║
║战士之心(Fighter heart) :1790
║读书识字(Literature) :1500
║
║集气连击(Tissuell) :1500
║内功心法(Fister heart) :1159
║
║菩 萨 印(Buddha-seal fist) :1101
║界王拳(Kaioken) :1000
║
║身体平衡(Body control) :1000
║飞龙诀(Dragon-recipe) :1000
║
║多重攻击(Multi-attack) :1000
║火云掌(Firecloud fist) :1000
║
║潜能激发(Talent-arouse) :1000
║回旋盾击(Whirl-shield) :1000
║
║千翎手(Feather fist) :1000
║阿邦剑法(Avan slash) :1000
║
║狂暴之吼(Violent-shout) :1000
║魔闪光(Devil-light) :1000
║
║倭刀术(Watou blade) :1000
║气功施放(Shutskill) :1000
║
║裂地战斧(Earthaxe) :1000
║金钟罩(Goldfield) :1000
║
║寒冰掌(Colder fist) :1000
║打狗棒诀(Pkdog rodmaster) :1000
║
║舞凤诀(Phoenix-recipe) :1000
║电光拳(Thunder fist) :1000
║
║飞天御剑术(Flyinsky blade) :1000
║龟派气功(Kamekameha) : 900
║
║剑士之心(Slasher heart) : 900
║狂龙八斩法(Crazydragon blade) : 900
║
║大十字勳章(Bigcross) : 900
║琴乐之技(Harp) : 900
║
║风系法术(Wind spell) : 900
║骑士之魂(Knight heart) : 900
║
║犁田技巧(Heavry) : 500
║四时合一(4->1 slash) : 500
║
║易筋经(Egingin) : 400
║赌技(Gamble) : 248
║
║独孤九剑(Nine-sword) : 200
║缩地(Syukuchi) : 200
║
║乾坤大挪移(Handpower) : 200
║冲锋陷阵(Round-on) : 200
║
║信仰之心(Clerical heart) : 104
║魔力操控术(Magic heart) : 104
║
║激风斗气(Fighting-air) : 102
║旋风转移(Cyclone-air) : 101
║
║灵力武器(Spiriten) : 100
║雪花神剑(Snow-flower) : 100
║
║武器铸造(Weaponmaker) : 100
║瞬-天-杀!(Shuttindie) : 100
║
║气能转换(Interchange) : 100
║瞬动之术(Dash) : 100
║
║起乩(Wildnerve) : 100
║暴力手臂(Bakunetsu-arm) : 100
║
║飞天御剑流(Flying-sky blade) : 100
║天杀斧斩技(Sky-killer) : 1
║
╠══╦═══════════════╩═══════════════════╣
║ 附 ║ *help skill 技能英文名 可以看到技能的说明。 ║
║ ║ *skill -g xxx 可以看到你所学技能中为 xxx 公会的技能。 ║
║ 注 ║ *skill -stat xxx 可以看到你所学技能中有加 xxx 属性的技能。 ║
╚══╩═══════════════════════════════════╝
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.196.45
※ 编辑: hmml 来自: 220.132.196.45 (06/08 12:46)
1F:推 silence25 :实在太强大了....推一下XD 06/08 12:49
2F:→ hmml :如果是skd的排版就很难了,左右栏没中间线... 06/08 12:59
3F:→ hmml :...应该也是可以,不过把skd的显示改成sk的比较快吧 06/08 13:01
※ 编辑: hmml 来自: 220.132.196.45 (06/08 13:45)
4F:→ hlead :嗯..skd 更改为 sk 的显示模式了... 06/08 15:16
5F:推 Hamano :推高手 (⊙o⊙) 06/08 17:08
6F:推 AresMars :wait hmml 写出全新使用者介面 06/08 18:07
7F:推 kungwei :跪 06/08 20:43
8F:→ hlead :根本神手! 06/08 20:58
9F:推 elvrael :推...太强大了 06/09 11:23
10F:→ laechan :有人跟hmml一起研究的话效果是加乘的,只靠他一个很累 06/10 17:40