Jump to content

[HELP ME] Why not working this?


Turbesz

Recommended Posts

no errors, but doesn't working :|

--client

local displayWidth, displayHeight = guiGetScreenSize(); 
  
local notificationData = {}; 
  
local notificationFont = dxCreateFont('files/fonts/roboto.ttf', 12 * 2, false); 
local iconsFont = dxCreateFont('files/fonts/icons.ttf', 12 * 2, false); 
  
addEventHandler('onClientRender', root, 
    function() 
        for k, v in pairs(notificationData) do 
            if (v.State == 'fadeIn') then 
                local alphaProgress = (getTickCount() - v.AlphaTick) / 650; 
                local alphaAnimation = interpolateBetween(0, 0, 0, 255, 0, 0, alphaProgress, 'Linear'); 
                 
                if (alphaAnimation) then 
                    v.Alpha = alphaAnimation; 
                else 
                    v.Alpha = 255; 
                end 
                 
                if (alphaProgress > 1) then 
                    v.Tick = getTickCount(); 
                    v.State = 'openTile'; 
                end 
            elseif (v.State == 'fadeOut') then 
                local alphaProgress = (getTickCount() - v.AlphaTick) / 650; 
                local alphaAnimation = interpolateBetween(255, 0, 0, 0, 0, 0, alphaProgress, 'Linear'); 
                 
                if (alphaAnimation) then 
                    v.Alpha = alphaAnimation; 
                else 
                    v.Alpha = 0; 
                end 
                 
                if (alphaProgress > 1) then 
                    notificationData = {}; 
                end 
            elseif (v.State == 'openTile') then 
                local tileProgress = (getTickCount() - v.Tick) / 350; 
                local tilePosition = interpolateBetween(v.StartX, 0, 0, v.EndX, 0, 0, tileProgress, 'Linear'); 
                local tileWidth = interpolateBetween(0, 0, 0, v.Width, 0, 0, tileProgress, 'Linear'); 
                 
                if (tilePosition and tileWidth) then 
                    v.CurrentX = tilePosition; 
                    v.CurrentWidth = tileWidth; 
                else 
                    v.CurrentX = v.EndX; 
                    v.CurrentWidth = v.Width; 
                end 
                 
                if (tileProgress > 1) then 
                    v.State = 'fixTile'; 
                     
                    setTimer(function() 
                        v.Tick = getTickCount(); 
                        v.State = 'closeTile'; 
                    end, string.len(v.Text) * 45 + 5000, 1); 
                end 
            elseif (v.State == 'closeTile') then 
                local tileProgress = (getTickCount() - v.Tick) / 350; 
                local tilePosition = interpolateBetween(v.EndX, 0, 0, v.StartX, 0, 0, tileProgress, 'Linear'); 
                local tileWidth = interpolateBetween(v.Width, 0, 0, 0, 0, 0, tileProgress, 'Linear'); 
                 
                if (tilePosition and tileWidth) then 
                    v.CurrentX = tilePosition; 
                    v.CurrentWidth = tileWidth; 
                else 
                    v.CurrentX = v.StartX; 
                    v.CurrentWidth = 0; 
                end 
                 
                if (tileProgress > 1) then 
                    v.AlphaTick = getTickCount(); 
                    v.State = 'fadeOut'; 
                end 
            elseif (v.State == 'fixTile') then 
                v.Alpha = 255; 
                v.CurrentX = v.EndX; 
                v.CurrentWidth = v.Width; 
            end 
             
            roundedRectangle(v.CurrentX, 20, 25 + v.CurrentWidth, 25, tocolor(0, 0, 0, 150 * v.Alpha / 255), _, true); 
            dxDrawRectangle(v.CurrentX, 20, 25, 25, tocolor(0, 0, 0, 255 * v.Alpha / 255), true); 
             
            if (v.Alpha == 255) then 
                dxDrawText(v.Text, v.CurrentX + 25 + 10, 20, v.CurrentX + 25 + 10 + v.CurrentWidth - 20, 20 + 25, tocolor(255, 255, 255, 255), 0.40, notificationFont, 'center', 'center', true, false, true); 
            end 
             
            if (v.Type == 'error') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(215, 90, 90, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'warning') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(220, 180, 80, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'info') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(85, 180, 245, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'success') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(80, 205, 105, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            end 
        end 
    end 
) 
  
addEvent('addNotification', true); 
function addNotification(text, type) 
    if (text and type) then 
        if (notificationData ~= nil) then 
            table.remove(notificationData, #notificationData); 
        end 
         
        table.insert(notificationData, 
            { 
                StartX = (displayWidth / 2) - (25 / 2), 
                EndX = (displayWidth / 2) - ((dxGetTextWidth(text, 0.40, notificationFont) + 20 + 25) / 2), 
                Text = text, 
                Width = dxGetTextWidth(text, 0.40, notificationFont) + 20, 
                Alpha = 0, 
                State = 'fadeIn', 
                Tick = 0, 
                AlphaTick = getTickCount(), 
                CurrentX = (displayWidth / 2) - (25 / 2), 
                CurrentWidth = 0, 
                Type = type or 'info' 
            } 
        ); 
         
        if (fileExists('files/sounds/' .. type .. '.mp3')) then 
            if (notificationData.soundEffect and isElement(notificationData.soundEffect)) then 
                destroyElement(notificationData.soundEffect); 
            end 
             
            notificationData.soundEffect = playSound('files/sounds/' .. type .. '.mp3', false); 
        else 
            playSoundFrontEnd(11); 
        end 
    end 
end 
addEventHandler('addNotification', root, addNotification); 
  
function roundedRectangle(x, y, w, h, borderColor, bgColor, postGUI) 
    if (x and y and w and h) then 
        if (not borderColor) then 
            borderColor = tocolor(0, 0, 0, 200); 
        end 
         
        if (not bgColor) then 
            bgColor = borderColor; 
        end 
         
        --> Background 
        dxDrawRectangle(x, y, w, h, bgColor, postGUI); 
         
        --> Border 
        dxDrawRectangle(x + 2, y - 1, w - 4, 1, borderColor, postGUI); -- top 
        dxDrawRectangle(x + 2, y + h, w - 4, 1, borderColor, postGUI); -- bottom 
        dxDrawRectangle(x - 1, y + 2, 1, h - 4, borderColor, postGUI); -- left 
        dxDrawRectangle(x + w, y + 2, 1, h - 4, borderColor, postGUI); -- right 
    end 
end 

--server

function addNotification(player, text, type) 
    if (player and text and type) then 
        triggerClientEvent(player, 'addNotification', player, text, type); 
    end 
end 
  
addEventHandler("onPlayerLogin", getRootElement(), 
function (player, text, type) 
local name = getPlayerName ( source ) 
    if isObjectInACLGroup("user." .. getAccountName(getPlayerAccount(source)), aclGetGroup("Admin")) then 
    showText(name.." tulajdonosi szolgálatba lépett!", getRootElement(), 255,0,0, true) 
    triggerClientEvent(player, 'addNotification', player, text, type); 
  end 
end 
) 

Link to comment
I think v.Alpha it's again the error, because it's value is always 0 and makes the rectangle don't appear. Please replace v.Alpha on dxDraw with 255

Doesn't working :|

local displayWidth, displayHeight = guiGetScreenSize(); 
  
local notificationData = {}; 
  
local notificationFont = dxCreateFont('files/fonts/roboto.ttf', 12 * 2, false); 
local iconsFont = dxCreateFont('files/fonts/icons.ttf', 12 * 2, false); 
  
addEventHandler('onClientRender', root, 
    function() 
        for k, v in pairs(notificationData) do 
            if (v.State == 'fadeIn') then 
                local alphaProgress = (getTickCount() - v.AlphaTick) / 650; 
                local alphaAnimation = interpolateBetween(0, 0, 0, 255, 0, 0, alphaProgress, 'Linear'); 
                 
                if (alphaAnimation) then 
                    v.Alpha = alphaAnimation; 
                else 
                    v.Alpha = 255; 
                end 
                 
                if (alphaProgress > 1) then 
                    v.Tick = getTickCount(); 
                    v.State = 'openTile'; 
                end 
            elseif (v.State == 'fadeOut') then 
                local alphaProgress = (getTickCount() - v.AlphaTick) / 650; 
                local alphaAnimation = interpolateBetween(255, 0, 0, 0, 0, 0, alphaProgress, 'Linear'); 
                 
                if (alphaAnimation) then 
                    v.Alpha = alphaAnimation; 
                else 
                    v.Alpha = 0; 
                end 
                 
                if (alphaProgress > 1) then 
                    notificationData = {}; 
                end 
            elseif (v.State == 'openTile') then 
                local tileProgress = (getTickCount() - v.Tick) / 350; 
                local tilePosition = interpolateBetween(v.StartX, 0, 0, v.EndX, 0, 0, tileProgress, 'Linear'); 
                local tileWidth = interpolateBetween(0, 0, 0, v.Width, 0, 0, tileProgress, 'Linear'); 
                 
                if (tilePosition and tileWidth) then 
                    v.CurrentX = tilePosition; 
                    v.CurrentWidth = tileWidth; 
                else 
                    v.CurrentX = v.EndX; 
                    v.CurrentWidth = v.Width; 
                end 
                 
                if (tileProgress > 1) then 
                    v.State = 'fixTile'; 
                     
                    setTimer(function() 
                        v.Tick = getTickCount(); 
                        v.State = 'closeTile'; 
                    end, string.len(v.Text) * 45 + 5000, 1); 
                end 
            elseif (v.State == 'closeTile') then 
                local tileProgress = (getTickCount() - v.Tick) / 350; 
                local tilePosition = interpolateBetween(v.EndX, 0, 0, v.StartX, 0, 0, tileProgress, 'Linear'); 
                local tileWidth = interpolateBetween(v.Width, 0, 0, 0, 0, 0, tileProgress, 'Linear'); 
                 
                if (tilePosition and tileWidth) then 
                    v.CurrentX = tilePosition; 
                    v.CurrentWidth = tileWidth; 
                else 
                    v.CurrentX = v.StartX; 
                    v.CurrentWidth = 0; 
                end 
                 
                if (tileProgress > 1) then 
                    v.AlphaTick = getTickCount(); 
                    v.State = 'fadeOut'; 
                end 
            elseif (v.State == 'fixTile') then 
                v.Alpha = 255; 
                v.CurrentX = v.EndX; 
                v.CurrentWidth = v.Width; 
            end 
             
            roundedRectangle(v.CurrentX, 20, 25 + v.CurrentWidth, 25, tocolor(0, 0, 0, 150 * 255 / 255), _, true); 
            dxDrawRectangle(v.CurrentX, 20, 25, 25, tocolor(0, 0, 0, 255 * 255 / 255), true); 
             
            if (v.Alpha == 255) then 
                dxDrawText(v.Text, v.CurrentX + 25 + 10, 20, v.CurrentX + 25 + 10 + v.CurrentWidth - 20, 20 + 25, tocolor(255, 255, 255, 255), 0.40, notificationFont, 'center', 'center', true, false, true); 
            end 
             
            if (v.Type == 'error') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(215, 90, 90, 255), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'warning') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(220, 180, 80, 255), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'info') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(85, 180, 245, 255), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'success') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(80, 205, 105, 255), 0.50, iconsFont, 'center', 'center', false, false, true); 
            end 
        end 
    end 
) 
  
