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

Wysłany: 2015-08-12, 20:06


sebik2303

Mapper :)






Wiek: 25
Na forum: 4160 dni
Posty: 298
Nick w MP: sebik2303

Piwa: 899

Respekt: 55,3

Witam, mam pytanie dlaczego mi ten skrypt zapisuje wszystko na nick, nie na has?o ?


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, -)
        dbFree zapytanie )
        local x,y,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 ), punktyxy)
        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 ), punktyxyzgetPlayerName 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, -)
        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"plr255255255 )
        return end
        for _,v in ipairs result ) do
            setElementPosition plrv.posxv.posyv.posz )
            setPlayerMoney plrv.portfel )
            setElementInterior plrv.interior )
            setElementDimension plrv.dimension )
            setElementModel plrv.skin )
            setAccountData konto"punkty"v.punkty )
        end
    end
end)


Za pomoc daje zimne tyskie :piwo: oraz trochu R*

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-12, 20:08


#404







Wiek: 26
Na forum: 4771 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%

local zapytanie dbQuery polaczenie"SELECT login FROM OP_Players WHERE login = ?"getPlayerName plr ) )

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 ), punktyxy)

dbQuery polaczenie"UPDATE OP_Players SET skin = '?', portfel = '?', interior = '?', dimension = '?', punkty = '?', posx = '?', posy = '?', posz = '?' WHERE login = ?"getElementModel plr ), getPlayerMoney plr ), getElementInterior plr ), getElementDimension plr ), punktyxyzgetPlayerName plr ) )

local zapis dbQuery polaczenie"SELECT * FROM OP_Players WHERE login = ?"getPlayerName plr ) )



Przyjrzyj si? temu getPlayerName :) Zamiast tego, powinna by? funkcja pobieraj?ca nazw? konta gracza ;)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-12, 20:13


sebik2303

Mapper :)






Wiek: 25
Na forum: 4160 dni
Posty: 298
Nick w MP: sebik2303

Piwa: 899

Respekt: 55,3

DestroY, getAccountData ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-12, 20:15


#404







Wiek: 26
Na forum: 4771 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
"sebik2303" napisał/a:

DestroY, getAccountData ?


Tym pobierasz jaki? zapis do konta...

U?yj

Więcej informacji znajdziesz w Wikipedii MTA:

getPlayerAccount

Aby pobra? konto gracza


Więcej informacji znajdziesz w Wikipedii MTA:

getAccountName

A tym pobierz nazw? konta gracza z konta, uzyskanego t? pierwsz? podan? funkcj?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-12, 20:31


sebik2303

Mapper :)






Wiek: 25
Na forum: 4160 dni
Posty: 298
Nick w MP: sebik2303

Piwa: 899

Respekt: 55,3

DestroY, a pomo?esz bo sql i zapisy to czarna magia
:)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-12, 20:34


#404







Wiek: 26
Na forum: 4771 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
Po prostu w miejsca getPlayerName ( plr ) musisz doda? nazw? konta gracza, kt?r? to pobierzesz za pomoc? podanych wy?ej funkcji.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-12, 23:11


sebik2303

Mapper :)






Wiek: 25
Na forum: 4160 dni
Posty: 298
Nick w MP: sebik2303

Piwa: 899

Respekt: 55,3

jutro pokombinuje jak co? napisze ;)

Postaw piwo autorowi tego posta
 

 
Tagi: dlaczego :: zapisuje :: nick :: nie :: login
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » dlaczego zapisuje na nick nie na login 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