魔兽世界7.0查看角色详细属性的方法教程(超级看属性宏)
来源: 飞翔小编 2016/8/19 15:24:55 浏览量:22586
这些代码无毒无副作用,等价于把暴雪关闭的开关给打开了。
最下面有个栗子,代码有点长,属于我目前用的
显示属性:
使用类似这样的宏:
/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