作者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)
推 silence25 :實在太強大了....推一下XD 06/08 12:49
→ hmml :如果是skd的排版就很難了,左右欄沒中間線... 06/08 12:59
→ hmml :...應該也是可以,不過把skd的顯示改成sk的比較快吧 06/08 13:01
※ 編輯: hmml 來自: 220.132.196.45 (06/08 13:45)
→ hlead :嗯..skd 更改為 sk 的顯示模式了... 06/08 15:16
推 Hamano :推高手 (⊙o⊙) 06/08 17:08
推 AresMars :wait hmml 寫出全新使用者介面 06/08 18:07
推 kungwei :跪 06/08 20:43
→ hlead :根本神手! 06/08 20:58
推 elvrael :推...太強大了 06/09 11:23
→ laechan :有人跟hmml一起研究的話效果是加乘的,只靠他一個很累 06/10 17:40