-- ============================================================================= -- ADDON: CORONAS 2D - REY DEL MU (V2.1 - ULTRA STABILIZED U42/U43/U44) -- Creado y Desarrollado por SPTEAM -- ============================================================================= local CrownConfig = { EnableCrown = true, ImageID = 50009, ScaleW = 20, ScaleH = 20, OffsetX = -10, OffsetY = -25, Debug = false } local WinnerCache = { IDs = {}, HasWinners = false } function CrownInterface_Protocol(Packet, PacketName) if PacketName == "ReyUpdate" then local shift = 0 local SubComando = GetBytePacket(PacketName, 0) if SubComando == Packet then SubComando = GetBytePacket(PacketName, 1) shift = 1 end -- SUB_CROWN_SYNC (5) if SubComando == 5 then local count = GetBytePacket(PacketName, 11 + shift) or 0 if count > 80 then count = 80 end WinnerCache.IDs = {} WinnerCache.HasWinners = false local currentOffset = 12 + shift for i = 1, count do local aIndex = GetWordPacket(PacketName, currentOffset) if aIndex and aIndex > 0 then WinnerCache.IDs[aIndex] = true WinnerCache.HasWinners = true end currentOffset = currentOffset + 2 end end end return false end function CrownInterface_Render(index, class, x, y) if not CrownConfig.EnableCrown or not WinnerCache.HasWinners then return end if GetMainScene() ~= 5 then return end local globalIndex = index if index >= 0 and index < 400 and CharacterGetIndex ~= nil then local check = CharacterGetIndex(index) if check and check > 0 then globalIndex = check end end if WinnerCache.IDs[globalIndex] then local screenH = 480 if GetOpenGLHeight ~= nil then screenH = GetOpenGLHeight() else screenH = WindowGetHeight() end local scaleFactor = 1.0 if y < screenH * 0.3 then scaleFactor = 0.6 elseif y < screenH * 0.5 then scaleFactor = 0.8 end local finalW = CrownConfig.ScaleW * scaleFactor local finalH = CrownConfig.ScaleH * scaleFactor local finalOffX = CrownConfig.OffsetX * scaleFactor local finalOffY = CrownConfig.OffsetY * scaleFactor SetBlend(1) glColor4f(1.0, 1.0, 1.0, 1.0) RenderImage2(CrownConfig.ImageID, x + finalOffX, y + finalOffY, finalW, finalH, 0.0, 0.0, 1.0, 1.0, 1, 1, 1.0) SetBlend(0) end end if _G.CrownInterface_Init == nil then if ProtocolFunctions and ProtocolFunctions.ClientProtocol then ProtocolFunctions.ClientProtocol(CrownInterface_Protocol) else BridgeFunctionAttach('ClientProtocol', 'CrownInterface_Protocol') end BridgeFunctionAttach('ObjectRenderName', 'CrownInterface_Render') _G.CrownInterface_Init = true end