addEvent('addNotification', true); 
function addNotification(text, type) 
    if (text and type) then 
        if (notificationData ~= nil) then 
            table.remove(notificationData, #notificationData); 
        end 
         
        table.insert(notificationData, 
            { 
                StartX = (displayWidth / 2) - (25 / 2), 
                EndX = (displayWidth / 2) - ((dxGetTextWidth(text, 0.40, notificationFont) + 20 + 25) / 2), 
                Text = text, 
                Width = dxGetTextWidth(text, 0.40, notificationFont) + 20, 
                Alpha = 0, 
                State = 'fadeIn', 
                Tick = 0, 
                AlphaTick = getTickCount(), 
                CurrentX = (displayWidth / 2) - (25 / 2), 
                CurrentWidth = 0, 
                Type = type or 'info' 
            } 
        ); 
         
        if (fileExists('files/sounds/' .. type .. '.mp3')) then 
            if (notificationData.soundEffect and isElement(notificationData.soundEffect)) then 
                destroyElement(notificationData.soundEffect); 
            end 
             
            notificationData.soundEffect = playSound('files/sounds/' .. type .. '.mp3', false); 
        else 
            playSoundFrontEnd(11); 
        end 
    end 
end 
addEventHandler('addNotification', root, addNotification); 
  
function roundedRectangle(x, y, w, h, borderColor, bgColor, postGUI) 
    if (x and y and w and h) then 
        if (not borderColor) then 
            borderColor = tocolor(0, 0, 0, 200); 
        end 
         
        if (not bgColor) then 
            bgColor = borderColor; 
        end 
         
        --> Background 
        dxDrawRectangle(x, y, w, h, bgColor, postGUI); 
         
        --> Border 
        dxDrawRectangle(x + 2, y - 1, w - 4, 1, borderColor, postGUI); -- top 
        dxDrawRectangle(x + 2, y + h, w - 4, 1, borderColor, postGUI); -- bottom 
        dxDrawRectangle(x - 1, y + 2, 1, h - 4, borderColor, postGUI); -- left 
        dxDrawRectangle(x + w, y + 2, 1, h - 4, borderColor, postGUI); -- right 
    end 
end 

Link to comment

Try this

function draw() 
    outputChatBox("Wow") 
        for k, v in pairs(notificationData) do 
            if (v.State == 'fadeIn') then 
                local alphaProgress = (getTickCount() - v.AlphaTick) / 650; 
                local alphaAnimation = interpolateBetween(0, 0, 0, 255, 0, 0, alphaProgress, 'Linear'); 
                
                if (alphaAnimation) then 
                    v.Alpha = alphaAnimation; 
                else 
                    v.Alpha = 255; 
                end 
                
                if (alphaProgress > 1) then 
                    v.Tick = getTickCount(); 
                    v.State = 'openTile'; 
                end 
            elseif (v.State == 'fadeOut') then 
                local alphaProgress = (getTickCount() - v.AlphaTick) / 650; 
                local alphaAnimation = interpolateBetween(255, 0, 0, 0, 0, 0, alphaProgress, 'Linear'); 
                
                if (alphaAnimation) then 
                    v.Alpha = alphaAnimation; 
                else 
                    v.Alpha = 0; 
                end 
                
                if (alphaProgress > 1) then 
                    notificationData = {}; 
                end 
            elseif (v.State == 'openTile') then 
                local tileProgress = (getTickCount() - v.Tick) / 350; 
                local tilePosition = interpolateBetween(v.StartX, 0, 0, v.EndX, 0, 0, tileProgress, 'Linear'); 
                local tileWidth = interpolateBetween(0, 0, 0, v.Width, 0, 0, tileProgress, 'Linear'); 
                
                if (tilePosition and tileWidth) then 
                    v.CurrentX = tilePosition; 
                    v.CurrentWidth = tileWidth; 
                else 
                    v.CurrentX = v.EndX; 
                    v.CurrentWidth = v.Width; 
                end 
                
                if (tileProgress > 1) then 
                    v.State = 'fixTile'; 
                    
                    setTimer(function() 
                        v.Tick = getTickCount(); 
                        v.State = 'closeTile'; 
                    end, string.len(v.Text) * 45 + 5000, 1); 
                end 
            elseif (v.State == 'closeTile') then 
                local tileProgress = (getTickCount() - v.Tick) / 350; 
                local tilePosition = interpolateBetween(v.EndX, 0, 0, v.StartX, 0, 0, tileProgress, 'Linear'); 
                local tileWidth = interpolateBetween(v.Width, 0, 0, 0, 0, 0, tileProgress, 'Linear'); 
                
                if (tilePosition and tileWidth) then 
                    v.CurrentX = tilePosition; 
                    v.CurrentWidth = tileWidth; 
                else 
                    v.CurrentX = v.StartX; 
                    v.CurrentWidth = 0; 
                end 
                
                if (tileProgress > 1) then 
                    v.AlphaTick = getTickCount(); 
                    v.State = 'fadeOut'; 
                end 
            elseif (v.State == 'fixTile') then 
                v.Alpha = 255; 
                v.CurrentX = v.EndX; 
                v.CurrentWidth = v.Width; 
            end 
            
            roundedRectangle(v.CurrentX, 20, 25 + v.CurrentWidth, 25, tocolor(0, 0, 0, 150 * v.Alpha / 255), _, true); 
            dxDrawRectangle(v.CurrentX, 20, 25, 25, tocolor(0, 0, 0, 255 * v.Alpha / 255), true); 
            
            if (v.Alpha == 255) then 
                dxDrawText(v.Text, v.CurrentX + 25 + 10, 20, v.CurrentX + 25 + 10 + v.CurrentWidth - 20, 20 + 25, tocolor(255, 255, 255, 255), 0.40, notificationFont, 'center', 'center', true, false, true); 
            end 
            
            if (v.Type == 'error') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(215, 90, 90, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'warning') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(220, 180, 80, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'info') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(85, 180, 245, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'success') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(80, 205, 105, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            end 
        end 
    end 
addEventHandler("onClientRender", localPlayer, draw) 

and say if it outputs Wow into the chat.

Link to comment
Try this
function draw() 
    outputChatBox("Wow") 
        for k, v in pairs(notificationData) do 
            if (v.State == 'fadeIn') then 
                local alphaProgress = (getTickCount() - v.AlphaTick) / 650; 
                local alphaAnimation = interpolateBetween(0, 0, 0, 255, 0, 0, alphaProgress, 'Linear'); 
                
                if (alphaAnimation) then 
                    v.Alpha = alphaAnimation; 
                else 
                    v.Alpha = 255; 
                end 
                
                if (alphaProgress > 1) then 
                    v.Tick = getTickCount(); 
                    v.State = 'openTile'; 
                end 
            elseif (v.State == 'fadeOut') then 
                local alphaProgress = (getTickCount() - v.AlphaTick) / 650; 
                local alphaAnimation = interpolateBetween(255, 0, 0, 0, 0, 0, alphaProgress, 'Linear'); 
                
                if (alphaAnimation) then 
                    v.Alpha = alphaAnimation; 
                else 
                    v.Alpha = 0; 
                end 
                
                if (alphaProgress > 1) then 
                    notificationData = {}; 
                end 
            elseif (v.State == 'openTile') then 
                local tileProgress = (getTickCount() - v.Tick) / 350; 
                local tilePosition = interpolateBetween(v.StartX, 0, 0, v.EndX, 0, 0, tileProgress, 'Linear'); 
                local tileWidth = interpolateBetween(0, 0, 0, v.Width, 0, 0, tileProgress, 'Linear'); 
                
                if (tilePosition and tileWidth) then 
                    v.CurrentX = tilePosition; 
                    v.CurrentWidth = tileWidth; 
                else 
                    v.CurrentX = v.EndX; 
                    v.CurrentWidth = v.Width; 
                end 
                
                if (tileProgress > 1) then 
                    v.State = 'fixTile'; 
                    
                    setTimer(function() 
                        v.Tick = getTickCount(); 
                        v.State = 'closeTile'; 
                    end, string.len(v.Text) * 45 + 5000, 1); 
                end 
            elseif (v.State == 'closeTile') then 
                local tileProgress = (getTickCount() - v.Tick) / 350; 
                local tilePosition = interpolateBetween(v.EndX, 0, 0, v.StartX, 0, 0, tileProgress, 'Linear'); 
                local tileWidth = interpolateBetween(v.Width, 0, 0, 0, 0, 0, tileProgress, 'Linear'); 
                
                if (tilePosition and tileWidth) then 
                    v.CurrentX = tilePosition; 
                    v.CurrentWidth = tileWidth; 
                else 
                    v.CurrentX = v.StartX; 
                    v.CurrentWidth = 0; 
                end 
                
                if (tileProgress > 1) then 
                    v.AlphaTick = getTickCount(); 
                    v.State = 'fadeOut'; 
                end 
            elseif (v.State == 'fixTile') then 
                v.Alpha = 255; 
                v.CurrentX = v.EndX; 
                v.CurrentWidth = v.Width; 
            end 
            
            roundedRectangle(v.CurrentX, 20, 25 + v.CurrentWidth, 25, tocolor(0, 0, 0, 150 * v.Alpha / 255), _, true); 
            dxDrawRectangle(v.CurrentX, 20, 25, 25, tocolor(0, 0, 0, 255 * v.Alpha / 255), true); 
            
            if (v.Alpha == 255) then 
                dxDrawText(v.Text, v.CurrentX + 25 + 10, 20, v.CurrentX + 25 + 10 + v.CurrentWidth - 20, 20 + 25, tocolor(255, 255, 255, 255), 0.40, notificationFont, 'center', 'center', true, false, true); 
            end 
            
            if (v.Type == 'error') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(215, 90, 90, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'warning') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(220, 180, 80, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'info') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(85, 180, 245, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'success') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(80, 205, 105, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            end 
        end 
    end 
addEventHandler("onClientRender", localPlayer, draw) 

and say if it outputs Wow into the chat.

No:s

Link to comment

Try with root now.

  
function drawThat() 
    outputChatBox("Wow") 
        for k, v in pairs(notificationData) do 
            if (v.State == 'fadeIn') then 
                local alphaProgress = (getTickCount() - v.AlphaTick) / 650; 
                local alphaAnimation = interpolateBetween(0, 0, 0, 255, 0, 0, alphaProgress, 'Linear'); 
                
                if (alphaAnimation) then 
                    v.Alpha = alphaAnimation; 
                else 
                    v.Alpha = 255; 
                end 
                
                if (alphaProgress > 1) then 
                    v.Tick = getTickCount(); 
                    v.State = 'openTile'; 
                end 
            elseif (v.State == 'fadeOut') then 
                local alphaProgress = (getTickCount() - v.AlphaTick) / 650; 
                local alphaAnimation = interpolateBetween(255, 0, 0, 0, 0, 0, alphaProgress, 'Linear'); 
                
                if (alphaAnimation) then 
                    v.Alpha = alphaAnimation; 
                else 
                    v.Alpha = 0; 
                end 
                
                if (alphaProgress > 1) then 
                    notificationData = {}; 
                end 
            elseif (v.State == 'openTile') then 
                local tileProgress = (getTickCount() - v.Tick) / 350; 
                local tilePosition = interpolateBetween(v.StartX, 0, 0, v.EndX, 0, 0, tileProgress, 'Linear'); 
                local tileWidth = interpolateBetween(0, 0, 0, v.Width, 0, 0, tileProgress, 'Linear'); 
                
                if (tilePosition and tileWidth) then 
                    v.CurrentX = tilePosition; 
                    v.CurrentWidth = tileWidth; 
                else 
                    v.CurrentX = v.EndX; 
                    v.CurrentWidth = v.Width; 
                end 
                
                if (tileProgress > 1) then 
                    v.State = 'fixTile'; 
                    
                    setTimer(function() 
                        v.Tick = getTickCount(); 
                        v.State = 'closeTile'; 
                    end, string.len(v.Text) * 45 + 5000, 1); 
                end 
            elseif (v.State == 'closeTile') then 
                local tileProgress = (getTickCount() - v.Tick) / 350; 
                local tilePosition = interpolateBetween(v.EndX, 0, 0, v.StartX, 0, 0, tileProgress, 'Linear'); 
                local tileWidth = interpolateBetween(v.Width, 0, 0, 0, 0, 0, tileProgress, 'Linear'); 
                
                if (tilePosition and tileWidth) then 
                    v.CurrentX = tilePosition; 
                    v.CurrentWidth = tileWidth; 
                else 
                    v.CurrentX = v.StartX; 
                    v.CurrentWidth = 0; 
                end 
                
                if (tileProgress > 1) then 
                    v.AlphaTick = getTickCount(); 
                    v.State = 'fadeOut'; 
                end 
            elseif (v.State == 'fixTile') then 
                v.Alpha = 255; 
                v.CurrentX = v.EndX; 
                v.CurrentWidth = v.Width; 
            end 
            
            roundedRectangle(v.CurrentX, 20, 25 + v.CurrentWidth, 25, tocolor(0, 0, 0, 150 * v.Alpha / 255), _, true); 
            dxDrawRectangle(v.CurrentX, 20, 25, 25, tocolor(0, 0, 0, 255 * v.Alpha / 255), true); 
            
            if (v.Alpha == 255) then 
                dxDrawText(v.Text, v.CurrentX + 25 + 10, 20, v.CurrentX + 25 + 10 + v.CurrentWidth - 20, 20 + 25, tocolor(255, 255, 255, 255), 0.40, notificationFont, 'center', 'center', true, false, true); 
            end 
            
            if (v.Type == 'error') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(215, 90, 90, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'warning') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(220, 180, 80, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'info') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(85, 180, 245, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'success') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(80, 205, 105, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            end 
        end 
    end 
addEventHandler("onClientRender", root, drawThat) 

Link to comment
Try with root now.
  
function drawThat() 
    outputChatBox("Wow") 
        for k, v in pairs(notificationData) do 
            if (v.State == 'fadeIn') then 
                local alphaProgress = (getTickCount() - v.AlphaTick) / 650; 
                local alphaAnimation = interpolateBetween(0, 0, 0, 255, 0, 0, alphaProgress, 'Linear'); 
                
                if (alphaAnimation) then 
                    v.Alpha = alphaAnimation; 
                else 
                    v.Alpha = 255; 
                end 
                
                if (alphaProgress > 1) then 
                    v.Tick = getTickCount(); 
                    v.State = 'openTile'; 
                end 
            elseif (v.State == 'fadeOut') then 
                local alphaProgress = (getTickCount() - v.AlphaTick) / 650; 
                local alphaAnimation = interpolateBetween(255, 0, 0, 0, 0, 0, alphaProgress, 'Linear'); 
                
                if (alphaAnimation) then 
                    v.Alpha = alphaAnimation; 
                else 
                    v.Alpha = 0; 
                end 
                
                if (alphaProgress > 1) then 
                    notificationData = {}; 
                end 
            elseif (v.State == 'openTile') then 
                local tileProgress = (getTickCount() - v.Tick) / 350; 
                local tilePosition = interpolateBetween(v.StartX, 0, 0, v.EndX, 0, 0, tileProgress, 'Linear'); 
                local tileWidth = interpolateBetween(0, 0, 0, v.Width, 0, 0, tileProgress, 'Linear'); 
                
                if (tilePosition and tileWidth) then 
                    v.CurrentX = tilePosition; 
                    v.CurrentWidth = tileWidth; 
                else 
                    v.CurrentX = v.EndX; 
                    v.CurrentWidth = v.Width; 
                end 
                
                if (tileProgress > 1) then 
                    v.State = 'fixTile'; 
                    
                    setTimer(function() 
                        v.Tick = getTickCount(); 
                        v.State = 'closeTile'; 
                    end, string.len(v.Text) * 45 + 5000, 1); 
                end 
            elseif (v.State == 'closeTile') then 
                local tileProgress = (getTickCount() - v.Tick) / 350; 
                local tilePosition = interpolateBetween(v.EndX, 0, 0, v.StartX, 0, 0, tileProgress, 'Linear'); 
                local tileWidth = interpolateBetween(v.Width, 0, 0, 0, 0, 0, tileProgress, 'Linear'); 
                
                if (tilePosition and tileWidth) then 
                    v.CurrentX = tilePosition; 
                    v.CurrentWidth = tileWidth; 
                else 
                    v.CurrentX = v.StartX; 
                    v.CurrentWidth = 0; 
                end 
                
                if (tileProgress > 1) then 
                    v.AlphaTick = getTickCount(); 
                    v.State = 'fadeOut'; 
                end 
            elseif (v.State == 'fixTile') then 
                v.Alpha = 255; 
                v.CurrentX = v.EndX; 
                v.CurrentWidth = v.Width; 
            end 
            
            roundedRectangle(v.CurrentX, 20, 25 + v.CurrentWidth, 25, tocolor(0, 0, 0, 150 * v.Alpha / 255), _, true); 
            dxDrawRectangle(v.CurrentX, 20, 25, 25, tocolor(0, 0, 0, 255 * v.Alpha / 255), true); 
            
            if (v.Alpha == 255) then 
                dxDrawText(v.Text, v.CurrentX + 25 + 10, 20, v.CurrentX + 25 + 10 + v.CurrentWidth - 20, 20 + 25, tocolor(255, 255, 255, 255), 0.40, notificationFont, 'center', 'center', true, false, true); 
            end 
            
            if (v.Type == 'error') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(215, 90, 90, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'warning') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(220, 180, 80, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'info') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(85, 180, 245, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            elseif (v.Type == 'success') then 
                dxDrawText('', v.CurrentX + 5, 20, v.CurrentX + 5 + 25 - 10, 20 + 25, tocolor(80, 205, 105, v.Alpha), 0.50, iconsFont, 'center', 'center', false, false, true); 
            end 
        end 
    end 
addEventHandler("onClientRender", root, drawThat) 

now working:D

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...