Shestak UI
Go Back   Shestak UI > Interface Forums > Russian Community > General Discussion

General Discussion The place for World of Warcraft discussions that don’t fit into any other forum.

Advertising

 
Thread Tools
Old 22.02.2011, 20:42 ▼    #1
 Assistant User Information

Erratic's Avatar
Lightbulb Индикация <25% HP у цели (для шп, например)

Не знаю как у других классов, а у шп есть такое замечательное заклинание, к которому прилагается замечательный Талант, а к нему еще и не менее замечательный Символ, которые недвусмысленно намекают на пользу использования соответствующего заклинания при соответствующем колличестве HP у цели.
И все было бы совсем радужно, да вот только нет в игре никакой индикации при достижении необходимого уровня HP и приходилось бедным жрецам тьмы следить за этим самостоятельно, а это не всегда уместно.

Так, при большой помощи товарища Шестака (который немножко переоценил мои познания в луа, но я таки справился с этой элементарной задачкой...), родилась небольшая модификация файлов сборки позволяющая автоматизировать сей нелегкий труд.

На данный момент индикация такая же как при малом колличестве маны - мерцающий красный текст. Потом может придумается что то получше.


Думаю здесь найдутся люди которым это пригодится, так что выкладываю в максимально доступном для восприятия виде:

Так то


В файле ShestakUI\Core\functions.lua, примерно после 617 строки, после строк
Code [Select]:
		self.ManaLevel:SetText()
		StopFlash(self)
	end
end
Добавляем
Code [Select]:
local UpdateHealthLevelDelay = 0
T.UpdateHealthLevel = function(self, elapsed)
	UpdateHealthLevelDelay = UpdateHealthLevelDelay + elapsed
	if self.parent.unit ~= "target" or UpdateHealthLevelDelay < 0.2 or UnitIsDeadOrGhost("target") then return end
	UpdateHealthLevelDelay = 0

	local percHealth = UnitHealth("target") / UnitHealthMax("target") * 100

	if percHealth < 25 then
		self.HealthLevel:SetText("|cffD34030".."FINISH HIM".."|r")
		Flash(self, 0.3)
	else
		self.HealthLevel:SetText()
		StopFlash(self)
	end
end
В файле ShestakUI\Modules\UnitFrames\Layout.lua, примерно после 170 строки, содержащей
Code [Select]:
self:Tag(self.Level, "[cpoints] [Threat] [DiffColor][level][shortclassification]")
Добавляем
Code [Select]:
self.FlashInfo = CreateFrame("Frame", "FlashInfo", self)
self.FlashInfo:SetScript("OnUpdate", T.UpdateHealthLevel)
self.FlashInfo.parent = self
self.FlashInfo:SetToplevel(true)
self.FlashInfo:SetAllPoints(self.Health)
self.FlashInfo.HealthLevel = T.SetFontString(self.FlashInfo, C.font.unit_frames_font, C.font.unit_frames_font_size*3, C.font.unit_frames_font_style)
self.FlashInfo.HealthLevel:SetPoint("CENTER", UIParent, "CENTER", 0, 100)
[hide]

P.S.: заменяя циферки в строке "if percHealth < 25 then" можно соответственно корректировать уровень НР.
Say Thank:
Shestak (24.02.2011)
Old 02.03.2011, 19:19 ▲    #11
Erratic
 Assistant User Information

Erratic's Avatar
Во, смог запустить на птре. Проверил в боевых условиях... и да, текст на фрейме нифига не удобно >_>
Через что в центре вывести лучше?
Old 02.03.2011, 19:19   #1.5 - Disable Ads

Advertise on this site

Old 02.03.2011, 19:47   #12
Shestak
 Junior Member User Information

Shestak's Avatar
Так а все то же самое, только якорь у текста прикрепляй не к фрейму, а к уипарент, в центр прям(предположим). Ну и у тебя по-умолчанию подхватывается размер шрифта ЮФ, а он 8, что думаю для таких эвентов мало, можно попробовать 16, или сменить с пиксельного шрифта на обычный.

Quote:
self.FlashInfo.HealthLevel = SettingsDB.SetFontString(self.FlashInfo, db_ff.unit_frames_font, db_ff.unit_frames_font_size*2, db_ff.unit_frames_font_style)
self.FlashInfo.HealthLevel:SetPoint("CENTER", UIParent, "CENTER", 0, 0)
Как-то так.

П.С.: Заметил, ты изменил пути к файлам в первом сообщение, пока не меняй Еще пару дней подожди, я доколошматю 3.0 Что бы "устоялось" с файлами и папками.
Say Thank:
Erratic (02.03.2011)
Old 26.04.2011, 12:06   #13
ipton
 Senior Member User Information

ipton's Avatar
а вообще Shestak, если бы ты реализовал эту фичу в стандартной сборке, с возможностью вкл/выкл ее в настройках, было бы здорово!
Спасибо.
Old 26.04.2011, 12:54   #14
Shestak
 Junior Member User Information

Shestak's Avatar
Ее не будет в стандартном комплекте. В первом сообщение подробно написано, как встроить данную опцию.

Tags
индикация, прист, фреймы, швд

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Fixed] ПКМ по таргету цели Sw2rT1 Bugs Reports 5 20.12.2011 04:29
Индикация процента НР цели Metaxa Technical Support 1 27.06.2011 11:24
Дебаффы игрока и цели Vel General Discussion 8 21.03.2011 17:27
Дебаффы цели фокуса и цели цели. Shestak General Discussion 0 03.08.2010 15:54


Mobile Style Русский English Deutsch Italian Chinese