Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2021-08-22, 14:52


Janusz_GRA

NO NAME






Wiek: 26
Na forum: 3716 dni
Posty: 223
Nick w MP: michalMonster

Piwa: 175

Respekt: 85,8

Siemka, robi sw?j system notyfikacji ale mam problem z nimi. Gdy tworze notyfikacje jedna po drugiej to one si? resetuj? w sensie, ?e animacja zaczyna si? od pocz?tku, ale czas zostaje dalej. Bardziej ukazane mam to na filmiku. Kto? wie jak to naprawi?? Za pomoc stawiam R*
Film: https://streamable.com/1vmuvo
Kod:
local sxsy guiGetScreenSize()

local tick

local font dxCreateFont('medium.ttf'13/1920*sxtrue);

local colors = {
    error tocolor(25233),
    info tocolor(2521863),
    success tocolor(6921946),
}

local notifications = {};

function anim(startTickstartValuestopValuetimetype)
    local anim interpolateBetween(startValue00stopValue00, (getTickCount() - startTick) / timetype)

    if (getTickCount() - startTick) > time then
        return animfalse
    else
        return animtrue
    end
end

function renderNoti()
    for indexvalue in pairs(notifications) do
        
        noti anim(tick180014932000'Linear')
        line anim(tick4170value[4] + 500'Linear')

        if getTickCount() > value[3] + (value[4] + 500then
            table.remove(notifications1)
            if (#notifications == 0) then
                removeEventHandler('onClientRender'rootrenderNoti);
            end
        end

        local addY 100 * (index 1);
        dxDrawRectangle(noti340 addY41793tocolor(343566255), false)
        dxDrawRectangle(noti430 addYline3colors[value[1]], false)
        dxDrawText(value[2], noti339 addY1910430 addYtocolor(255255255255), 1font'center''center'falsetruetrue);
    end
end 

function createAlert(typetext)
    if not type then type 'info' end

    tick getTickCount()
    table.insert(notifications, { typetextgetTickCount(), 5000});
    outputConsole('['..type..'] '..text);
    if (#notifications == 1) then
        addEventHandler('onClientRender'rootrenderNoti);
    end
    if (#notifications > 5) then
        table.remove(notifications1);
    end
end

addEvent("createAlert"true)
addEventHandler("createAlert"resourceRoot, 
    function(...)
        createAlert(...)
    end
)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-08-28, 12:15


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4395 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Potrzebujesz wstawi? do tabeli a potem sprawdzi? to w p?tli dla ka?dego elementu osobno, przyk?ad z moich notyfikacji :



table.insert(msg,{txt=txt,start=getTickCount(),theDuration=(string.len(txt)*100),width=p["bg"][3],icon=icons[type][1]})


Postaw piwo autorowi tego posta
 

 
Tagi: notyfikacje
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku