這些代碼無毒無副作用,等價於把暴雪關閉的開關給打開了。
最下麵有個栗子,代碼有點長,屬於我目前用的
顯示屬性:
使用類似這樣的宏:
/run table.insert(PAPERDOLL_STATCATEGORIES[1].stats,{ stat ="ATTACK_DAMAGE"})
宏介紹:
中間的數字1,表示顯示在"屬性"欄位置
可以改成2顯示到"強化屬性"位置
ATTACK_DAMAGE表示會增加一行傷害數值的顯示(就是XXX-XXX),可以用下麵任何來替換:(不要中括號)
["HEALTH"] 生命值
["POWER"] 能量值
["ALTERNATEMANA"] ??
["ITEMLEVEL"] 物品等級
["MOVESPEED"] 移動速度 (需要額外代碼,不然無效,並且異常)
["STRENGTH"] 力量
["AGILITY"] 敏捷
["INTELLECT"] 智力
["STAMINA"] 耐力
["CRITCHANCE"] 暴擊
["HASTE"]急速
["MASTERY"]精通
["VERSATILITY "] 全能
["LIFESTEAL"] 吸血(副屬性)
["AVOIDANCE"] 閃避(副屬性)
["ATTACK_DAMAGE"] 攻擊傷害
["ATTACK_AP"] 攻擊強度
["ATTACK_ATTACKSPEED"] 攻擊速度
["ENERGY_REGEN"] 能量回複
["RUNE_REGEN"] 符文回複
["FOCUS_REGEN"] ???什麼東西
["SPELLPOWER"]施法速度
["MANAREGEN"] 法力回複
["ARMOR"] 護甲
["DODGE"] 躲閃
["PARRY"] 招架
["BLOCK"] 格擋
上麵這些屬性中.
敏捷智力力量,默認是根據你的專精來顯示其中某幾個.
如果你需要全顯示不需要增加,可以使用這樣的代碼:(分別力量敏捷智力,效果是無論什麼專精情況都顯示這些屬性)
而目前歸類到,強化屬性中的暴擊急速精通之類的。是在你該屬性不為0的情況下才會顯示,所以一般不需要用上麵的代碼。
而防禦屬性會根據你當前專精來顯示。
法力回複也是治療者才會顯示(非治療者已經沒有藍了)
總的來說被完全隱藏(?刪除)的有這些:
移動速度,攻擊速度,攻擊強度,傷害,能量回複/符文回複,副屬性
上麵少了有一個SPEED的屬性(加速),這屬性好像沒用了.因為顯示之後,並不會根據裝備改動,這個屬性被暴雪刪了??
關於隱藏你不想要的屬性
下麵這段代碼,是目前遊戲本身的屬性顯示設定.
如果你其中某一個不想顯示.最簡單的是複製這整個段代碼,然後直接修改其中的內容。
注意的是 ,需要必須1~n不能間斷
如果使用這些,關於移動速度的修改代碼,必須放到這個修改後麵或者說是PAPERDOLL_STATCATEGORIES[1].xxx=xxx 之類的代碼 必須放到這段代碼之後able.insert(xxx,xxx)之類的代碼放到最後
第一個數字[1]和數字[2]就表示顯示在屬性,還是強化屬性的位置
stat=xxx
就是你要顯示的屬性
這後麵的代碼表示一些功能
primary = LE_UNIT_STAT_STRENGTH
判斷專精的主屬性類別(力量專精才顯示這一列)
roles = { "HEALER" ,"DAMAGER"}
roles表示職責,裏麵寫的是Tank/HEALER/DAMAGER(職責為治療或者輸出,才顯示這一列)
hideAt=0
表示如果這個屬性值等於0,那麼隱藏他
如果刪掉後麵的代碼,就是常駐顯示,
如果刪掉這一列,就是不顯示(序號必須1~n不能缺少.)
Codec:
PAPERDOLL_STATCATEGORIES= {
[1] = {
categoryFrame ="AttributesCategory",
stats = {
[1] = { stat ="STRENGTH", primary = LE_UNIT_STAT_STRENGTH },
[2] = { stat ="AGILITY", primary = LE_UNIT_STAT_AGILITY },
[3] = { stat ="INTELLECT", primary = LE_UNIT_STAT_INTELLECT },
[4] = { stat ="STAMINA"},
[5] = { stat ="ARMOR"},
[6] = { stat ="MANAREGEN",},
},
},
[2] = {
categoryFrame ="EnhancementsCategory",
stats = {
[1] = { stat ="CRITCHANCE", hideAt = 0 },
[2] = { stat ="HASTE", hideAt = 0 },
[3] = { stat ="MASTERY", hideAt = 0 },
[4] = { stat ="VERSATILITY", hideAt = 0 },
[5] = { stat ="LIFESTEAL", hideAt = 0 },
[6] = { stat ="AVOIDANCE", hideAt = 0 },
[7] = { stat ="DODGE", roles ={"TANK"} },
[8] = { stat ="PARRY", hideAt = 0, roles ={"TANK"} },
[9] = { stat ="BLOCK", hideAt = 0, roles ={"TANK"} },
},
},
};
下麵是我修改的一個範例:
適用於物理dps的,顯示了傷害攻速能量恢複和移動速度
Codec:
do
PAPERDOLL_STATCATEGORIES= {
[1] = {
categoryFrame ="AttributesCategory",
stats = {
[1] = { stat ="ATTACK_DAMAGE"},
[2] = { stat ="STRENGTH", primary = LE_UNIT_STAT_STRENGTH },
[3] = { stat ="AGILITY", primary = LE_UNIT_STAT_AGILITY },
[4] = { stat ="INTELLECT", primary = LE_UNIT_STAT_INTELLECT },
[5] = { stat ="STAMINA"},
[6] = { stat ="ARMOR"},
[7] = { stat ="ENERGY_REGEN", hideAt = 0 },
[8] = { stat ="RUNE_REGEN", hideAt = 0 },
[9] = { stat ="FOCUS_REGEN", hideAt = 0 },
[10] = { stat ="MANAREGEN", roles ={"HEALER"} },
},
},
[2] = {
categoryFrame ="EnhancementsCategory",
stats = {
[1] = { stat ="CRITCHANCE", hideAt = 0 },
[2] = { stat ="HASTE", hideAt = 0 },
[3] = { stat ="MASTERY", hideAt = 0 },
[4] = { stat ="VERSATILITY", hideAt = 0 },
[5] = { stat ="LIFESTEAL", hideAt = 0 },
[6] = { stat ="AVOIDANCE", hideAt = 0 },
[7] = { stat ="DODGE", roles ={"TANK"} },
[8] = { stat ="PARRY", hideAt = 0, roles ={"TANK"} },
[9] = { stat ="BLOCK", hideAt = 0, roles ={"TANK"} },
},
},
};
---修改,若能量值獲取不到.就設置為0,就能套用hideAt了
PAPERDOLL_STATINFO["ENERGY_REGEN"].updateFunc = function(statFrame, unit) statFrame.numericValue=0; PaperDollFrame_SetEnergyRegen(statFrame, unit); end
PAPERDOLL_STATINFO["RUNE_REGEN"].updateFunc = function(statFrame, unit) statFrame.numericValue=0; PaperDollFrame_SetRuneRegen(statFrame, unit); end
PAPERDOLL_STATINFO["FOCUS_REGEN"].updateFunc = function(statFrame, unit) statFrame.numericValue=0; PaperDollFrame_SetFocusRegen(statFrame, unit); end
--增加移動速度的代碼(被暴雪刪掉了)
PAPERDOLL_STATINFO["MOVESPEED"].updateFunc =function(statFrame, unit) PaperDollFrame_SetMovementSpeed(statFrame, unit); end
--根據職業,做一些改動
local _,_,classid = UnitClass("player")
if(classid==1)then --戰士
elseif (classid==2)then --聖騎
elseif (classid==3)then --獵人
elseif (classid==4)then --盜賊
elseif (classid==5)then --牧師
PAPERDOLL_STATCATEGORIES[1].stats[1].roles={} --隱藏傷害
elseif (classid==6)then --DK
elseif (classid==7)then --薩滿
elseif (classid==8)then --法師,加上回藍顯示
PAPERDOLL_STATCATEGORIES[1].stats[1].roles={}
table.insert(PAPERDOLL_STATCATEGORIES[1].stats,{ stat ="MANAREGEN"})
elseif (classid==9)then --術士
PAPERDOLL_STATCATEGORIES[1].stats[1].roles={} --隱藏傷害
elseif (classid==10)then --武僧
elseif (classid==11)then --德魯伊
elseif (classid==12)then --DH
end
--加上移動速度(加最後)
table.insert(PAPERDOLL_STATCATEGORIES[1].stats,{ stat ="MOVESPEED"})
--關於移動速度代碼(不然會出現錯亂)
local tempstatFrame
hooksecurefunc("PaperDollFrame_SetMovementSpeed",function(statFrame, unit)
if(tempstatFrame and tempstatFrame~=statFrame)then
tempstatFrame:SetScript("OnUpdate",nil);
end
statFrame:SetScript("OnUpdate", MovementSpeed_OnUpdate);
tempstatFrame = statFrame;
statFrame:Show();
end)
end