Go to Page... |
Compatibility: | Necrom (9.0.0) |
Updated: | 06/23/23 05:22 PM |
Created: | 11/09/20 03:08 AM |
Monthly downloads: | 4,898 |
Total downloads: | 258,436 |
Favorites: | 175 |
MD5: | |
Categories: | Group, Guild & Friends, Raid Mods |
function OSI.SetMechanicIconForUnit( displayName, -- display name of the affected player texture, -- icon texture path size, -- optional icon size color, -- optional icon color {r,g,b} offset, -- optional icon offset in meters callback -- optional callback function ) function OSI.RemoveMechanicIconForUnit( displayName -- display name of the affected player )
local ADDON_NAME = "MyAddonName" local MY_TEXTURE = "myaddonname/myiconpath/myicontexture.dds" local MECHANIC_ID = 12345 EVENT_MANAGER:RegisterForEvent( ADDON_NAME, EVENT_ADD_ON_LOADED, function( _, addonName ) if addonName ~= ADDON_NAME then return end EVENT_MANAGER:UnregisterForEvent( ADDON_NAME, EVENT_ADD_ON_LOADED ) EVENT_MANAGER:RegisterForEvent( ADDON_NAME, EVENT_EFFECT_CHANGED, function( _, changeType, _, _, unitTag ) -- check if OdySupportIcons is active and the affected unit is a player if OSI and OSI.SetMechanicIconForUnit and IsUnitPlayer( unitTag ) then -- retrieve the displayname of the affected player local displayName = GetUnitDisplayName( unitTag ) -- if the player gained the mechanic effect... if changeType == EFFECT_RESULT_GAINED then -- assign your icon to the affected player and make it bigger than other icons OSI.SetMechanicIconForUnit( displayName, -- display name of the affected player MY_TEXTURE, -- icon texture path OSI.GetIconSize() * 1.5, -- optional icon size { 1, 1, 1 }, -- optional icon color {r,g,b} 0, -- optional icon offset in meters function( data ) -- optional callback function -- simple bounce animation along the y-axis data.offset = 0.5 + 0.5 * math.sin( GetGameTimeMilliseconds() / 1000 * 2 ) -- the data object passed to the callback function contains: -- displayName, unitTag, texture, size, color, offset end ) -- if the player lost the mechanic effect... elseif changeType == EFFECT_RESULT_FADED then -- remove your icon from the formerly affected player OSI.RemoveMechanicIconForUnit( displayName ) end end end ) EVENT_MANAGER:AddFilterForEvent( ADDON_NAME, EVENT_EFFECT_CHANGED, REGISTER_FILTER_ABILITY_ID, MECHANIC_ID ) EVENT_MANAGER:AddFilterForEvent( ADDON_NAME, EVENT_EFFECT_CHANGED, REGISTER_FILTER_UNIT_TAG_PREFIX, "group" ) end )
function OSI.CreatePositionIcon( x, y, z, -- world coordinates texture, -- icon texture path size, -- optional icon size color, -- optional icon color {r,g,b} offset, -- optional icon offset in meters callback -- optional callback function ) function OSI.DiscardPositionIcon( icon -- position icon object )
/script OSI.PrintMyPosition()
local ADDON_NAME = "MyAddonName" local MY_TEXTURE = "myaddonname/myiconpath/myicontexture.dds" local MY_ICON = nil EVENT_MANAGER:RegisterForEvent( ADDON_NAME, EVENT_ADD_ON_LOADED, function( _, addonName ) if addonName ~= ADDON_NAME then return end EVENT_MANAGER:UnregisterForEvent( ADDON_NAME, EVENT_ADD_ON_LOADED ) EVENT_MANAGER:RegisterForEvent( ADDON_NAME, EVENT_BOSSES_CHANGED, function() -- check is OdySupportIcons is active and supports world position icons if OSI and OSI.CreatePositionIcon then -- retrieve name of boss local boss = GetUnitName( "boss1" ) -- if we are in Sharpfangs (Deshaan) lair and... if boss and boss == "Sharpfang" then -- if no icon has been created yet... if not MY_ICON then -- create an icon 2.5m above the stone formation and make it bigger than other icons MY_ICON = OSI.CreatePositionIcon( 274367, 11022, 213871, -- world coordinates MY_TEXTURE, -- icon texture path OSI.GetIconSize() * 1.5, -- optional icon size { 1, 1, 1 }, -- optional icon color {r,g,b} 2.5, -- optional icon offset in meters function( data ) -- optional callback function -- simple bounce animation along the y-axis data.offset = 2.5 + math.sin( GetGameTimeMilliseconds() / 1000 * 2 ) -- the data object passed to the callback function contains: -- texture, size, color, offset end ) end -- if we are somewhere else or Sharpfang is not around and... else -- if an icon has been created before... if MY_ICON then -- discard the icon OSI.DiscardPositionIcon( MY_ICON ) MY_ICON = nil end end end end ) end )
function OSI.AddCustomIconPack( icons )
local ADDON_NAME = "MyAddonName" local MY_TEXTURES = { "myaddonname/myiconpath/myicontexture-1.dds", "myaddonname/myiconpath/myicontexture-2.dds", "myaddonname/myiconpath/myicontexture-3.dds", } EVENT_MANAGER:RegisterForEvent( ADDON_NAME, EVENT_ADD_ON_LOADED, function( _, addonName ) if addonName ~= ADDON_NAME then return end EVENT_MANAGER:UnregisterForEvent( ADDON_NAME, EVENT_ADD_ON_LOADED ) -- check if OdySupportIcons is active and supports custom icon packs if OSI and OSI.AddCustomIconPack then -- add your list of icons OSI.AddCustomIconPack( MY_TEXTURES ) end end )
function OSI.AddUniqueIconPack( icons )
local ADDON_NAME = "MyAddonName" local MY_TEXTURES = { ["@SomePlayer"] = "myaddonname/myiconpath/myiconforsomeplayer.dds", ["@AnotherPlayer"] = "myaddonname/myiconpath/myiconforanotherplayer.dds", } EVENT_MANAGER:RegisterForEvent( ADDON_NAME, EVENT_ADD_ON_LOADED, function( _, addonName ) if addonName ~= ADDON_NAME then return end EVENT_MANAGER:UnregisterForEvent( ADDON_NAME, EVENT_ADD_ON_LOADED ) -- check if OdySupportIcons is active and supports unique icon packs if OSI and OSI.AddUniqueIconPack then -- add your list of icons OSI.AddUniqueIconPack( MY_TEXTURES ) end end )
File Name |
Version |
Size |
Uploader |
Date |
1.8.0 |
247kB |
ExoY |
02/05/23 03:48 AM |
|
1.7.0 |
247kB |
ExoY |
06/15/22 05:34 PM |
|
1.6.5 |
248kB |
ExoY |
07/13/21 12:45 PM |
|
1.6.4 |
248kB |
Odylon |
07/05/21 12:33 PM |
|
1.6.3 |
247kB |
Odylon |
06/29/21 12:19 PM |
|
1.6.2 |
246kB |
Odylon |
06/05/21 11:09 AM |
|
1.6.1 |
245kB |
Odylon |
05/22/21 09:51 AM |
|
1.6.0 |
244kB |
Odylon |
05/13/21 10:20 AM |
|
1.5.6 |
336kB |
Odylon |
04/10/21 01:02 AM |
|
1.5.5 |
312kB |
Odylon |
03/18/21 03:36 AM |
|
1.5.4 |
262kB |
Odylon |
01/03/21 04:06 AM |
|
1.5.3 |
245kB |
Odylon |
11/12/20 01:45 PM |
|
1.5.2 |
245kB |
Odylon |
11/09/20 11:34 AM |
|
1.5.1 |
245kB |
Odylon |
11/09/20 10:55 AM |
|
1.5.0 |
245kB |
11/09/20 03:08 AM |
Comment Options |
DakJaniels |
View Public Profile |
Send a private message to DakJaniels |
Send email to DakJaniels |
Find More Posts by DakJaniels |
Add DakJaniels to Your Buddy List |
04/03/24, 04:14 PM | |
Forum posts: 2
File comments: 3
Uploads: 0
|
Cannot see custom icons anymore :(
Hi there, all my custom icons assigned to specific players all of a sudden stopped showing up. There seems to be a placeholder next to their names but it's just empty. When I tried to select custom icons, the list usually shows, but now seems to be a list of empty icons (all appearing black). This happened out of blue. I tried removing custom icons and reapplying, reinstalling the add-on, completely removing the add-on and saved variables and then installing, and disabling it then re-enable. None of these worked. Would appreciate some help! Thank you!
Edits to add the error messages: user:/AddOns/OdySupportIcons/OdySupportIcons.lua:656: attempt to index a nil value stack traceback: user:/AddOns/OdySupportIcons/OdySupportIcons.lua:656: in function 'OSI.OnActivated' Edit: looks like this problem only occurred when I have HodorReflexes enabled. It is not occurring when I have it disabled…. Edit: reinstalling HodorReflexes fixed it.
Last edited by Sootica : 04/05/24 at 08:31 PM.
|
|
Sootica |
View Public Profile |
Send a private message to Sootica |
Send email to Sootica |
Find More Posts by Sootica |
Add Sootica to Your Buddy List |
06/09/24, 06:44 AM | |
Forum posts: 0
File comments: 1
Uploads: 0
|
Broken since update 42
I play in accessibility mode and have had an error since game Update 42 where having Ody's Support Icons enabled causes the UI to break when I enter a group. None of the icons work, and it puts me in a weird hybrid of accessibility mode and non-accessibility mode (with all of the menus and chat reverting to their UI outside of accessibility mode.
While I love Ody's Support Icons, it has been completely unusable for me since the most recent update which, in turn, has made add-ons with dependencies for it not work either since I need to disable it to not have a completely broken UI UPDATE: Uninstalled and reinstalled Ody and all mods with dependencies and (touch wood) it *seems* to be working again
Last edited by Ketryellowynne : 06/09/24 at 07:37 AM.
|
|
Ketryellowynne |
View Public Profile |
Send a private message to Ketryellowynne |
Send email to Ketryellowynne |
Find More Posts by Ketryellowynne |
Add Ketryellowynne to Your Buddy List |