Jump to content

×[طلب]× notification dx race


Recommended Posts

طلب فانكشات عشان اصمم واحد تنبيه كل ماتضغط علي اف2 يجي اشعار فوق وتضغط مره ثاني يجي اشعار فوق مثل كذا

Link to post
mensages = {}
messagetick = 0

function servermessages(message, type)
    table.insert(mensages, {message, type or "confirm", getTickCount(), dxGetTextWidth(message, fontScale*0.06, Font_1) + screenH*0.01, 0, 0, 0})
    messagetick = getTickCount()
end
addEvent("servermessages", true)
addEventHandler("servermessages", getRootElement(), servermessages)

function renderMensages()
    local msgd = mensages
    if #msgd ~= 0 then
        local startY = screenW*0.5
        local i = 1
        repeat
            mData = msgd[i]
            local drawThis = true
            if i~= 1 then
                startY = startY + screenW*0.0425
            end
            if mData[5] == 0 and mData[6] == 0 then
                mData[5] = - mData[4] - screenH*0.015
                mData[6] = startY
                mData[7] = startY
            end
            local tick = getTickCount() - mData[3]
            local posX, posY, alpha
            if tick < 1000 then
                local progress = math.min(tick/1000,1)
                mData[5] = interpolateBetween(mData[5], 0, 0, 0, 0, 0, progress, "Linear")
            elseif tick >= 1000  and tick <= 7000 then
                mData[5] = 0
            elseif tick > 7000 then
                local progress = math.min((tick - 7000)/1000,1)
                mData[5] = interpolateBetween(mData[5], 0, 0, - mData[4] - mData[4] - screenH*0.015, 0, 0, progress, "Linear")
                if progress >= 1 then
                    table.remove(msgd, i)
                    drawThis = false
                    messagetick = getTickCount()
                end
            end
            local globalTick = getTickCount() - messagetick
            if drawThis then
                mData[7] = startY
                mData[6] = interpolateBetween(mData[6], 0, 0, mData[7], 0, 0, math.min(globalTick/1000,1), "Linear")
                posX = mData[5]
                posY = mData[6]
                alpha = 255
                dxDrawRectangle(posX, posY, mData[4], screenW*0.04, tocolor(0, 0, 0, alpha*0.75), true)
                local r, g, b = 0, 255, 0
                if mData[2] == "warning" then
                    r, g, b = 255, 0, 0
                end
                dxDrawRectangle(posX + mData[4], posY, screenH*0.010, screenW*0.04, tocolor(r, g, b, alpha*0.85), true)
                dxDrawText(mData[1], posX, posY, posX + mData[4], posY + screenW*0.04, tocolor(255, 255, 255, alpha), fontScale*0.05, Font_1, "center", "center", false, false, true, false, false)
            end
            i = i + 1
        until i > #msgd
        mensages = msgd
    end
end
addEventHandler("onClientRender", getRootElement(), renderMensages)

ذا الي تبيه انت لكن يطلع لك من اليسار مو من فوق

تقدر تسوي لما يضغط اف 2

servermessages('....')

والتايب عادي تقدر تتركه او انك تسويه warn

يطلع فيه rec احمر 

تتركه يطلعلك اخضر

Link to post
2 minutes ago, JustP said:

mensages = {}
messagetick = 0

function servermessages(message, type)
    table.insert(mensages, {message, type or "confirm", getTickCount(), dxGetTextWidth(message, fontScale*0.06, Font_1) + screenH*0.01, 0, 0, 0})
    messagetick = getTickCount()
end
addEvent("servermessages", true)
addEventHandler("servermessages", getRootElement(), servermessages)

function renderMensages()
    local msgd = mensages
    if #msgd ~= 0 then
        local startY = screenW*0.5
        local i = 1
        repeat
            mData = msgd[i]
            local drawThis = true
            if i~= 1 then
                startY = startY + screenW*0.0425
            end
            if mData[5] == 0 and mData[6] == 0 then
                mData[5] = - mData[4] - screenH*0.015
                mData[6] = startY
                mData[7] = startY
            end
            local tick = getTickCount() - mData[3]
            local posX, posY, alpha
            if tick < 1000 then
                local progress = math.min(tick/1000,1)
                mData[5] = interpolateBetween(mData[5], 0, 0, 0, 0, 0, progress, "Linear")
            elseif tick >= 1000  and tick <= 7000 then
                mData[5] = 0
            elseif tick > 7000 then
                local progress = math.min((tick - 7000)/1000,1)
                mData[5] = interpolateBetween(mData[5], 0, 0, - mData[4] - mData[4] - screenH*0.015, 0, 0, progress, "Linear")
                if progress >= 1 then
                    table.remove(msgd, i)
                    drawThis = false
                    messagetick = getTickCount()
                end
            end
            local globalTick = getTickCount() - messagetick
            if drawThis then
                mData[7] = startY
                mData[6] = interpolateBetween(mData[6], 0, 0, mData[7], 0, 0, math.min(globalTick/1000,1), "Linear")
                posX = mData[5]
                posY = mData[6]
                alpha = 255
                dxDrawRectangle(posX, posY, mData[4], screenW*0.04, tocolor(0, 0, 0, alpha*0.75), true)
                local r, g, b = 0, 255, 0
                if mData[2] == "warning" then
                    r, g, b = 255, 0, 0
                end
                dxDrawRectangle(posX + mData[4], posY, screenH*0.010, screenW*0.04, tocolor(r, g, b, alpha*0.85), true)
                dxDrawText(mData[1], posX, posY, posX + mData[4], posY + screenW*0.04, tocolor(255, 255, 255, alpha), fontScale*0.05, Font_1, "center", "center", false, false, true, false, false)
            end
            i = i + 1
        until i > #msgd
        mensages = msgd
    end
