Recommended Posts

Sziasztok megtaláltam neten azt a scriptet amit multkor @ChrisT Kirakott, hát gondoltam megkérdezem hogy használlhatom-e. Azt mondta persze nyugodtan, hát én használnám is ha jó lenne

CLIENT

Quote

function onJoin()
         setPedArmor(source, 100)
         local playerName = getPlayerName(source)
         triggerEvent("createInfoBox", localPlayer, "Sikeresen Bejelentkeztél", "success")
end
addEventHandler("onPlayerJoin", root, onJoin)

SERVER

Quote

local screen = {}
screen.x, screen.y = guiGetScreenSize()
local anims, builtins = {}, {"Linear", "InQuad", "OutQuad", "InOutQuad", "OutInQuad", "InElastic", "OutElastic", "InOutElastic", "OutInElastic", "InBack", "OutBack", "InOutBack", "OutInBack", "InBounce", "OutBounce", "InOutBounce", "OutInBounce", "SineCurve", "CosineCurve"}


local itypes = {
    alert = "alert.png",
    info = "info.png",
    success = "success.png",
    warning = "warning.png",
    ban = "ban.png",
}

local itypes2 = {"alert","info","success","warning","ban"}

local font = dxCreateFont("helveticaneue.otf",10)

local messages = {}

local infobox = {}
infobox.w = 200
infobox.h = 33
infobox.y = 10
infobox.x = screen.x/2 - infobox.w/2


function createInfoBox(message,itype)
    local id = #messages+1
    table.insert(messages,id,{
        id = id,
        message = message,
        itype = itype,
        x = infobox.x,
        y = infobox.y,
        w = infobox.h,
        h = infobox.h,
        dWidth = infobox.h + dxGetTextWidth(message,1,font) + 10,
        opacity = 0, -- 0-1 eső érték
        animState = false,
        })

    createAnimation(0,1,4,300,function(animation) messages[id].opacity = animation end,function()
        createAnimation(infobox.h,messages[id].dWidth,4,300,function(animation) messages[id].w = animation end,function()
            setTimer(function()
                createAnimation(messages[id].dWidth,infobox.h,4,300,function(animation) messages[id].w = animation end,function()
                    createAnimation(1,0,4,300,function(animation) messages[id].opacity = animation end,function()
                        messages[id] = nil
                    end)
                end)
            end,2000,1)
        end)
    end)
end

function renderInfoBox()
    local i = 0
    for _,v in pairs(messages) do
        v.x = screen.x/2 - v.w/2
        -- Szöveg háttere
        dxDrawRectangle(v.x,v.y + i*v.h + i*10,v.w,v.h,tocolor(0,0,0,170*v.opacity))
        -- Ikon háttere
        dxDrawRectangle(v.x,v.y + i*v.h + i*10,v.h,v.h,tocolor(0,0,0,170*v.opacity))
        --
        dxDrawImage(v.x + v.h/2 - (v.h-10)/2,v.y + i*v.h + i*10 + v.h/2 - (v.h-10)/2,v.h - 10,v.h - 10,itypes[v.itype],0,0,0,tocolor(255,255,255,255*v.opacity))

        -- Szöveg
        dxDrawText(v.message,
            v.x + v.h + 5,
            v.y + i*v.h + i*10 + v.h/2 - dxGetFontHeight(1,font)/2,
            v.x+v.w,
            v.y + i*v.h + i*10 +v.h,
            tocolor(255,255,255,255*v.opacity),1,font,"left","top",true)

        i = i + 1
    end
end
addEventHandler("onClientRender",root,renderInfoBox)

function table.find(t, v)
    for k, a in ipairs(t) do
        if a == v then
            return k
        end
    end
    return false
end

function createAnimation(f, t, easing, duration, onChange, onEnd)
    assert(type(f) == "number", "Bad argument @ 'animate' [expected number at argument 1, got "..type(f).."]")
    assert(type(t) == "number", "Bad argument @ 'animate' [expected number at argument 2, got "..type(t).."]")
    assert(type(easing) == "string" or (type(easing) == "number" and (easing >= 1 or easing <= #builtins)), "Bad argument @ 'animate' [Invalid easing at argument 3]")
    assert(type(duration) == "number", "Bad argument @ 'animate' [expected function at argument 4, got "..type(duration).."]")
    assert(type(onChange) == "function", "Bad argument @ 'animate' [expected function at argument 5, got "..type(onChange).."]")
    table.insert(anims, {from = f, to = t, easing = table.find(builtins, easing) and easing or builtins[easing], duration = duration, start = getTickCount( ), onChange = onChange, onEnd = onEnd})
    return #anims
end

function destroyAnimation(a)
    if anims[a] then
        table.remove(anims, a)
    end
end

addEventHandler("onClientRender", root, function( )
    local now = getTickCount( )
    for k,v in ipairs(anims) do
        v.onChange(interpolateBetween(v.from, 0, 0, v.to, 0, 0, (now - v.start) / v.duration, v.easing))
        if now >= v.start+v.duration then
            if type(v.onEnd) == "function" then
                v.onEnd( )
            end
            table.remove(anims, k)
        end
    end
end)
      ----------------------------------Ami alul van azt én írtam oda---------------- 
        triggerEvent("createInfoBox", localPlayer, "Sikeresen Bejelentkeztél", "success")
        addEvent("createInfoBox", true)
        addEventHandler("createInfoBox", root, createInfoBox)
        

Jah és amikor csak símán az infobox van akkor az akkor kapcsol be, ha beindítom a scriptet, utána már nem jön elő, azt szeretném ha valaki belép akkor azt írja ki felül "Sikeresen Bejelentkeztél" tippek?

Share this post


Link to post

 

Yeah and when the infobox is símán only it is then then switches on, does not come out already then if I start the script, I would like it if somebody enters Bejelentkezik copies it out from above successfully then hints?

Share this post


Link to post
3 minutes ago, #Chris said:

 

Yeah and when the infobox is símán only it is then then switches on, does not come out already then if I start the script, I would like it if somebody enters Bejelentkezik copies it out from above successfully then hints?

dude i can't understand anything from what you said , there's a Hungarian section, you can post there and wait for respond

https://forum.mtasa.com/forum/141-hungarian-magyar/

Edited by #x1AhMeD-09

Share this post


Link to post

 

ChrisT I asked for it, I rehearsed it so levan written but not good

Share this post


Link to post
-- SERVER SIDE

function onJoin()
         setPedArmor(source, 100)
         local playerName = getPlayerName(source)
         triggerClientEvent(source, "createInfoBox", source, "Sikeresen Bejelentkeztél", "success")
end
addEventHandler("onPlayerJoin", root, onJoin)

 

Edited by stPatrick

Share this post


Link to post

Szia "screen.x, screen.y = guiGetScreenSize()" ebben a 2. sorban nem jó valami (Nil value)

Share this post


Link to post
4 minutes ago, #Chris said:

Szia "screen.x, screen.y = guiGetScreenSize()" ebben a 2. sorban nem jó valami (Nil value)

I think you want to run the code on server side.

This is client sided code.

Edited by stPatrick

Share this post


Link to post
On 30/06/2019 at 21:49, #Chris said:

És valahogy nem lehetne megcsinálni?

Amit te kliens oldalnak írtál, az a szerver oldal, amit pedig szerver oldalnak, az a kliens oldal. Tehát felcserélted őket. :)

Share this post


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.