【教程】 【GC八段】 【自己写插件】在界面上显示自己想要的信息(血量、荣誉等)
本帖最后由 托托 于 2016-4-18 20:31 编辑这里举两个例子,一是在头上显示血量,二是显示荣誉、征服、勇气点数。
一、头上显示血量
80%以上绿色,50-80%以上黄色,50%以下变成红色,这样你就不用总盯着左上方了。
function bloodShow()
local frame = CreateFrame("Frame","bloodShow", WorldFrame)
frame:SetPoint("CENTER")
frame:SetWidth(80)
frame:SetHeight(80)
frame:SetScale(1.0) -- this does not effect the text size.
local FrameText = frame:CreateFontString(nil,"ARTWORK");
FrameText:SetFontObject(GameFontNormal);
FrameText:SetFont(STANDARD_TEXT_FONT, 20,"outline")
FrameText:SetTextColor(1,0,0,1) -- change this to change color
FrameText:SetPoint("CENTER",UIParent,"CENTER",0,50)
frame:SetScript("OnEvent", function(self, event, arg1,arg2, ...)
if event == "UNIT_HEALTH" then
FrameText:SetText(format("%d",UnitHealth("player")/UnitHealthMax("player")*100).."%")
end
local hp = UnitHealth("player") / UnitHealthMax("player")
if hp>0.80 then
FrameText:SetTextColor(0,1,0,1)
elseif hp>0.50 then
FrameText:SetTextColor(0,1,1,1)
else
FrameText:SetTextColor(1,0,0,1)
end
end)
frame:Show()
frame:RegisterEvent("UNIT_HEALTH")
frame:RegisterEvent("PLAYER_ENTERING_WORLD")
end
bloodShow()
二、大字体显示荣誉、征服、勇气点数:
尼玛字体好吓人,为啥有这种毫无画面感的需求呢?因为偶尔咱们会多开用hb之类的软件挂机刷分,游戏窗口一般会调的很小(比如我这里是400*300),所以如果要看自己刷到多少了就需要一个一个窗口最大化来看,很麻烦,所以把点数信息直接显示出来,一目了然。——ps一下,你甚至可以加一个刷满就唱歌提醒的功能。
function honorShow()
local frame = CreateFrame("Frame","honorShow", WorldFrame)
frame:SetPoint("CENTER")
frame:SetWidth(200)
frame:SetHeight(200)
frame:SetScale(1.0) -- this does not effect the text size.
local FrameText = frame:CreateFontString(nil,"ARTWORK");
FrameText:SetFontObject(GameFontNormal);
FrameText:SetFont(STANDARD_TEXT_FONT, 300,"outline")
FrameText:SetTextColor(1,0,0,1) -- change this to change color
FrameText:SetPoint("CENTER",UIParent,"CENTER",10,150)--margin
frame:SetScript("OnEvent", function(self, event, arg1,arg2, ...)
local rongyu = select(1,GetCurrencyInfo(392))..": "..select(2,GetCurrencyInfo(392));
local zhengfu = select(1,GetCurrencyInfo(390))..": "..select(2,GetCurrencyInfo(390));
local yongqi = select(1,GetCurrencyInfo(396))..": "..select(2,GetCurrencyInfo(396));
FrameText:SetText(rongyu.."\n"..zhengfu.."\n"..yongqi)
end)
frame:Show()
frame:RegisterEvent("PLAYER_LOGIN")
frame:RegisterEvent("PLAYER_ENTERING_WORLD")
frame:RegisterEvent("UPDATE_BATTLEFIELD_STATUS")
frame:RegisterEvent("UNIT_HEALTH")
frame:RegisterEvent("LFG_UPDATE")
frame:RegisterEvent("LFG_PROPOSAL_SHOW")
frame:RegisterEvent("CHAT_MSG_CURRENCY")
end
honorShow();
有几个事件监听是没用的,可以去掉,但也不影响使用,我这里就不改了,留个各位自己修改。
胡大威武,想了多年的东西,终于发现了,再也不用看万恶的左上角了·
另外请教胡大,请问 血量百分比位置 怎么调节,还有怎么不用 百分比,直接做成血量类型的呢,一个纯血条,类似于魔兽自带的看队友的血条那种,但是魔兽自带是默认显示所有人,而不是单独自己~~请教· 你已经封神了 虽然看不懂,但还是向大神致敬!
看不懂啊:'( 这东西略吊,胡大大给介绍下怎么用呀 胡总威武{:5_246:} 赞 这个插件 直接就放 记事本里然后改成LUA 文件 放 addons里就行了? 大神麻烦写个toc文件好么,另外问下这个插件版本号自己写的话什么游戏版本都支持么? 老胡,你号被封了几个?我两个大号都被封半年了~!