精華區beta mud_sanc 關於我們 聯絡資訊
對應指令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 12345678901234567890123456789012345678901234567890123456789012345678901234567890 菩 薩 印(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 &lt; 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 &gt;= 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