Hallo ich wollte mal fragen wie man ein loggin system so preparieren kann so dass es auch Music abspielt
ich hatte mal eine beta würde sie funktionieren?
Code: client.lua
--[[
Script written by [sDM].FaLsE
Copyright by .FaLsE
All rights reserved .FaLsE ( Bjoern Goe**** )
]]
local settings = {}
settings["name"] = {}
settings["main"] = {}
settings["bonusRender"] = {}
settings["bonusRender"].started = false
settings.binded = false
settings.bonus = false
settings.reg = false
local login = {}
login.__index = login
local screen = {}
screen.x, screen.y = guiGetScreenSize ()
function login.init ()
settings["name"].startPos = {screen.x * 1090 / 1680,screen.y * 621 / 1050}
settings["name"].endPos = {screen.x * 24 / 1680,screen.y * 621 / 1050}
settings["name"].startTime = getTickCount ()
settings["name"].endTime = settings["name"].startTime + 4500
settings["name"].alpha = 255
setTimer ( function ()
fadeCamera ( true )
setCameraMatrix ( 2033.4886474609,-1159.6363525391,57.820999145508,2032.7358398438,-1160.0888671875,57.342945098877 )
end, 250, 1 )
triggerServerEvent ("account_check", getLocalPlayer (), getLocalPlayer ())
setElementDimension ( getLocalPlayer(), math.random ( 999,1200 ))
--settings.WINDOW = guiCreateStaticImage ( 0,0,screen.x, screen.y,"hintergrund.png",false)
-- settings.SOUND = playSound ("ecksdee", false)
showPlayerHudComponent ( "all", false )
showChat ( false )
addEventHandler ('onClientRender', getRootElement (), login.render_NAME )
end
addEventHandler ("onClientResourceStart", getResourceRootElement ( getThisResource ()), login.init )
addEvent("LOGIN:CHANGE", true )
addEventHandler ("LOGIN:CHANGE", getLocalPlayer (), function ( boolean )
settings.reg = boolean
end)
function login.render_NAME ()
local now = getTickCount ()
local vergangeneZeit = now - settings["name"].startTime
local duration = settings["name"].endTime - settings["name"].startTime
local progress = vergangeneZeit/duration
local x1,y1 = unpack ( settings["name"].startPos )
local x2,y2 = unpack ( settings["name"].endPos )
local x,y = interpolateBetween2D ( x1,y1,x2,y2, progress,"OutBounce")
dxDrawText("Welcome back, "..getPlayerName(getLocalPlayer()), x + 2, y + 2, screen.x * 1666 / 1680, screen.y * 704 / 1050, tocolor(0, 0, 0, settings["name"].alpha), screen.x * 2.00 / 1680, "pricedown", "left", "top", false, false, true, false, false)
dxDrawText("Welcome back, "..getPlayerName(getLocalPlayer()), x - 2, y - 2, screen.x * 1666 / 1680, screen.y * 702 / 1050, tocolor(0, 0, 0, settings["name"].alpha), screen.x * 2.00 / 1680, "pricedown", "left", "top", false, false, true, false, false)
dxDrawText("Welcome back, "..getPlayerName(getLocalPlayer()), x, y, screen.x * 1665 / 1680, screen.y * 703 / 1050, tocolor(255, 255, 255, settings["name"].alpha), screen.x * 2.00 / 1680, "pricedown", "left", "top", false, false, true, false, false)
setCameraMatrix ( 2033.4886474609,-1159.6363525391,57.820999145508,2032.7358398438,-1160.0888671875,57.342945098877 )
if now >= settings["name"].endTime + 2500 then
if settings["name"].alpha > 0 then
settings["name"].alpha = settings["name"].alpha - 2.5
else
removeEventHandler ('onClientRender', getRootElement (), login.render_NAME )
settings["main"].startPos = {screen.x, screen.y}
settings["main"].endPos = {screen.x * 567 / 1680, screen.y * 279 / 1050}
settings["main"].startTime = getTickCount ()
settings["main"].endTime = settings["main"].startTime + 2250
addEventHandler ('onClientRender', getRootElement (), login.render_MAIN )
end
end
end
function login.render_MAIN ()
local now = getTickCount ()
local verZeit = now - settings["main"].startTime
local duration = settings["main"].endTime - settings["main"].startTime
local progress = verZeit / duration
local x1,y1 = unpack (settings["main"].startPos)
local x2,y2 = unpack (settings["main"].endPos)
local x,y = interpolateBetween2D ( x1,y1,x2,y2,progress,"OutInQuad" )
dxDrawImage(x, y, screen.x * 573 / 1680, screen.y * 505 / 1050, "images/register_login/login_register.png", 0,0,0, tocolor ( 255,255,255,255), false)
dxDrawImage(x + (screen.x * 56 / 1680), y + (screen.y * 297 / 1050), screen.x * 125 / 1680, screen.y * 40 / 1050, "images/register_login/login_register_button.png", 0,0,0, tocolor ( 255,255,255,255), true)
if settings["bonusRender"].started then
dxDrawText("\nUpdate 1.1\n\n*Hide and Seek added BETA \n*Removed 1vs1 Bugs\n*Owner=x5657K\ ",
x + (screen.x * 331 / 1680), y + (screen.y * 175 / 1050), screen.x * 1084 / 1680, screen.y * 621 / 1050, tocolor(0, 0, 0, 255), screen.x * 1.00 / 1680, "default-bold", "center", "top", false, false, true, false, false)
end
if settings.bonus then
dxDrawImage(x + (screen.x * 56 / 1680), y + (screen.y * 297 / 1050), screen.x * 125 / 1680, screen.y * 40 / 1050, "images/register_login/login_register_select.png", 0,0,0, tocolor ( 255,255,255,255), true)
end
-- unstoppable cursor :O
showCursor ( true )
--
if now >= settings["main"].endTime then
if not settings["bonusRender"].started then
login.CREATE ()
settings["bonusRender"].started = true
settings["bonusRender"].startPos = {screen.x * - 1680 / 1680, screen.y * -35 / 1050}
settings["bonusRender"].endPos = {screen.x * 0 / 1680, screen.y * -35/ 1050}
settings["bonusRender"].startTime = getTickCount ()
settings["bonusRender"].endTime = settings["bonusRender"].startTime + 3500
addEventHandler ('onClientRender', getRootElement (), login.render_BONUS)
addEventHandler ('onClientCursorMove', getRootElement (), login.ON_CURSOR_MOVE )
addEventHandler ('onClientClick', getRootElement (), login.ON_CLIENT_CLICK )
end
end
end
function login.ON_CLIENT_CLICK ( button, state, _, _, x,y,z )
if button == "left" then
if state == "down" then
if isCursorOnElement ( screen.x * 567 / 1680 + (screen.x * 56 / 1680),screen.y * 279 / 1050 + (screen.y * 297 / 1050),screen.x * 125 / 1680, screen.y * 40 / 1050 ) then
if #guiGetText(settings.pw) >= 6 then
if settings.reg then
triggerServerEvent ("login:account", getLocalPlayer (), getPlayerName (getLocalPlayer()), guiGetText(settings.pw), getLocalPlayer() )
else
triggerServerEvent ("register:account", getLocalPlayer (), getLocalPlayer (), guiGetText(settings.pw) )
end
removeEventHandler ('onClientRender', getRootElement (),login.render_BONUS )
removeEventHandler ('onClientRender', getRootElement (),login.render_MAIN )
removeEventHandler ('onClientCursorMove', getRootElement (), login.ON_CURSOR_MOVE )
removeEventHandler ('onClientClick', getRootElement (), login.ON_CLIENT_CLICK )
destroyElement ( settings.user )
destroyElement ( settings.pw )
-- stopSound ( settings.SOUND )
else
infobox_add ("Das Passwort muss\nminimal 6 Zeichen\nenthalten !","error")
end
end
end
end
end
function login.ON_CURSOR_MOVE ()
if isCursorShowing () then
if isCursorOnElement ( screen.x * 567 / 1680 + (screen.x * 56 / 1680),screen.y * 279 / 1050 + (screen.y * 297 / 1050),screen.x * 125 / 1680, screen.y * 40 / 1050 ) then
settings.bonus = true
else
settings.bonus = false
end
end
end
function login.CREATE ()
settings.user = guiCreateEdit( screen.x * 620 / 1680, screen.y * 453 / 1050, screen.x * 136 / 1680, screen.y * 28 / 1050, getPlayerName(getLocalPlayer()), false)
guiEditSetReadOnly ( settings.user, true )
settings.pw = guiCreateEdit( screen.x * 620 / 1680, screen.y * 519 / 1050, screen.x * 136 / 1680, screen.y * 28 / 1050, "", false)
guiEditSetMasked ( settings.pw, true )
end
function login.render_BONUS ()
local now = getTickCount ()
local verZeit = now - settings["bonusRender"].startTime
local duration = settings["bonusRender"].endTime - settings["bonusRender"].startTime
local progress = verZeit / duration
local x1,y1 = unpack (settings["bonusRender"].startPos)
local x2,y2 = unpack (settings["bonusRender"].endPos)
local x,y = interpolateBetween2D ( x1,y1,x2,y2,progress,"Linear" )
dxDrawImage(x, y,screen.x * 1680 / 1680, screen.y * 150 / 1050, "images/register_login/login_register_row.png",0,0,0,tocolor(0, 0, 0, 255), true)
dxDrawText("KAGE Multi Gaming", x + (screen.x * 514 / 1680 ), y + ( screen.y * 0 / 1050 ), screen.x * 1168 / 1680, screen.y * 112 / 1050, tocolor(255, 255, 255, 255), screen.x * 2.00 / 1680, "pricedown", "center", "center", false, false, true, false, false)
end
function login.CLOSE ()
unbindKey ("enter","down", login.CLOSE )
showPlayerHudComponent ( "all", true )
showChat ( true )
showCursor ( false )
end
-- usefull
function interpolateBetween2D ( x1,y1,x2,y2,progress,effect )
return interpolateBetween ( x1,y1,0,x2,y2,0,progress,effect )
end
function isCursorOnElement(x,y,w,h)
if isCursorShowing () then
local mx,my = getCursorPosition ()
local fullx,fully = guiGetScreenSize()
cursorx,cursory = mx*fullx,my*fully
if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then
return true
else
return false
end
end
end
function playSound
addEvent ("create_arenamenu", true )
addEventHandler ("create_arenamenu", getRootElement (),function ()
create_arenamenu ()
infobox_add ("Erfolgreich eingeloggt.", "check" )
fadeCamera ( true )
end)
Alles anzeigen
dort wurde noch nichts verbaut aber wie verbaue ich eine music funktion?!