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

Wysłany: 2018-04-09, 08:15


Cobey







Wiek: 25
Na forum: 3443 dni
Posty: 86
Nick w MP: Anonimowa

Piwa: 286

Respekt: -9

Ostrzeżeń: 100%
Tak jak w temacie,mam k?opot z logowaniem,wyskakuje b??d i nie pokazuje panelu logowania
sx,sy = guiGetScreenSize()
x,y =  (sx/1366), (sy/768)

messages = {}
editBox = {}
editBox.__index = editBox
editBox.instances = {}

function onClientResourceStart()
    tick = getTickCount()
    font = dxCreateFont("gfx/sans-pro-regular.ttf", 20)
    sound = playSound("sfx/music.mp3",true)
    g = {}
    g.user = editBox.new()
    g.user:setPosition(x*601,y*364,x*213,y*41)
    g.user.color = {0,37,112,160}
    g.user.font = font
    g.user.text = loadLoginFromXML()
    g.user.visible = true
    g.user.onInput = function()
        g.user.color = {0,37,112, 160}
    end
    g.user.onOutput = function()
        g.user.color = {0,37,112,160}
    end
    
    g.pass = editBox.new()
    g.pass:setPosition(x*601,y*426,x*213,y*41)
    g.pass.color = {79,86,94,160}
    g.pass.font = font
    g.pass.masked = true
    g.pass.visible = true
    g.pass.onInput = function()
        g.pass.color = {0, 37, 112, 160}
    end
    g.pass.onOutput = function()
        g.pass.color = {0,37,112,160}
    end
    
    g.rUser = editBox.new()
    g.rUser:setPosition(x*601,y*364,x*213,y*41)
    g.rUser.color = {79,86,94,160}
    g.rUser.font = font
    g.rUser.onInput = function()
        g.rUser.color = {0, 37, 112, 160}
    end
    g.rUser.onOutput = function()
        g.rUser.color = {0,37,112,160}
    end
    
    g.rPass = editBox.new()
    g.rPass:setPosition(x*601,y*426,x*213,y*41)
    g.rPass.color = {0,37,112,160}
    g.rPass.font = font
    g.rPass.masked = true
    g.rPass.onInput = function()
        g.rPass.color = {0, 37, 112, 160}
    end
    g.rPass.onOutput = function()
        g.rPass.color = {0,37,112,160}
    end

    showChat(false)
    showCursor(true)
    addEventHandler("onClientRender", root, paint)
end
addEventHandler("onClientResourceStart",resourceRoot,onClientResourceStart)

