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

Wysłany: 2021-01-19, 22:50


NekeYT







Wiek: 23
Na forum: 2669 dni
Posty: 58
Nick w MP: Cytrus

Piwa: 6

Respekt: 50

Siema, baza podpi?ta, ale panel nadal nie dzia?a. B??d wyskakuje w 143 linice (3 linia w kodzie poni?ej)

b??d:
ERROR: [SKRYPTY]/logowanie/s_main.lua:143: attempt to call global 'escapeString' (a nil value)


Kod:

[code]addEvent('logowanie:zaloguj', true)
addEventHandler('logowanie:zaloguj', resourceRoot, function(player, login, haslo)
login = escapeString(login)
haslo = escapeString(password)

local czytaj = db:query('SELECT * FROM users WHERE login=? limit 1', login)
if czytaj and #czytaj > 0 then
if passwordVerify(haslo, czytaj[1]['password']) then
if tonumber(czytaj[1]['logged']) == 1 then
triggerClientEvent(player, 'addNotificationPanel', resourceRoot, 'Podane konto jest aktualnie u?ywane.', {255, 0, 0})
return
end[/code]

loadPlayerData(player, czytaj, haslo)
else
triggerClientEvent(player, 'addNotificationPanel', resourceRoot, 'Podane has?o jest nieprawid?owe.', {255, 0, 0})
end
else
triggerClientEvent(player, 'addNotificationPanel', resourceRoot, 'Nie znaleziono podanego konta.', {255, 0, 0})
end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-01-19, 23:02


_jvneczek







Wiek: 22
Na forum: 4467 dni
Posty: 1509
Nick w MP: _jvneczek

Piwa: 3960

Respekt: 337,5
Respekt: 337,5Respekt: 337,5Respekt: 337,5

nie masz escapeString.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-01-19, 23:22


NekeYT







Wiek: 23
Na forum: 2669 dni
Posty: 58
Nick w MP: Cytrus

Piwa: 6

Respekt: 50

"satan_" napisał/a:

nie masz escapeString.

co to jest, gdzie mog? to znale???

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-01-19, 23:23


_jvneczek







Wiek: 22
Na forum: 4467 dni
Posty: 1509
Nick w MP: _jvneczek

Piwa: 3960

Respekt: 337,5
Respekt: 337,5Respekt: 337,5Respekt: 337,5




function escapeString(text)
local str = string.gsub(tostring(text), "'", '')
str = string.gsub(str, '"', '')
str = string.gsub(str, ';', '')
str = string.gsub(str, '\', '')
str = string.gsub(str, '/*', '')
str = string.gsub(str, '*/', '')
str = string.gsub(str, "'", '')
str = string.gsub(str, '`', '')
str = string.gsub(str, ' ', '')
return str
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-01-20, 00:03


NekeYT







Wiek: 23
Na forum: 2669 dni
Posty: 58
Nick w MP: Cytrus

Piwa: 6

Respekt: 50

"satan_" napisał/a:




function escapeString(text)
local str = string.gsub(tostring(text), "'", '')
str = string.gsub(str, '"', '')
str = string.gsub(str, ';', '')
str = string.gsub(str, '\', '')
str = string.gsub(str, '/*', '')
str = string.gsub(str, '*/', '')
str = string.gsub(str, "'", '')
str = string.gsub(str, '`', '')
str = string.gsub(str, ' ', '')
return str
end

I co z tym mam zrobi? aby dzia?a?o?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-01-20, 00:13


_jvneczek







Wiek: 22
Na forum: 4467 dni
Posty: 1509
Nick w MP: _jvneczek

Piwa: 3960

Respekt: 337,5
Respekt: 337,5Respekt: 337,5Respekt: 337,5

wrzuci? na sam d?? kodu.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-01-20, 08:15


NekeYT







Wiek: 23
Na forum: 2669 dni
Posty: 58
Nick w MP: Cytrus

Piwa: 6

Respekt: 50

"satan_" napisał/a:

wrzuci? na sam d?? kodu.

wrzuci?em, lecz mam kolejny problem

ERROR: Client (Cytrus<3) triggered serverside event logowanie:zaloguj, but event is not added serverside

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-01-20, 08:23


Mikołajj







Wiek: 23
Na forum: 3026 dni
Posty: 303
Nick w MP: Mikołaj

Piwa: 132

Respekt: 91

event logowanie:zaloguj pr?bujesz ztriggerowa? w client, gdzie ten event nie jest dodany po stronie servera.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-01-20, 08:27


NekeYT







Wiek: 23
Na forum: 2669 dni
Posty: 58
Nick w MP: Cytrus

Piwa: 6

Respekt: 50

"Miko?ajj" napisał/a:

event logowanie:zaloguj pr?bujesz ztriggerowa? w client, gdzie ten event nie jest dodany po stronie servera.

nie do ko?ca rozumiem, prosi? bym o napraw? ca?ego kodu
--[[
Skrypt zosta? wykonany przez:
   -Asper (nezymr69@gmail.com),
   -Hardu? (rafox123.1990@o2.pl).
]]

local db = exports['polaczenie']

function getPlayersHavePremium()
    local q = db:query('select * from users where not premium_date=000-00-00')
    return (q and #q > 0 and #q) or 0
end

function loadPlayerData(player, result, password)
    local q_mute = db:query('select * from kary where (serial=? or ip=? or nick=?) and active=1 and type=? and date>now() limit 1', getPlayerSerial(player), getPlayerIP(player), getPlayerName(player), 'mute')
    local q_ban = db:query('select * from kary where (serial=? or ip=? or nick=?) and active=1 and type=? and date>now() limit 1', getPlayerSerial(player), getPlayerIP(player), getPlayerName(player), 'ban')

    if q_mute and #q_mute > 0 then
        outputChatBox('-------------------------------------------', player, 255, 0, 0)
        outputChatBox('Jeste? wyciszony!', player, 255, 0, 0)
        outputChatBox('Osoba wyciszaj?ca: '..q_mute[1]['admin'], player, 255, 0, 0)
        outputChatBox('Pow?d wyciszenia: '..q_mute[1]['reason'], player, 255, 0, 0)
        outputChatBox('Czas wyciszenia: '..q_mute[1]['date'], player, 255, 0, 0)
        outputChatBox('----------------------------------------', player, 255, 0, 0)

        setElementData(player, 'user:mute', true)
    else
        db:query('update kary set active=0 where (serial=? or ip=? or nick=?) and type=? limit 1',getPlayerSerial(player), getPlayerIP(player), getPlayerName(player), 'mute')
    end

    if q_ban and #q_ban > 0 then
        triggerClientEvent('wybieramyspawn:logowanie', player, player, result, true)
        triggerClientEvent(player, 'pokaz:bana', resourceRoot, q_ban)
        return
    else
        db:query('update kary set active=0 where (serial=? or ip=? or nick=?) and type=? limit 1',getPlayerSerial(player), getPlayerIP(player), getPlayerName(player), 'ban')
    end

    setPlayerName(player, result[1]['login'])
    setPlayerMoney(player, result[1]['money'])
    setElementHealth(player, result[1]['health'])

    db:query('update users set lastlogin=now(), logged=1 where id=? limit 1', result[1]['id'])

    if result[1]['save'] == 1 then
        triggerClientEvent(player, 'saveDateToXML', resourceRoot, result[1]['login'], password)
    end

    setElementData(player, 'user:dbid', result[1]['id'])
    setElementData(player, 'user:register', result[1]['registered'])
    setElementData(player, 'user:online', result[1]['online'])
    setElementData(player, 'user:sesion_online', 0)
    setElementData(player, 'user:prawkoA', result[1]['prawkoA'])
    setElementData(player, 'user:prawkoB', result[1]['prawkoB'])
    setElementData(player, 'user:prawkoC', result[1]['prawkoC'])
    setElementData(player, 'user:prawkoL', result[1]['prawkoL'])
    setElementData(player, 'user:premiumDate', result[1]['premium_date'])
    setElementData(player, 'user:premiumPoints', result[1]['premium_points'])
    setElementData(player, 'user:achievements', fromJSON(result[1]['achievements']))
    setElementData(player, 'shaders', fromJSON(result[1]['shaders']))
    setElementData(player, 'settings', fromJSON(result[1]['settings']))
    setElementData(player, 'interaction:trigger', 'wymiany')

    setElementData(player, "user:fid", result[1].faction)
    setElementData(player, "user:frank", result[1].frank)
    setElementData(player, "user:ftime", result[1].ftime)

    setElementData(player, "user:oranga", result[1].orank)

    setElementData(player, "licka:rybak", result[1].rybak == 0 and false or true)

    local q4 = db:query("select * from frakcje where id=?", result[1].faction)
    if #q4 > 0 then
        setElementData(player, "user:fname", q4[1].frakcja)
        setElementData(player, "user:fdata", q4)
    end

    local q3 = db:query("select * from organizacje where id=?", result[1].org)
    if #q3 > 0 then
        setElementData(player, "user:oname", q3[1].organizacja)
        setElementData(player, "user:odata", q3)
    end

    if result[1]['cut'] == 'TAK' then
        setElementData(player, 'user:logged', true)
    end

    local lastPos = false
    if result[1]['premium_date'] ~= '0000-00-00' then
        local q = db:query("select * from users where premium_date<now() and id=?", result[1].id)
        if(q and #q > 0)then
            outputChatBox("Twoje konto premium wygas?o.", player)
            db:query("update users set premium_date=? where id=?", "0000-00-00", result[1].id)
            return
        end

        setElementData(player, 'user:premium', true)
        outputChatBox('Posiadasz konto premium aktywne do: '..result[1]['premium_date'], player, 255, 255, 0)
        lastPos = fromJSON(result[1].pos)
    end

    local r = db:query('select * from domki where wlasciciel=?', result[1]['id'])
    --local org = db:query('select * from domki where organizacja=?', result[1].oname)
    triggerClientEvent('wybieramyspawn:logowanie', player, player, result, false, lastPos, r, org)
end

addEvent('logowanie:rejestracja', true)
addEventHandler('logowanie:rejestracja', resourceRoot, function(player, login, haslo, email)
    login = escapeString(login)
    haslo = escapeString(haslo)

    local czytaj = db:query('SELECT * FROM users WHERE login=? limit 1', login)
    if czytaj and #czytaj > 0 then
        triggerClientEvent(player, 'addNotificationPanel', resourceRoot, 'Konto o takiej nazwie u?ytkownika ju? istnieje.', {255, 0, 0})
         return
    end

    local r = db:query('select * from users where serial=? limit 1', getPlayerSerial(player))
    if r and #r >= 2 then
        triggerClientEvent(player, 'addNotificationPanel', resourceRoot, 'Mo?esz posiada? maksymalnie dwa konta.', {255, 0, 0})
        return
    end

    local q = db:query('INSERT INTO users (login,email,password,reputation,serial) VALUES (?,?,?,0,?)', login, email, passwordHash(haslo, 'bcrypt', {}), getPlayerSerial(player))
    if not q then
        triggerClientEvent(player, 'addNotificationPanel', resourceRoot, 'Wyst?pi? b??d podczas tworzenia konta. Zg?o? ten b??d administratorowi na forum.', {255, 255, 0})
        return
    end

    local czytaj = db:query('SELECT * FROM users WHERE login=? limit 1', login)
    if czytaj and #czytaj > 0 then
        loadPlayerData(player, czytaj, haslo)
    end
end)

addEvent('logowanie:zaloguj', true)
addEventHandler('logowanie:zaloguj', resourceRoot, function(player, login, haslo)
    login = escapeString(login)
    haslo = escapeString(haslo)

    local czytaj = db:query('SELECT * FROM users WHERE login=? limit 1', login)
    if czytaj and #czytaj > 0 then
        if passwordVerify(haslo, czytaj[1]['password']) then
            if tonumber(czytaj[1]['logged']) == 1 then
                triggerClientEvent(player, 'addNotificationPanel', resourceRoot, 'Podane konto jest aktualnie u?ywane.', {255, 0, 0})
                return
            end

            loadPlayerData(player, czytaj, haslo)
        else
            triggerClientEvent(player, 'addNotificationPanel', resourceRoot, 'Podane has?o jest nieprawid?owe.', {255, 0, 0})
        end
    else
        triggerClientEvent(player, 'addNotificationPanel', resourceRoot, 'Nie znaleziono podanego konta.', {255, 0, 0})
    end
end)

function zapiszGracza(player)
    local dbid = getElementData(player, 'user:dbid')
    if not dbid then return end

    local q = db:query('SELECT * FROM users WHERE id=? limit 1', dbid)
    if q and #q > 0 then
        local achv = toJSON((getElementData(player, 'user:achievements') or {}))
        local save = getElementData(player, 'zapamietajLogin') or 0
        local health = getElementHealth(player) or 100
        local shaders = toJSON((getElementData(player, 'shaders') or {}))
        local settings = toJSON((getElementData(player, 'settings') or {}))
        local premium_points = getElementData(player, 'user:premiumPoints') or 0
        local online = getElementData(player, 'user:online') or 0    
        local rybak = getElementData(player, "licka:rybak") or 0

        
        local x,y,z = getElementPosition(player)
        db:query('update users set save=?, achievements=?, health=?, shaders=?, settings=?, premium_points=?, online=?, rybak=?, pos=? where id=? limit 1', save, achv, health, shaders, settings, premium_points, online, rybak, toJSON({x, y, z}), dbid)
    end
end
addEventHandler('onPlayerQuit', root, function() zapiszGracza(source) end)

addEvent('getSave', true)
addEventHandler('getSave', resourceRoot, function()
    local q = db:query('SELECT * FROM users WHERE serial=? and save=1 limit 1', getPlayerSerial(client))
    if q and #q > 0 then
        triggerClientEvent(client, 'setDates', resourceRoot, true)
        return
    end

    triggerClientEvent(client, 'setDates', resourceRoot, false)
end)

addEvent('logowanie:zrespGracza', true)
addEventHandler('logowanie:zrespGracza', resourceRoot, function(player, x, y, z, int_dim, housefalse)
    local q = db:query('select * from users where login=? limit 1', getPlayerName(player))
    if q and #q > 0 then
        triggerClientEvent(player, 'loadingScreen', resourceRoot)

        fadeCamera(player, false)
        setElementFrozen(player, true)
        setTimer(function()
            interior = (int_dim and #int_dim > 0) and int_dim[1] or 0
            dimension = (int_dim and #int_dim > 0) and int_dim[2] or 0

            fadeCamera(player, true)

            setTimer(function()
                setElementFrozen(player, false)
            end, 1000, 1)

            spawnPlayer(player, x, y, z, 90, q[1]['skin'], interior, dimension)
        end, 1000, 1)

        setElementData(player,'wPaneluLogowania',nil)
        showChat(player, true)
        showCursor(player, false)
        setElementData(player, 'pokaz:hud', true)
        setElementData(player, 'grey_shader', 0)
        setCameraTarget(player,player)
        triggerClientEvent(player, 'stopMusic', resourceRoot)
    end
end)

addEvent('logowanie:zatwierdzPoradnik', true)
addEventHandler('logowanie:zatwierdzPoradnik', resourceRoot, function(player, type)
    type = tonumber(type)

    if type == 1 then
        exports["polaczenie"]:query("UPDATE users SET tutorial=? WHERE login=? limit 1", "TAK", getPlayerName(player))
    elseif type == 2 then
        exports["polaczenie"]:query("UPDATE users SET cut=? WHERE login=? limit 1", "TAK", getPlayerName(player))
    end
end)

addEventHandler('onPlayerCommand', root, function(command)
    if not getElementData(source, 'user:logged') and getPlayerSerial(source) ~= '74AD615CFE02B293D95D63C9918358B3' and getPlayerSerial(source) ~= '69DC9557CEBBB00E7CDEAD6B7D029043' then
        cancelEvent()
    elseif command == 'register' then
        cancelEvent()
    elseif command == 'login' and getPlayerSerial(source) ~= '74AD615CFE02B293D95D63C9918358B3' and getPlayerSerial(source) ~= '69DC9557CEBBB00E7CDEAD6B7D029043' then
        cancelEvent()
    elseif command == 'logout' then
        cancelEvent()
    end
end)

function getPlayersOnline()
    local q = db:query('select * from users where logged=1 limit 1')
    for i,v in pairs(q) do
        if not getPlayerFromName(v['login']) then
            db:query('update users set logged=0 where login=? limit 1', v['login'])
            break
        end
    end
end
getPlayersOnline()
setTimer(getPlayersOnline, 300000, 0)

addEventHandler('onPlayerQuit', root, function()
    local dbid = getElementData(source, 'user:dbid')
    if not dbid then return end

    db:query('update users set logged=0 where id=? limit 1', dbid)
end)

addEventHandler('onPlayerLogout', root, function()
    cancelEvent()
end)

addEventHandler('onPlayerChangeNick', root, function()
    cancelEvent()
end)

function escapeString(text)
    local str = string.gsub(tostring(text), "'", '')
    str = string.gsub(str, '"', '')
    str = string.gsub(str, ';', '')
    str = string.gsub(str, '\', '')
    str = string.gsub(str, '/*', '')
    str = string.gsub(str, '*/', '')
    str = string.gsub(str, "'", '')
    str = string.gsub(str, '`', '')
    str = string.gsub(str, ' ', '')
    return str
function escapeString(text)
    local str = string.gsub(tostring(text), "'", '')
    str = string.gsub(str, '"', '')
    str = string.gsub(str, ';', '')
    str = string.gsub(str, '\', '')
    str = string.gsub(str, '/*', '')
    str = string.gsub(str, '*/', '')
    str = string.gsub(str, "'", '')
    str = string.gsub(str, '`', '')
    str = string.gsub(str, ' ', '')
    return str
    end
end


Postaw piwo autorowi tego posta
 

 
Tagi: panel :: logowanie :: nie :: działa
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Odpowiedz do tematu

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