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

Wysłany: 2015-07-20, 18:38


THEGizmo

Modeler/Uczeń Lua






Wiek: 28
Na forum: 4282 dni
Posty: 255
Nick w MP: THEGizmo

Piwa: 3091

Respekt: 200
Respekt: 200Respekt: 200

witam mam o tuz taki problem bo mam tutaj zapis kasy itp lecz jest problem, jak zmieni? nick w ustawieniach MTA i potem za?o?? konto w logowaniu o innym nicku
nie zapisuje mi kasy itp czy da si? to jako? zrobi? tak z?by zapisywa?o jak si? ma inny nick w ustawieniach MTA ?
Za pomoc stawiam :piwo:

local polaczenie = dbConnect ( "sqlite", "db.db" )

addEventHandler ( "onPlayerQuit", root, function ()
    if polaczenie then
        plr = source
        konto = getPlayerAccount ( plr )
        dbExec ( polaczenie, "CREATE TABLE IF NOT EXISTS OP_Players ( login VARCHAR, skin INTEGER, portfel INTEGER, interior INTEGER, dimension INTEGER, punkty INTEGER, posx FLOAT, posy FLOAT, posz FLOAT )" )
        local zapytanie = dbQuery ( polaczenie, "SELECT login FROM OP_Players WHERE login = ?", getPlayerName ( plr ) )
        local wynik = dbPoll ( zapytanie, -1 )
        dbFree ( zapytanie )
        local x,y,z = getElementPosition ( plr )
        local punkty = getAccountData ( konto, "punkty" ) or 0
        if #wynik == 0 then
            dbQuery ( polaczenie, "INSERT INTO OP_Players ( login, skin, portfel, interior, dimension, punkty, posx, posy, posz ) VALUES ( ?,?,?,?,?,?,?,?,? )", getPlayerName ( plr ), getElementModel ( plr ), getPlayerMoney ( plr ), getElementInterior ( plr ), getElementDimension ( plr ), punkty, x, y, z )
        elseif #wynik == 1 then
            dbQuery ( polaczenie, "UPDATE OP_Players SET skin = '?', portfel = '?', interior = '?', dimension = '?', punkty = '?', posx = '?', posy = '?', posz = '?' WHERE login = ?", getElementModel ( plr ), getPlayerMoney ( plr ), getElementInterior ( plr ), getElementDimension ( plr ), punkty, x, y, z, getPlayerName ( plr ) )
        end
    end
end)

addEventHandler ( "onPlayerLogin", root, function ( _, konto )
    if polaczenie then
        plr = source
        local zapis = dbQuery ( polaczenie, "SELECT * FROM OP_Players WHERE login = ?", getPlayerName ( plr ) )
        local result = dbPoll ( zapis, -1 )
        dbFree ( zapis )
        if #result == 0 then
            outputChatBox ( "Twoje dane nie zosta?y wczytane poniewa? nie znajduj? si? w bazie danych. Po wyj?ciu z serwera zostan? one wgrane", plr, 255, 255, 255 )
        return end
        for _,v in ipairs ( result ) do
            setElementPosition ( plr, v.posx, v.posy, v.posz )
            setPlayerMoney ( plr, v.portfel )
            setElementInterior ( plr, v.interior )
            setElementDimension ( plr, v.dimension )
            setElementModel ( plr, v.skin )
            setAccountData ( konto, "punkty", v.punkty )
        end
    end
end)


Podpis
Modeler Corporation Sp. Z.O.O

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-07-20, 19:20


Maximerr

Programmer PHP, LUA






Wiek: 25
Na forum: 4568 dni
Posty: 548

Piwa: 1051

Respekt: 365,3
Respekt: 365,3Respekt: 365,3Respekt: 365,3Respekt: 365,3

local polaczenie = dbConnect ( "sqlite", "db.db" )

addEventHandler ( "onPlayerQuit", root, function ()
    if polaczenie then
        plr = source
        konto = getPlayerAccount ( plr )
        dbExec ( polaczenie, "CREATE TABLE IF NOT EXISTS OP_Players ( login VARCHAR, skin INTEGER, portfel INTEGER, interior INTEGER, dimension INTEGER, punkty INTEGER, posx FLOAT, posy FLOAT, posz FLOAT )" )
        local zapytanie = dbQuery ( polaczenie, "SELECT login FROM OP_Players WHERE login = ?", getAccountName(getPlayerAccount(plr)) )
        local wynik = dbPoll ( zapytanie, -1 )
        dbFree ( zapytanie )
        local x,y,z = getElementPosition ( plr )
        local punkty = getAccountData ( konto, "punkty" ) or 0
        if #wynik == 0 then
            dbQuery ( polaczenie, "INSERT INTO OP_Players ( login, skin, portfel, interior, dimension, punkty, posx, posy, posz ) VALUES ( ?,?,?,?,?,?,?,?,? )", getAccountName(getPlayerAccount(plr)), getElementModel ( plr ), getPlayerMoney ( plr ), getElementInterior ( plr ), getElementDimension ( plr ), punkty, x, y, z )
        elseif #wynik == 1 then
            dbQuery ( polaczenie, "UPDATE OP_Players SET skin = '?', portfel = '?', interior = '?', dimension = '?', punkty = '?', posx = '?', posy = '?', posz = '?' WHERE login = ?", getElementModel ( plr ), getPlayerMoney ( plr ), getElementInterior ( plr ), getElementDimension ( plr ), punkty, x, y, z, getAccountName(getPlayerAccount(plr)) )
        end
    end
end)

addEventHandler ( "onPlayerLogin", root, function ( _, konto )
    if polaczenie then
        plr = source
        local zapis = dbQuery ( polaczenie, "SELECT * FROM OP_Players WHERE login = ?", getAccountName(getPlayerAccount(plr)) )
        local result = dbPoll ( zapis, -1 )
        dbFree ( zapis )
        if #result == 0 then
            outputChatBox ( "Twoje dane nie zosta?y wczytane poniewa? nie znajduj? si? w bazie danych. Po wyj?ciu z serwera zostan? one wgrane", plr, 255, 255, 255 )
        return end
        for _,v in ipairs ( result ) do
            setElementPosition ( plr, v.posx, v.posy, v.posz )
            setPlayerMoney ( plr, v.portfel )
            setElementInterior ( plr, v.interior )
            setElementDimension ( plr, v.dimension )
            setElementModel ( plr, v.skin )
            setAccountData ( konto, "punkty", v.punkty )
        end
    end
end)


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
BanCam
Wysłany: 2015-07-20, 19:50


THEGizmo

Modeler/Uczeń Lua






Wiek: 28
Na forum: 4282 dni
Posty: 255
Nick w MP: THEGizmo

Piwa: 3091

Respekt: 200
Respekt: 200Respekt: 200

Maximerr, Wielkie dzi?ki :) ?ap zimne :piwo:
Do zamkni?cia

Podpis
Modeler Corporation Sp. Z.O.O

Postaw piwo autorowi tego posta
 

 
Tagi: zapis :: kasy :: itp
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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