Shadowed Unit Frames 修改生命/法力值換算單位

因為有PTT WOW版友問到SUF是否也可以改成萬來換算,
以ShadowedUnitFrames 3.1版為例,
找到一下SUF是在 ShadowedUnitFrames/modules/tags.lua 這個檔案,
一樣用文字編輯器打開它,
在第218~228行有以下兩個函式:

function ShadowUF:FormatLargeNumber(number)
  if( number < 9999 ) then
    return < number
  elseif( number < 999999 ) then
    return string.format("%.1fk", number / 1000)
  elseif( number < 99999999 ) then
    return string.format("%.2fm", number / 1000000)
  end

  return string.format("%dm", number / 1000000)
end

可以改成以下這個樣子:

function ShadowUF:FormatLargeNumber(number)
  if( number < 99999 ) then
    return number
  elseif( number < 999999 ) then
    return string.format("%.1f萬", number / 10000)
  elseif( number < 99999999 ) then
    return string.format("%d萬", number / 10000)
  end

  return string.format("%.2f億", number / 100000000)
end

當數值為不到十萬時顯示完整數值,
十萬至一百以下以萬為單位並顯示一位小數,
一百萬至一億內的值顯示以萬為單位的整數,
而超過一億的值(也就是上面沒列到的條件)則可顯示兩位小數的值並以億為單位,
改完一樣儲存成無BOM的UTF-8格式。

只有一個檔案改起來比PitBull簡單多了,
另外if判斷裡數值的大小要不要改就看你要設定哪個範圍的數值要以你想要的方式顯示。

成果:
suf_fix

2 thoughts to “Shadowed Unit Frames 修改生命/法力值換算單位”

  1. 你好^^
    我想請問唷~為什麼我照大大上面設定得做更改,可是卻不能顯示”萬”,我改成英文字母”W”就可以,請問有什麼辦法可以排除嗎?
    另外我想問另外一個設定方式,我設定了目標的名字、等級、職業,我想做一個設定就是依照他的攻擊性來設定背景顏色,比如說該目標是主動攻擊,那麼它的背景就是紅色,如果是中立的話就是黃色,但是我不希望我選到友好的”玩家”的時候,他的背景是該職業的顏色,希望可以跟大大進一步的連絡,我怕我上面解釋的沒有很清楚,這篇留言所填的網址就是我MSN的,期待大大的回應^^

  2. 你的lua文件的編碼必須是UTF-8格式,
    才能正常顯示中文字,
    所以在編輯時請使用像Notepad++等功能較強的文字編輯器。

    至於職業顏色部份,
    因為我幾乎沒有使用SUF所以不太熟悉,
    但應該有類似像取消以職業色彩為背景色的相關設定,
    可以找看看。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料