Jump to content

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?

Link to comment

 

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?

Link to comment
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.multitheftauto.com/forum/141-hungarian-magyar/

Edited by #x1AhMeD-09
Link to comment
  • Moderators
-- 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
Link to comment
  • Moderators
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
Link to comment
  • 1 month later...

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