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

Wysłany: 2016-08-15, 20:42


AlaneqYT

Uczeń LUA






Wiek: 26
Na forum: 4026 dni
Posty: 37

Piwa: 20

Respekt: 25,3

Ostrzeżeń: 20%
Witam, zn?w ja! :)
Jak mo?na by by?o zablokowa? wej?cie 2 os?b na jedno konto w tym samym czasie.

server:


("logging:checkAccount", true)
addEventHandler("logging:checkAccount", resourceRoot, function(login,pass)
    local result=exports["ogrpg-db"]:dbGet("SELECT * FROM ogrpg_users WHERE login=?", login)
    if result and #result > 0 then
        if result[1].login == login and result[1].pass == md5(pass) then
            local account = getAccount(login,pass)
            if account then
                logIn(client,account,pass)
            end
            setPlayerName(client, login)
            setElementData(client, "player:uid", result[1].id)
            triggerClientEvent(client, "logging:result", resourceRoot, true, nil)
                        
        else
            triggerClientEvent(client, "logging:result", resourceRoot, false, "Podane dane s? nieprawid?owe.")
        end
    else
        triggerClientEvent(client, "logging:result", resourceRoot, false, "Podany login nie istnieje w bazie.")
    end
end)
addEvent("onClientSendRegisterDataToServer", true)
addEventHandler("onClientSendRegisterDataToServer", getRootElement(), dodaj)
addEvent("logging:newAccount", true)
addEventHandler("logging:newAccount", resourceRoot, function(login,pass)
       local result=exports["ogrpg-db"]:dbGet("SELECT * FROM ogrpg_users WHERE login=?", login)
    if result and #result > 0 then
        triggerClientEvent(client, "logging:result", resourceRoot, false, "Podany login ju? istnieje w bazie.")
    else
        local query=exports["ogrpg-db"]:dbSet("INSERT INTO ogrpg_users (login,pass) VALUES (?,?)", login, md5(pass))
        if getPlayerFromName(Player) then 
        triggerClientEvent(client, "logging:result", resourceRoot, false, "Ktos juz jest na tym koncie.")
        else
        triggerClientEvent(client, "logging:result", resourceRoot, false, "Pomy?lnie zalogowa?e?/a? si?")
        end
        if query then
            triggerClientEvent(client, "logging:result", resourceRoot, false, "Pomy?lnie zalogowa?e?/a? si?")
            addAccount(login, pass)
            logIn(client,login,pass)
        end
    end
end)


client:
 --[[
    Resource: OURGame v2
    Developers: Split <split.programista@gmail.com>
    You have no right to use this code without my permission.
    (c) 2015 <split.programista@gmail.com>. All rights reserved.
]]

local sx,sy=guiGetScreenSize()
local data={ showed=nil, button={}, info=nil, misc=nil, }

function isMouseIn(psx,psy,pssx,pssy,abx,aby)
    if not isCursorShowing() then return end
    cx,cy=getCursorPosition()
    cx,cy=cx*sx,cy*sy
    if cx >= psx and cx <= psx+pssx and cy >= psy and cy <= psy+pssy then
        return true,cx,cy
    else
        return false
    end
end

function renderLoginBox()
    dxDrawRectangle(sx*0/1024, sy*201/768, sx*1024/1024, sy*308/768, tocolor(0, 0, 0, 188
), false)
    if data.info then dxDrawText(data.info, sx*252/1024, sy*232/768, sx*800/1024, sy*255/768, tocolor(237, 0, 0, 255), 1.00, "default", "center", "center", false) end
    dxDrawLine(sx*0/1024, sy*199/768, sx*1022/1024, sy*200/768, tocolor(31, 111, 193, 255), 5, false)
    dxDrawLine(sx*0/1024, sy*509/768, sx*1022/1024, sy*510/768, tocolor(31, 111, 193, 255), 5, false)
    dxDrawText("Second-World.pl", sx*0/1024, sy*157/768, sx*1024/1024, sy*237/768, white, 2.00, "pricedown", "center", "center", false)
    dxDrawText("U?ytkownik:", sx*256/1024, sy*272/768, sx*484/1024, sy*305/768, white, 1.00, "default-bold", "center", "center", false)
    dxDrawText("Has?o", sx*571/1024, sy*269/768, sx*799/1024, sy*302/768, white, 1.00, "default-bold", "center", "center", false)
    if not isMouseIn(sx*256/1024, sy*408/768, sx*226/1024, sy*45/768) then dxDrawRectangle(sx*256/1024, sy*408/768, sx*226/1024, sy*45/768, tocolor(26, 98, 197, 255), false)
    else dxDrawRectangle(sx*256/1024, sy*408/768, sx*226/1024, sy*45/768, tocolor(0, 0, 0, 202), false) end
    if not isMouseIn(sx*573/1024, sy*407/768, sx*226/1024, sy*45/768) then dxDrawRectangle(sx*573/1024, sy*407/768, sx*226/1024, sy*45/768, tocolor(26, 98, 197, 255), false)
    else dxDrawRectangle(sx*573/1024, sy*407/768, sx*226/1024, sy*45/768, tocolor(0, 0, 0, 202), false) end
    dxDrawText("Zaloguj si?", sx*255/1024, sy*408/768, sx*482/1024, sy*453/768, white, 1.00, "default", "center", "center", false)
    dxDrawText("Zarejestruj si?", sx*572/1024, sy*407/768, sx*799/1024, sy*452/768, white, 1.00, "default", "center", "center", false)