function paint()
    local rh,ry = interpolateBetween(0, (y*559/2)+y*105, 0, y*559, y*105, 0, (getTickCount()-tick)/1400, "Linear")
        dxDrawImage(395, 179, 590, 492, ":guieditor/images/reset.png", 0, 0, 0, tocolor(255, 255, 255, 190), false)
    if getTickCount()-tick > 1500 then
        local bColor = tocolor(0, 37, 112, 200)
        if isMouseInPosition(x*552,y*504,x*262,y*44) then
            bColor = tocolor(0, 0, 0, 200)
        end
        dxDrawImage(x*584,y*137,x*199,y*198,"gfx/logo.png",getTickCount()/100,0,0,tocolor(255,255,255,200))
        
        if not inRegisterTab then
            dxDrawRectangle(x*552,y*364,x*49,y*41,tocolor(0,37,112,160))
            dxDrawImage(x*560,y*369,x*33,y*31,"gfx/user.png")
            dxDrawRectangle(x*552,y*426,x*49,y*41,tocolor(0,37,112,160))
            dxDrawImage(x*565,y*431,x*23,y*31,"gfx/pass.png")
        
            dxDrawRectangle(x*552,y*504,x*262,y*44,bColor)
            dxDrawBorder(x*552,y*504,x*262,y*44,tocolor(0,0,0,240),1.4)
            dxDrawText("LOGOWANIE",x*552,y*504,x*552+x*262,y*504+y*44,tocolor(255,255,255),y*1,font,"center","center")
        
            dxDrawText([[NIE ZAREJESTROWANY?
REJESTRACJA - #002570 KLIKNIJ #002570],x*588,y*582,x*588+x*192,y*592+y*43,tocolor(255,255,255),y*0.6,font,"center","center",false,false,false,true)
        end

        for k,self in pairs(editBox.instances) do
            if self.visible then
                local px,py,pw,ph = self:getPosition()
                local text = self.masked and string.gsub(self.text,".","•") or self.text
                local alignX = dxGetTextWidth(text,self.scale,self.font) <= pw and "left" or "right"
                dxDrawRectangle(px, py, pw, ph, tocolor(unpack(self.color)))
                dxDrawText(text,px+x*5, py,px-x*5+pw, py+ph,tocolor(unpack(self.textColor)),self.scale,self.font,alignX,"center",true)        
                if self.input and dxGetTextWidth(text,self.scale,self.font) <= pw then
                    local lx = dxGetTextWidth(text,self.scale,self.font)+px+x*8
                    local lx = dxGetTextWidth(text,self.scale,self.font)+px+x*8
                    dxDrawLine(lx, py+y*10, lx, py+ph-y*10, tocolor(255,255,255,math.abs(math.sin(getTickCount()/300))*200), 2)
                end
            end
        end
        
    if not inRegisterTab then
        dxDrawBorder(x*552,y*364,x*262,y*41,tocolor(0,0,0,240),1)
        dxDrawBorder(x*552,y*426,x*262,y*41,tocolor(0,0,0,240),1)
    else
    
        dxDrawRectangle(x*552,y*364,x*49,y*41,tocolor(0,37,112,160))
        dxDrawImage(x*560,y*369,x*33,y*31,"gfx/user.png")
        dxDrawRectangle(x*552,y*426,x*49,y*41,tocolor(0,37,112,160))
        dxDrawImage(x*565,y*431,x*23,y*31,"gfx/pass.png")
        dxDrawBorder(x*552,y*364,x*262,y*41,tocolor(0,0,0,240),1)
        dxDrawBorder(x*552,y*426,x*262,y*41,tocolor(0,0,0,240),1)
        
        dxDrawRectangle(x*552,y*504,x*262,y*44,bColor)
        dxDrawBorder(x*552,y*504,x*262,y*44,tocolor(0,0,0,240),1.4)
        dxDrawText("ZAREJESTRUJ SI?",x*552,y*504,x*552+x*262,y*504+y*44,tocolor(255,255,255),y*1,font,"center","center")
    end
    
    end
        
    if getKeyState("backspace") then
        for k,self in pairs(editBox.instances) do
            if self.visible and self.input then
                if not keyState then
                    keyState = getTickCount() + 400
                    self.text = string.sub(self.text,1,string.len(self.text)-1)
                elseif keyState and keyState < getTickCount() then
                    keyState = getTickCount()+100
                    self.text = string.sub(self.text,1,string.len(self.text)-1)
                end
                return
            end
        end
        keyState = nil
    end
    
    for i, v in pairs(messages) do
        if v.visible then
            dxDrawRectangle(sx-dxGetTextWidth(v.text, 1, "default-bold")-10, 35*i, dxGetTextWidth(v.text, 1, "default-bold")+50, 32,v.color)
            dxDrawBorder(sx-dxGetTextWidth(v.text, 1, "default-bold")-10, 35*i, dxGetTextWidth(v.text, 1, "default-bold")+20, 32,tocolor(255,255,255,200),1.6)
            dxDrawText(v.text,sx-dxGetTextWidth(v.text,1,"default-bold")-5, 9+35*i, dxGetTextWidth(v.text, 1, "default-bold"), 32, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false ,false, true)
        end
    end
end

function onClientClick(button,state,cX,cY)
    if not isCursorShowing() then
        return
    end
    if button == "left" and state == "up" then
        for k,self in pairs(editBox.instances) do
            if self.visible then
                if self.input then
                    self.input = nil
                    self.onOutput()
                end
                local x,y,w,h = self:getPosition()
                if isMouseInPosition(x,y,w,h) then
                    self.input = true
                    self.onInput()
                end
            end
        end
        if not inRegisterTab then
            if isMouseInPosition(x*552,y*504,x*262,y*44) then
                triggerServerEvent("onRequestLogin",localPlayer,g.user.text,g.pass.text)
            elseif isMouseInPosition(x*700,y*609,x*44,y*22) then
                g.user.visible = false
                g.pass.visible = false
                
                inRegisterTab = true
                g.rUser.visible = true
                g.rPass.visible = true
            end
        else
            if isMouseInPosition(x*552,y*504,x*262,y*44) then
                triggerServerEvent("onRequestRegister",localPlayer,g.rUser.text,g.rPass.text)
            end
        end
    end
end
addEventHandler("onClientClick", root, onClientClick)

function onClientCharacter(character)
    if not isCursorShowing() then
        return
    end
    for k,self in pairs(editBox.instances) do
        if self.visible and self.input then
            if (string.len(self.text)) < self.maxLength then
                self.text = self.text..character
            end
        end
    end
end
addEventHandler("onClientCharacter", root, onClientCharacter)

function editBox.new()
    local self = setmetatable({}, editBox)
    self.text = ""
    self.maxLength = 20
    self.scale = y*0.8
    self.state = "normal"
    self.font = "sans"
    self.color = {255,255,255,220}
    self.textColor = {255,255,255,220}
    table.insert(editBox.instances, self)
    return self
end

function editBox:getPosition()
    return self.x, self.y, self.w, self.h
end

function editBox:setPosition(x,y,w,h)
    self.x, self.y, self.w, self.h = x,y,w,h
    return true
end

function dxDrawBorder(posX, posY,posW,posH,color,scale)
    dxDrawLine(posX, posY, posX+posW, posY, color, scale,false)
    dxDrawLine(posX, posY, posX, posY+posH, color, scale,false)
    dxDrawLine(posX, posY+posH, posX+posW, posY+posH, color, scale,false)
    dxDrawLine(posX+posW, posY, posX+posW, posY+posH, color, scale,false)
end

function isMouseInPosition(x,y,width,height)
    local cx, cy = getCursorPosition()
    local cx, cy = (cx*sx), (cy*sy)
    if (cx >= x and cx <= x + width) and (cy >= y and cy <= y + height) then
        return true
    else
        return false
    end
end

function onLogin()
    showChat(true)
    showCursor(false)
    stopSound(sound)
    removeEventHandler("onClientRender", root, paint)
    removeEventHandler("onClientClick",root,onClientClick)
    removeEventHandler("onClientCharacter",root,onClientCharacter)
end
addEvent("onLogin", true)
addEventHandler("onLogin", localPlayer, onLogin)

function onRegister()
    g.user.visible = true
    g.pass.visible = true
    g.user.text = ""
    g.pass.text = ""
        
    inRegisterTab = false
    g.rUser.visible = false
    g.rPass.visible = false
    g.rUser.text = ""
    g.rPass.text = ""
end
addEvent("onRegister", true)
addEventHandler("onRegister", localPlayer, onRegister)

function loadLoginFromXML()
    local XML = xmlLoadFile ("userdata.xml")
    if not XML then
        XML = xmlCreateFile("userdata.xml", "login")
    end
    
    local usernameNode = xmlFindChild (XML, "username", 0)
    if usernameNode then
        return xmlNodeGetValue(usernameNode)
    else
        return ""
    end
    xmlUnloadFile ( XML )
end

function saveLoginToXML(username)
    local XML = xmlLoadFile ("userdata.xml")
    if not XML then
        XML = xmlCreateFile("userdata.xml", "login")
    end
    if (username ~= "") then
        local usernameNode = xmlFindChild (XML, "username", 0)
        if not usernameNode then
            usernameNode = xmlCreateChild(XML, "username")
        end
        xmlNodeSetValue (usernameNode, tostring(username))
    end
    xmlSaveFile(XML)
    xmlUnloadFile (XML)
end
addEvent("saveLoginToXML", true)
addEventHandler("saveLoginToXML", root, saveLoginToXML)


function login_text(result, text)
    if result == "sucess" then
        addNotification(text,1)
    elseif result == "error" then
        addNotification(text,2)
    end
end
addEvent("login_text",true)
addEventHandler("login_text",root,login_text)

function addNotification(text, type)
    text = string.gsub(text,"#%x%x%x%x%x%x","")
    local i = 0
    if text == "" or text == nil or not type then
        return
    else
        for i = 0, #messages+1 do
            if messages[i] then
                i = i+1
            else
                messages[i] = {}
                messages[i].text = text
                messages[i].visible = true
                if type == 1 then
                    messages[i].color = tocolor(0,255,0,255)
                elseif type == 2 then
                    messages[i].color = tocolor(255,0,0,255)
                end
                setTimer(removeNotify,5000,1,i)
            end
        end
    end
end

function removeNotify(i)
    messages[i].visible = false
    messages[i] = nil
end

function dxDrawBorder(posX, posY,posW,posH,color,scale)
    dxDrawLine(posX, posY, posX+posW, posY, color, scale,false)
    dxDrawLine(posX, posY, posX, posY+posH, color, scale,false)
    dxDrawLine(posX, posY+posH, posX+posW, posY+posH, color, scale,false)
    dxDrawLine(posX+posW, posY, posX+posW, posY+posH, color, scale,false)
end

DB3
ERROR: Loading script failed: op-login/client/main.lua:340: unfinished long string near '<eof>'

Podpis
13.04.2018 [*] ArtWorld
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-04-09, 08:38


.RiV







Wiek: 26
Na forum: 3729 dni
Posty: 554
Nick w MP: Split

Piwa: 2598

Respekt: 597,8
Respekt: 597,8

Mo?esz poda? kod z 340 linijki ? Magicznej kuli nie mamy.

Podpis

Autor OGRPG, na scenie MTA od 2012 roku.




Użytkownik: 08.08.2016
GTAO Member: 06.02.2017
Support-Team: 17.06.2017 & 01.06.2019 - 18.11.2019
Moderator: 14.01.2018 - 09.08.2018

Ostatnio zmieniony przez .RiV 2018-04-09, 08:39, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-04-09, 08:39


xJakob







Wiek: 32
Na forum: 3803 dni
Posty: 164
Nick w MP: tylkoyolo

Piwa: 986

Respekt: 155,3
Respekt: 155,3Respekt: 155,3

Nie wiem na pewno ale wychodzi z tego db ?e nie zako?czy?e? stringa czyli po prostu pobaw si? endami. Nie jestem pewien 100% ale pobaw si? to nic nie kosztuje a mo?e uporasz si? z tym.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-04-09, 09:05


Cobey







Wiek: 25
Na forum: 3443 dni
Posty: 86
Nick w MP: Anonimowa

Piwa: 286

Respekt: -9

Ostrzeżeń: 100%
340linijka to jest ostatnia,zakonczona endem

Podpis
13.04.2018 [*] ArtWorld
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-04-09, 15:01


Ciastuuś

As-salamu alaykum






Wiek: 27
Na forum: 3212 dni
Posty: 800
Nick w MP: Ciastuuś

Piwa: 4304

Respekt: 640
Respekt: 640Respekt: 640

Tak wygl?da m?j kod bez b??d?w. Troch? usun??em kodu od grafiki, gdy? nie mia?em nic. Ale, przystosuj si? do niego i Sobie tam do??cz potrzebne linijki, kt?rych brakuje:

sx,sy = guiGetScreenSize()
x,y =  (sx/1366), (sy/768)

messages = {}
editBox = {}
editBox.__index = editBox
editBox.instances = {}

font = "default"

function onClientResourceStart()
    tick = getTickCount()
    sound = playSound("",true)
    g = {}
    g.user = editBox.new()
    g.user:setPosition(x*601,y*364,x*213,y*41)
    g.user.color = {0,37,112,160}
    g.user.font = font
    g.user.text = loadLoginFromXML()
    g.user.visible = true
    g.user.onInput = function()
        g.user.color = {0,37,112, 160}
    end
    g.user.onOutput = function()
        g.user.color = {0,37,112,160}
    end
    
    g.pass = editBox.new()
    g.pass:setPosition(x*601,y*426,x*213,y*41)
    g.pass.color = {79,86,94,160}
    g.pass.font = font
    g.pass.masked = true
    g.pass.visible = true
    g.pass.onInput = function()
        g.pass.color = {0, 37, 112, 160}
    end
    g.pass.onOutput = function()
        g.pass.color = {0,37,112,160}
    end
    
    g.rUser = editBox.new()
    g.rUser:setPosition(x*601,y*364,x*213,y*41)
    g.rUser.color = {79,86,94,160}
    g.rUser.font = font
    g.rUser.onInput = function()
        g.rUser.color = {0, 37, 112, 160}
    end
    g.rUser.onOutput = function()
        g.rUser.color = {0,37,112,160}
    end
    
    g.rPass = editBox.new()
    g.rPass:setPosition(x*601,y*426,x*213,y*41)
    g.rPass.color = {0,37,112,160}
    g.rPass.font = font
    g.rPass.masked = true
    g.rPass.onInput = function()
        g.rPass.color = {0, 37, 112, 160}
    end
    g.rPass.onOutput = function()
        g.rPass.color = {0,37,112,160}
    end

    showChat(false)
    showCursor(true)
    addEventHandler("onClientRender", root, paint)
end
addEventHandler("onClientResourceStart",resourceRoot,onClientResourceStart)

function paint()
    local rh,ry = interpolateBetween(0, (y*559/2)+y*105, 0, y*559, y*105, 0, (getTickCount()-tick)/1400, "Linear")
    if getTickCount()-tick > 1500 then
        local bColor = tocolor(0, 37, 112, 200)
        if isMouseInPosition(x*552,y*504,x*262,y*44) then
            bColor = tocolor(0, 0, 0, 200)
        end
        
        if not inRegisterTab then
            dxDrawRectangle(x*552,y*364,x*49,y*41,tocolor(0,37,112,160))
            dxDrawRectangle(x*552,y*426,x*49,y*41,tocolor(0,37,112,160))
        
            dxDrawRectangle(x*552,y*504,x*262,y*44,bColor)
            dxDrawBorder(x*552,y*504,x*262,y*44,tocolor(0,0,0,240),1.4)
            dxDrawText("LOGOWANIE",x*552,y*504,x*552+x*262,y*504+y*44,tocolor(255,255,255),y*1,font,"center","center")
        
            dxDrawText("NIE ZAREJESTROWANY? REJESTRACJA - KLIKNIJ",x*588,y*582,x*588+x*192,y*592+y*43,tocolor(255,255,255),y*0.6,font,"center","center",false,false,false,true)
        end

        for k,self in pairs(editBox.instances) do
            if self.visible then
                local px,py,pw,ph = self:getPosition()
                local text = self.masked and string.gsub(self.text,".","text") or self.text
                local alignX = dxGetTextWidth(text,self.scale,self.font) <= pw and "left" or "right"
                dxDrawRectangle(px, py, pw, ph, tocolor(unpack(self.color)))
                dxDrawText(text,px+x*5, py,px-x*5+pw, py+ph,tocolor(unpack(self.textColor)),self.scale,self.font,alignX,"center",true)        
                if self.input and dxGetTextWidth(text,self.scale,self.font) <= pw then
                    local lx = dxGetTextWidth(text,self.scale,self.font)+px+x*8
                    local lx = dxGetTextWidth(text,self.scale,self.font)+px+x*8
                    dxDrawLine(lx, py+y*10, lx, py+ph-y*10, tocolor(255,255,255,math.abs(math.sin(getTickCount()/300))*200), 2)
                end
            end
        end
        
    if not inRegisterTab then
        dxDrawBorder(x*552,y*364,x*262,y*41,tocolor(0,0,0,240),1)
        dxDrawBorder(x*552,y*426,x*262,y*41,tocolor(0,0,0,240),1)
    else
    
        dxDrawRectangle(x*552,y*364,x*49,y*41,tocolor(0,37,112,160))
        dxDrawRectangle(x*552,y*426,x*49,y*41,tocolor(0,37,112,160))
        dxDrawBorder(x*552,y*364,x*262,y*41,tocolor(0,0,0,240),1)
        dxDrawBorder(x*552,y*426,x*262,y*41,tocolor(0,0,0,240),1)
        
        dxDrawRectangle(x*552,y*504,x*262,y*44,bColor)
        dxDrawBorder(x*552,y*504,x*262,y*44,tocolor(0,0,0,240),1.4)
        dxDrawText("ZAREJESTRUJ SI?",x*552,y*504,x*552+x*262,y*504+y*44,tocolor(255,255,255),y*1,font,"center","center")
    end
    
    end
        
    if getKeyState("backspace") then
        for k,self in pairs(editBox.instances) do
            if self.visible and self.input then
                if not keyState then
                    keyState = getTickCount() + 400
                    self.text = string.sub(self.text,1,string.len(self.text)-1)
                elseif keyState and keyState < getTickCount() then
                    keyState = getTickCount()+100
                    self.text = string.sub(self.text,1,string.len(self.text)-1)
                end
                return
            end
        end
        keyState = nil
    end
    
    for i, v in pairs(messages) do
        if v.visible then
            dxDrawRectangle(sx-dxGetTextWidth(v.text, 1, "font-bold")-10, 35*i, dxGetTextWidth(v.text, 1, "font-bold")+50, 32,v.color)
            dxDrawBorder(sx-dxGetTextWidth(v.text, 1, "font-bold")-10, 35*i, dxGetTextWidth(v.text, 1, "font-bold")+20, 32,tocolor(255,255,255,200),1.6)
            dxDrawText(v.text,sx-dxGetTextWidth(v.text,1,"font-bold")-5, 9+35*i, dxGetTextWidth(v.text, 1, "font-bold"), 32, tocolor(255,255,255,255), 1, "font-bold", "left", "top", false, false ,false, true)
        end
    end
end

function onClientClick(button,state,cX,cY)
    if not isCursorShowing() then
        return
    end
    if button == "left" and state == "up" then
        for k,self in pairs(editBox.instances) do
            if self.visible then
                if self.input then
                    self.input = nil
                    self.onOutput()
                end
                local x,y,w,h = self:getPosition()
                if isMouseInPosition(x,y,w,h) then
                    self.input = true
                    self.onInput()
                end
            end
        end
        if not inRegisterTab then
            if isMouseInPosition(x*552,y*504,x*262,y*44) then
                triggerServerEvent("onRequestLogin",localPlayer,g.user.text,g.pass.text)
            elseif isMouseInPosition(x*700,y*609,x*44,y*22) then
                g.user.visible = false
                g.pass.visible = false
                
                inRegisterTab = true
                g.rUser.visible = true
                g.rPass.visible = true
            end
        else
            if isMouseInPosition(x*552,y*504,x*262,y*44) then
                triggerServerEvent("onRequestRegister",localPlayer,g.rUser.text,g.rPass.text)
            end
        end
    end
end
addEventHandler("onClientClick", root, onClientClick)

function onClientCharacter(character)
    if not isCursorShowing() then
        return
    end
    for k,self in pairs(editBox.instances) do
        if self.visible and self.input then
            if (string.len(self.text)) < self.maxLength then
                self.text = self.text..character
            end
        end
    end
end
addEventHandler("onClientCharacter", root, onClientCharacter)

function editBox.new()
    local self = setmetatable({}, editBox)
    self.text = ""
    self.maxLength = 20
    self.scale = y*0.8
    self.state = "normal"
    self.font = "sans"
    self.color = {255,255,255,220}
    self.textColor = {255,255,255,220}
    table.insert(editBox.instances, self)
    return self
end

function editBox:getPosition()
    return self.x, self.y, self.w, self.h
end

function editBox:setPosition(x,y,w,h)
    self.x, self.y, self.w, self.h = x,y,w,h
    return true
end

function dxDrawBorder(posX, posY,posW,posH,color,scale)
    dxDrawLine(posX, posY, posX+posW, posY, color, scale,false)
    dxDrawLine(posX, posY, posX, posY+posH, color, scale,false)
    dxDrawLine(posX, posY+posH, posX+posW, posY+posH, color, scale,false)
    dxDrawLine(posX+posW, posY, posX+posW, posY+posH, color, scale,false)
end

function isMouseInPosition(x,y,width,height)
    local cx, cy = getCursorPosition()
    local cx, cy = (cx*sx), (cy*sy)
    if (cx >= x and cx <= x + width) and (cy >= y and cy <= y + height) then
        return true
    else
        return false
    end
end

function onLogin()
    showChat(true)
    showCursor(false)
    stopSound(sound)
    removeEventHandler("onClientRender", root, paint)
    removeEventHandler("onClientClick",root,onClientClick)
    removeEventHandler("onClientCharacter",root,onClientCharacter)
end
addEvent("onLogin", true)
addEventHandler("onLogin", localPlayer, onLogin)

function onRegister()
    g.user.visible = true
    g.pass.visible = true
    g.user.text = ""
    g.pass.text = ""
        
    inRegisterTab = false
    g.rUser.visible = false
    g.rPass.visible = false
    g.rUser.text = ""
    g.rPass.text = ""
end
addEvent("onRegister", true)
addEventHandler("onRegister", localPlayer, onRegister)

function loadLoginFromXML()
    local XML = xmlLoadFile ("userdata.xml")
    if not XML then
        XML = xmlCreateFile("userdata.xml", "login")
    end
    
    local usernameNode = xmlFindChild (XML, "username", 0)
    if usernameNode then
        return xmlNodeGetValue(usernameNode)
    else
        return ""
    end
    xmlUnloadFile ( XML )
end

function saveLoginToXML(username)
    local XML = xmlLoadFile ("userdata.xml")
    if not XML then
        XML = xmlCreateFile("userdata.xml", "login")
    end
    if (username ~= "") then
        local usernameNode = xmlFindChild (XML, "username", 0)
        if not usernameNode then
            usernameNode = xmlCreateChild(XML, "username")
        end
        xmlNodeSetValue (usernameNode, tostring(username))
    end
    xmlSaveFile(XML)
    xmlUnloadFile (XML)
end
addEvent("saveLoginToXML", true)
addEventHandler("saveLoginToXML", root, saveLoginToXML)


function login_text(result, text)
    if result == "sucess" then
        addNotification(text,1)
    elseif result == "error" then
        addNotification(text,2)
    end
end
addEvent("login_text",true)
addEventHandler("login_text",root,login_text)

function addNotification(text, type)
    text = string.gsub(text,"#%x%x%x%x%x%x","")
    local i = 0
    if text == "" or text == nil or not type then
        return
    else
        for i = 0, #messages+1 do
            if messages[i] then
                i = i+1
            else
                messages[i] = {}
                messages[i].text = text
                messages[i].visible = true
                if type == 1 then
                    messages[i].color = tocolor(0,255,0,255)
                elseif type == 2 then
                    messages[i].color = tocolor(255,0,0,255)
                end
                setTimer(removeNotify,5000,1,i)
            end
        end
    end
end

function removeNotify(i)
    messages[i].visible = false
    messages[i] = nil
end

function dxDrawBorder(posX, posY,posW,posH,color,scale)
    dxDrawLine(posX, posY, posX+posW, posY, color, scale,false)
    dxDrawLine(posX, posY, posX, posY+posH, color, scale,false)
    dxDrawLine(posX, posY+posH, posX+posW, posY+posH, color, scale,false)
    dxDrawLine(posX+posW, posY, posX+posW, posY+posH, color, scale,false)
end


Podpis
As-salamu alaykum
Postaw piwo autorowi tego posta
 

 
Tagi: logowanie :: kłopot
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