end
addEventHandler("onClientRender", getRootElement(), renderMensages)

ذا الي تبيه انت لكن يطلع لك من اليسار مو من فوق

تقدر تسوي لما يضغط اف 2

servermessages('....')

والتايب عادي تقدر تتركه او انك تسويه warn

يطلع فيه rec احمر 

تتركه يطلعلك اخضر

ينفع اسويه ب ملف سرفر ذا و استخدم 

			exports["اسم ملف"]:addNotification("Test 2",255,error);

ولا ماتنجح؟

Link to post
6 hours ago, liwahadri said:

ينفع اسويه ب ملف سرفر ذا و استخدم 


			exports["اسم ملف"]:addNotification("Test 2",255,error);

ولا ماتنجح؟

علي ما اشوف في كودة انه مسوي ايفينت للرسم عن طريق للسيرفر

servermessages المهم سوي تريقر من السيرفر للكلينت للايفينت اللي اسموا

وتحط الرسالة و النوع

Link to post
10 hours ago, KillerX said:

علي ما اشوف في كودة انه مسوي ايفينت للرسم عن طريق للسيرفر

servermessages المهم سوي تريقر من السيرفر للكلينت للايفينت اللي اسموا

وتحط الرسالة و النوع

 

5 hours ago, JustP said:

سويته تريقر بس ادري احطه ب سرفر سايد بس وين احطه ب اي مكان؟ قصدي؟؟

ذا تريقر

					triggerClientEvent(source, "toggleHideAll", getRootElement())

 

Edited by liwahadri
Link to post
3 hours ago, liwahadri said:

 

سويته تريقر بس ادري احطه ب سرفر سايد بس وين احطه ب اي مكان؟ قصدي؟؟

 ذا تريقر


					triggerClientEvent(source, "toggleHideAll", getRootElement())

 

دا مثال

triggerClientEvent(source,'servermessages',source, 'الرسالة',rec)

source بعد كلمة

هتلاقي كلمة الرسالة في علامتين

هتقوم مغيرها بالرسالة اللي تبيها

rec و ثاني شئ اللي بعدها مكتوب

تقدر تغيرها وتخليها warn

او تتركها وهتظهر اخضر

 

Link to post
1 hour ago, MrKAREEM said:

دا مثال


triggerClientEvent(source,'servermessages',source, 'الرسالة',rec)

source بعد كلمة

هتلاقي كلمة الرسالة في علامتين

هتقوم مغيرها بالرسالة اللي تبيها

rec و ثاني شئ اللي بعدها مكتوب

تقدر تغيرها وتخليها warn

او تتركها وهتظهر اخضر

 

مافهمت :/ الحين ترقير يتحط في كلينت ولا سرفررررر؟؟؟؟

Link to post
9 hours ago, MrKAREEM said:

دا مثال


triggerClientEvent(source,'servermessages',source, 'الرسالة',rec)

source بعد كلمة

هتلاقي كلمة الرسالة في علامتين

هتقوم مغيرها بالرسالة اللي تبيها

rec و ثاني شئ اللي بعدها مكتوب

تقدر تغيرها وتخليها warn

او تتركها وهتظهر اخضر

 

خطأ

علي هيئة متغير المفروض تكتبة علي هيئة سلسلة نصية او تعرف المتغير  rec انتا كاتب كلمة 

ولصاحب الموضوع استعمل التريقر في السيرفر وارسلوا للكلنت من خلال الدالة

triggerClientEvent 

servermessages للحدث اللي اسموا 

  • Like 1
Link to post
On 30/05/2019 at 11:21, KillerX said:

خطأ

علي هيئة متغير المفروض تكتبة علي هيئة سلسلة نصية او تعرف المتغير  rec انتا كاتب كلمة 

 ولصاحب الموضوع استعمل التريقر في السيرفر وارسلوا للكلنت من خلال الدالة

 triggerClientEvent 

servermessages للحدث اللي اسموا 

تمام شكرا علي الافادة

triggerClientEvent(source,'servermessages',source, 'الرسالة','rec')

 

Link to post

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...