end

addEventHandler("onClientClick", root, function(btn,state)
    if btn=="left" and state=="down" then
        if isMouseIn(sx*256/1024, sy*408/768, sx*226/1024, sy*45/768) and data.showed then
            local login=guiGetText(data.button[1])
            local pass=guiGetText(data.button[2])
            if string.len(login) < 2 or string.len(pass) < 2 then
                data.info="Wype?nij wszystkie pola!"
                return
            end
            triggerServerEvent("logging:checkAccount", resourceRoot, login, pass)
        end
        if isMouseIn(sx*573/1024, sy*407/768, sx*226/1024, sy*45/768) and data.showed then
            local login=guiGetText(data.button[1])
            local pass=guiGetText(data.button[2])
            if string.len(login) < 2 or string.len(pass) < 2 then
                data.info="Wype?nij wszystkie pola!"
                return
            end
            if string.len(login) > 22 or string.len(pass) > 30 then
                data.info="Login/Has?o musi mie? mniej ni? 22/30 znak?w."
                return
            end
            triggerServerEvent("logging:newAccount", resourceRoot, login, pass)
        end
    end
end)

addEvent("logging:result", true)
addEventHandler("logging:result", resourceRoot, function(value,info)
    if not info then info="" end
    if value then
        data.showed=false
        showZones(data.misc)
        
        -- Usuwamy elementy
        destroyElement(data.button[1])
        destroyElement(data.button[2])
        removeEventHandler("onClientRender", root, renderLoginBox)
    else
        data.info=tostring(info)
        setTimer(function() data.info=nil end, 3000, 1)
    end
end)

addEventHandler("onClientResourceStart", resourceRoot, function()
    showChat(false)
    showCursor(true)
    fadeCamera(true)
    data.showed=true
    setElementAlpha(localPlayer,0)
    data.misc=playSound("misc/intro.mp3",true)
    setSoundVolume(data.misc, 1.0)
    showPlayerHudComponent("all",false)
    guiSetInputMode("no_binds_when_editing")
    setElementData(localPlayer,"status","Loguje si?")
    setElementData(localPlayer,"player:logged",false)
    addEventHandler("onClientRender", root, renderLoginBox)
    data.button[1]=guiCreateEdit(0.25, 0.41, 0.22, 0.05, "", true)
    data.button[2]=guiCreateEdit(0.56, 0.41, 0.22, 0.05, "", true)   
end)

Oczywi?cie, prosz? o szybk? pomoc! :) Z g?ry dziekuje.

[ Dodano: 2016-08-16, 16:10 ]
Moze ktos pomoc? :P

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-16, 16:19


AteX







Wiek: 27
Na forum: 4157 dni
Posty: 925
Nick w MP: #AteX

Piwa: 8366

Respekt: 775,3
Respekt: 775,3Respekt: 775,3

setPlayerName(client, login)

Ustawiasz nick gracza po zalogowaniu, wi?c najpro?ciej po prostu sprawdzaj przy logowaniu czy gracz o takim nicku jest.
if getPlayerFromName(login) then return end


Podpis
MultiTheftAuto++ dla MTA 1.5.7 już dostępne.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-16, 16:23


AlaneqYT

Uczeń LUA






Wiek: 26
Na forum: 4026 dni
Posty: 37

Piwa: 20

Respekt: 25,3

Ostrzeżeń: 20%
Okej, zrobilem to i teraz nie mozna sie zalogowac.
kod:

addEvent("logging:checkAccount", true)
addEventHandler("logging:checkAccount", resourceRoot, function(login,pass)
    local result=exports["ogrpg-db"]:dbGet("SELECT * FROM ogrpg_users WHERE login=?", login)
    if result and #result > 0 then
        if result[1].login == login and result[1].pass == md5(pass) then
            local account = getAccount(login,pass)
            if account then
                logIn(client,account,pass)
            end
            setPlayerName(client, login)
            if getPlayerFromName(login) then return end
            setElementData(client, "player:uid", result[1].id)
            triggerClientEvent(client, "logging:result", resourceRoot, true, nil)
                        
        else
            triggerClientEvent(client, "logging:result", resourceRoot, false, "Podane dane s? nieprawid?owe.")
        end
    else
        triggerClientEvent(client, "logging:result", resourceRoot, false, "Podany login nie istnieje w bazie.")
    end
end)
addEvent("onClientSendRegisterDataToServer", true)
addEventHandler("onClientSendRegisterDataToServer", getRootElement(), dodaj)
addEvent("logging:newAccount", true)
addEventHandler("logging:newAccount", resourceRoot, function(login,pass)
       local result=exports["ogrpg-db"]:dbGet("SELECT * FROM ogrpg_users WHERE login=?", login)
    if result and #result > 0 then
        triggerClientEvent(client, "logging:result", resourceRoot, false, "Podany login ju? istnieje w bazie.")
    else
        local query=exports["ogrpg-db"]:dbSet("INSERT INTO ogrpg_users (login,pass) VALUES (?,?)", login, md5(pass))
        if getPlayerFromName(Player) then 
        triggerClientEvent(client, "logging:result", resourceRoot, false, "Ktos juz jest na tym koncie.")
        else
        triggerClientEvent(client, "logging:result", resourceRoot, false, "Pomy?lnie zalogowa?e?/a? si?")
        end
        if query then
            triggerClientEvent(client, "logging:result", resourceRoot, false, "Pomy?lnie zalogowa?e?/a? si?")
            addAccount(login, pass)
            logIn(client,login,pass)
        end
    end
end)


A DB3 nic.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-16, 16:25


AteX







Wiek: 27
Na forum: 4157 dni
Posty: 925
Nick w MP: #AteX

Piwa: 8366

Respekt: 775,3
Respekt: 775,3Respekt: 775,3

Teraz zobacz co zrobi?e?. Sprawdzasz czy jest gracz o podanym nicku dopiero po tym jak gracz si? zaloguje, a nie na samym pocz?tku jeszcze przed logowaniem.

Podpis
MultiTheftAuto++ dla MTA 1.5.7 już dostępne.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-16, 16:27


AlaneqYT

Uczeń LUA






Wiek: 26
Na forum: 4026 dni
Posty: 37

Piwa: 20

Respekt: 25,3

Ostrzeżeń: 20%
Czyli to ma byc tak?
addEvent("logging:checkAccount", true)
addEventHandler("logging:checkAccount", resourceRoot, function(login,pass)
    local result=exports["ogrpg-db"]:dbGet("SELECT * FROM ogrpg_users WHERE login=?", login)
    if result and #result > 0 then
        if result[1].login == login and result[1].pass == md5(pass) then
            local account = getAccount(login,pass)
            if account then
                logIn(client,account,pass)
            end
            if getPlayerFromName(login) then return end
            setPlayerName(client, login)
            setElementData(client, "player:uid", result[1].id)
            triggerClientEvent(client, "logging:result", resourceRoot, true, nil)
                        
        else
            triggerClientEvent(client, "logging:result", resourceRoot, false, "Podane dane s? nieprawid?owe.")
        end
    else
        triggerClientEvent(client, "logging:result", resourceRoot, false, "Podany login nie istnieje w bazie.")
    end
end)
addEvent("onClientSendRegisterDataToServer", true)
addEventHandler("onClientSendRegisterDataToServer", getRootElement(), dodaj)
addEvent("logging:newAccount", true)
addEventHandler("logging:newAccount", resourceRoot, function(login,pass)
       local result=exports["ogrpg-db"]:dbGet("SELECT * FROM ogrpg_users WHERE login=?", login)
    if result and #result > 0 then
        triggerClientEvent(client, "logging:result", resourceRoot, false, "Podany login ju? istnieje w bazie.")
    else
        local query=exports["ogrpg-db"]:dbSet("INSERT INTO ogrpg_users (login,pass) VALUES (?,?)", login, md5(pass))
        if getPlayerFromName(Player) then 
        triggerClientEvent(client, "logging:result", resourceRoot, false, "Ktos juz jest na tym koncie.")
        else
        triggerClientEvent(client, "logging:result", resourceRoot, false, "Pomy?lnie zalogowa?e?/a? si?")
        end
        if query then
            triggerClientEvent(client, "logging:result", resourceRoot, false, "Pomy?lnie zalogowa?e?/a? si?")
            addAccount(login, pass)
            logIn(client,login,pass)
        end
    end
end)


Jezeli tak to dalej nie dziala.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-16, 16:31


AteX







Wiek: 27
Na forum: 4157 dni
Posty: 925
Nick w MP: #AteX

Piwa: 8366

Respekt: 775,3
Respekt: 775,3Respekt: 775,3

Spr?buj jeszcze tak.
local plr = getPlayerFromName(login)
if plr and getElementData(plr,"player:uid") then return end


Podpis
MultiTheftAuto++ dla MTA 1.5.7 już dostępne.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-16, 16:38


AlaneqYT

Uczeń LUA






Wiek: 26
Na forum: 4026 dni
Posty: 37

Piwa: 20

Respekt: 25,3

Ostrzeżeń: 20%
Dobra dziala do zamkniecia.

Postaw piwo autorowi tego posta
 

 
Tagi: blokada
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Blokada 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