attempt to index local 'iconFrame'
Hyphie24 opened this issue ยท 6 comments
Game and Plater version
Which is the game version and Plater version you're using?
Full /plater version
output please.
Plater version info:
Plater-v584a-Retail - DF v561 - 11.0.2
Describe the bug
-
Steps to Reproduce (what did you do to make the bug happen): Attacking enemies causes iconFrame error
-
Result (what happens when you follow the steps above): using profile "Jundies" attacking mobs causing iconFrame
-
Expected (what you think the expected behavior would be when following the steps): unknown
-
When the bug started (a date, wow path release, details update, etc)? 11.0.2 Wednesday 8/14
-
Additional information:
Lua Error
Post here lua errors, if you aren't getting any, use /console scriptErrors 1
3953x Plater/Plater_Auras.lua:2000: attempt to index local 'iconFrame' (a nil value)
[string "@Plater/Plater_Auras.lua"]:2000: in function `AddExtraIcon'
[string "@Plater/Plater_Auras.lua"]:2330: in function `UpdateAuras_Automatic'
[string "@Plater/Plater.lua"]:6344: in function `NameplateTick'
[string "@Plater/Plater.lua"]:3777: in function `func'
[string "@Plater/Plater.lua"]:3963: in function <Plater/Plater.lua:3959>
Locals:
self = NamePlate11PlaterUnitFrameBuffFrame1 {
NextAuraIcon = 1
unitFrame = NamePlate11PlaterUnitFrame {
}
amountAurasShown = 0
HasDebuff = false
isNameplate = true
namePlateUnitReaction = 3
ExtraIconFrame = NamePlate11PlaterUnitFrameExtraIconRow {
}
unit = "nameplate5"
HasBuff = false
healthBar = NamePlate11PlaterUnitFrameHealthBar {
}
FadeAnimation = AnimationGroup {
}
Name = "Main"
AuraCache = <table> {
}
PlaterBuffList = <table> {
}
BuffFrame2 = NamePlate11PlaterUnitFrameBuffFrame2 {
}
}
spellName = "Psychic Scream"
icon = 136184
applications = 0
debuffType = "Magic"
duration = 8
expirationTime = 389380.783000
sourceUnit = nil
isStealable = false
nameplateShowPersonal = false
spellId = 8122
isBuff = false
filter = "HARMFUL"
id = 47214
modRate = 1
_ = nil
sourceUnitClass = nil
sourceUnitName = nil
borderColor = <table> {
1 = 1
2 = 1
3 = 1
4 = 1
}
profile = <table> {
target_shady_combat_only = false
ui_parent_buff_special_level = 0
extra_icon_use_blizzard_border_color = false
aura_sort = true
npcs_renamed = <table> {
}
bossmod_support_bars_text_enabled = true
saved_cvars_last_change = <table> {
}
aura_cache_by_name = <table> {
}
url = "https://wago.io/ak3iS95aa/103"
hover_highlight = true
blizzard_nameplate_font_override_enabled = true
show_shield_prediction = true
aura_border_thickness_personal = 1
health_cutoff_upper = true
stacking_nameplates_enabled = true
aura2_y_offset = 1.500000
spell_animations_scale = 1.250000
aura_timer_text_anchor = <table> {
}
extra_icon_caster_size = 7
buffs_on_aura2 = true
health_selection_overlay = "PlaterFocus"
expansion_triggerwipe = <table> {
}
show_aggro_glow = true
cast_statusbar_color_nointerrupt = <table> {
}
show_interrupt_author = true
bossmod_support_bars_enabled = false
hide_blizzard_castbar = false
extra_icon_cooldown_reverse = true
health_cutoff_extra_glow = false
use_ui_parent_just_enabled = false
npc_cache = <table> {
}
extra_icon_timer_decimals = true
aura_grow_direction = 1
indicator_anchor = <table> {
}
hide_name_on_game_objects = false
health_selection_overlay_alpha = 0
aura_stack_shadow_color = <table> {
}
minor_height_scale = 1.000000
culling_distance = 100
reopoen_options_panel_on_tab = false
blizzard_nameplate_large_font_outline = "OUTLINE"
blizzard_nameplate_font_outline = "OUTLINE"
aura_padding = 0
indicator_worldboss = true
last_news_time = 1721524228
range_check_power_bar_alpha_friendlies = 1
cast_statusbar_fadeout_time = 0.500000
aura_stack_shadow_color_offset = <table> {
}
aura_stack_size = 8
cast_audiocue_cooldown = 0.100000
aura_timer_decimals = false
range_check_health_bar_alpha = 0.850000
aura_height2 = 16
aura_show_crowdcontrol = true
castbar_target_shadow_color_offset = <table> {
}
cast_colors = <table> {
}
health_cutoff = true
aura_border_colors = <table> {
}
ui_parent_cast_strata = "BACKGROUND"
hook_data_trash = <table> {
}
script_auto_imported = <table> {
}
show_healthbars_on_softinteract = false
extra_icon_anchor = <table> {
}
extra_icon_wide_icon = false
ui_parent_buff2_strata = "BACKGROUND"
use_playerclass_color = true
range_check_alpha = 0.900000
semver = "5.0.3"
aura_border_thickness = 1
health_cutoff_hide_divisor = false
aura_frame2_anchor = <table> {
}
use_name_translit = true
aura_alpha = 1
auto_toggle_friendly = <table> {
}
aura_cooldown_edge_texture = "Interface\AddOns\Plater\images\cooldown_edge_2"
castbar_icon_x_offset = 0
show_softinteract_icons = false
debuff_show_cc = true
extra_icon_height = 20
extra_icon_show_purge = false
transparency_behavior = 2
spell_animations = false
debuff_show_cc_border = <table> {
}
aura_consolidate = true
shadowMode = 1
auto_toggle_combat_enabled = false
extra_icon_width = 21
health_statusbar_texture = "Details Flat"
hook_auto_imported = <table> {
}
extra_icon_border_color = <table> {
}
minor_width_scale = 1.000000
indicator_pet = false
captured_spells = <table> {
}
aura_frame1_anchor = <table> {
}
range_check_cast_bar_alpha_friendlies = 1
auto_toggle_enemy_enabled
Screenshots
Post images of the bug if necessary.
Other Information
If necessary, add more info here.
doesn't show at login, happens randomly at a random time when attacking mobs
Thank you. Any other errors in BugSack?
You might have a mod for Buff Special on the modding tab. If that's the case, could you try disabling that, do a /reload and try again?
A screenshot of your Buff Special tab please.
If possible, please export your profile to wago and link it here, that would make things a bit easier.
Sure thing!
https://wago.io/beMx-opqe
I did have a buff special mod (don't know if it was part of jundies originally or just there) disabled and so far not getting error
here's the code in case it's something in there, I don't believe I need that mod anyways, from what I can tell the plater profile is fine
function (modTable)
local function BuffSepcialFormat ()
local DF = _G ["DetailsFramework"]
DF.IconMixin.SetIcon = function (self, spellId, borderColor, startTime, duration, forceTexture, descText, count, debuffType, caster, canStealOrPurge, spellName, isBuff, modRate)
local actualSpellName, _, spellIcon = C_Spell.GetSpellInfo (spellId)
if forceTexture then
spellIcon = forceTexture
end
local spellName = spellName or actualSpellName or "unknown_aura"
local modRate = modRate or 1
if (spellIcon) then
local profile = Plater.db.profile
local iconFrame = self:GetIcon()
iconFrame.Texture:SetTexture (spellIcon)
iconFrame.Texture:SetTexCoord (unpack (self.options.texcoord))
local size = modTable.config.BSborderth
if (not iconFrame.PixelPerfectBorder) then
iconFrame.PixelPerfectBorder = CreateFrame ("frame", nil, iconFrame, "NamePlateFullBorderTemplate")
end
iconFrame.Border:Hide()
iconFrame.PixelPerfectBorder:SetVertexColor (Plater:ParseColors (borderColor))
iconFrame.PixelPerfectBorder:SetBorderSizes (size, size, size, size)
iconFrame.PixelPerfectBorder:UpdateSizes()
iconFrame.Texture:SetSize(profile.extra_icon_width - size/2, profile.extra_icon_height - size/2)
iconFrame.Texture:ClearAllPoints()
iconFrame.Texture:SetAllPoints()
if (startTime) then
CooldownFrame_Set (iconFrame.Cooldown, startTime, duration, true, true)
if (self.options.show_text) then
iconFrame.CountdownText:Show()
local now = GetTime()
iconFrame.timeRemaining = (startTime + duration - now) / modRate
iconFrame.expirationTime = startTime + duration
local formattedTime = (iconFrame.timeRemaining > 0) and self.options.decimal_timer and iconFrame.parentIconRow.FormatCooldownTimeDecimal(iconFrame.timeRemaining) or iconFrame.parentIconRow.FormatCooldownTime(iconFrame.timeRemaining) or ""
iconFrame.CountdownText:SetText (formattedTime)
iconFrame.CountdownText:SetPoint (self.options.text_anchor or "center", iconFrame, self.options.text_rel_anchor or "center", self.options.text_x_offset or 0, self.options.text_y_offset or 0)
DF:SetFontSize (iconFrame.CountdownText, self.options.text_size)
DF:SetFontFace (iconFrame.CountdownText, self.options.text_font)
DF:SetFontOutline (iconFrame.CountdownText, self.options.text_outline)
if modTable.config.BScbt then
if (iconFrame.timeRemaining/duration < 0.225) then
Plater:SetFontColor (iconFrame.CountdownText, "red")
elseif (iconFrame.timeRemaining/duration < 0.45) then
Plater:SetFontColor (iconFrame.CountdownText, "darkorange")
else
Plater:SetFontColor (iconFrame.CountdownText, modTable.config.BStimer_color)
end
else
Plater:SetFontColor (iconFrame.CountdownText, modTable.config.BStimer_color)
end
if self.options.on_tick_cooldown_update then
iconFrame.lastUpdateCooldown = now
iconFrame:SetScript("OnUpdate", self.OnIconTick)
else
iconFrame:SetScript("OnUpdate", nil)
end
else
iconFrame:SetScript("OnUpdate", nil)
iconFrame.CountdownText:Hide()
end
iconFrame.Cooldown:SetReverse (self.options.cooldown_reverse)
iconFrame.Cooldown:SetDrawSwipe (self.options.cooldown_swipe_enabled)
iconFrame.Cooldown:SetEdgeTexture (self.options.cooldown_edge_texture)
iconFrame.Cooldown:SetHideCountdownNumbers (self.options.surpress_blizzard_cd_timer)
else
iconFrame.timeRemaining = nil
iconFrame.expirationTime = nil
iconFrame:SetScript("OnUpdate", nil)
iconFrame.CountdownText:Hide()
end
if (descText and self.options.desc_text) then
iconFrame.Desc:Show()
iconFrame.Desc:SetText (descText.text)
iconFrame.Desc:SetTextColor (DF:ParseColors (descText.text_color or self.options.desc_text_color))
local Anchor = {
side = modTable.config.Descanchor,
x = modTable.config.Descxoff,
y = modTable.config.Descyoff,
}
Plater.SetAnchor (iconFrame.Desc, Anchor)
DF:SetFontSize (iconFrame.Desc, descText.text_size or self.options.desc_text_size)
DF:SetFontFace (iconFrame.Desc, self.options.desc_text_font)
DF:SetFontOutline (iconFrame.Desc, self.options.desc_text_outline)
else
iconFrame.Desc:Hide()
end
if (count and count > 1 and self.options.stack_text) then
iconFrame.StackText:Show()
iconFrame.StackText:SetText (count)
iconFrame.StackText:SetTextColor (DF:ParseColors (modTable.config.BSstack_color))
iconFrame.StackText:SetPoint (self.options.stack_text_anchor or "center", iconFrame, self.options.stack_text_rel_anchor or "bottomright", self.options.stack_text_x_offset or 0, self.options.stack_text_y_offset or 0)
DF:SetFontSize (iconFrame.StackText, self.options.stack_text_size)
DF:SetFontFace (iconFrame.StackText, self.options.stack_text_font)
DF:SetFontOutline (iconFrame.StackText, self.options.stack_text_outline)
else
iconFrame.StackText:Hide()
end
PixelUtil.SetSize (iconFrame, self.options.icon_width, self.options.icon_height)
iconFrame:Show()
--> update the size of the frame
self:SetWidth ((self.options.left_padding * 2) + (modTable.config.BSpadding * (self.NextIcon-2)) + (self.options.icon_width * (self.NextIcon - 1)))
self:SetHeight (self.options.icon_height + (self.options.top_padding * 2))
--> make information available
iconFrame.spellId = spellId
iconFrame.startTime = startTime
iconFrame.duration = duration
iconFrame.count = count
iconFrame.debuffType = debuffType
iconFrame.caster = caster
iconFrame.canStealOrPurge = canStealOrPurge
iconFrame.isBuff = isBuff
iconFrame.spellName = spellName
iconFrame.identifierKey = nil -- only used for "specific" add/remove
--add the spell into the cache
self.AuraCache [spellId or -1] = true
self.AuraCache [spellName] = true
self.AuraCache.canStealOrPurge = self.AuraCache.canStealOrPurge or canStealOrPurge
self.AuraCache.hasEnrage = self.AuraCache.hasEnrage or debuffType == "" --yes, enrages are empty-string...
--> show the frame
self:Show()
return iconFrame
end
end
end
-- exchange formatting:
function modTable.hookTimeFormat()
BuffSepcialFormat ()
end
function modTable.updateExisting(unitFrame)
BuffSepcialFormat ()
unitFrame.ExtraIconFrame:SetOption ("icon_padding", modTable.config.BSpadding)
end
modTable.hookTimeFormat()
for _, plateFrame in ipairs (Plater.GetAllShownPlates()) do
modTable.updateExisting(plateFrame.unitFrame)
end
end
Quite as expected then: broken mod. you might want to check if there is an update for the mod and/or profile available on wago and leave a note if not.