Wysłany: 2015-07-20, 18:38
THEGizmo
Modeler/Uczeń Lua
Wiek: 27 Na forum: 4141 dni Posty: 255
Nick w MP: THEGizmo
Piwa : 3072
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
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
Wysłany: 2015-07-20, 19:20
Maximerr
Programmer PHP, LUA
Wiek: 25 Na forum: 4427 dni Posty: 548
Piwa : 1051
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 )
Więcej szczegółów
Wystawiono 1 piw(a):BanCam
Wysłany: 2015-07-20, 19:50
THEGizmo
Modeler/Uczeń Lua
Wiek: 27 Na forum: 4141 dni Posty: 255
Nick w MP: THEGizmo
Piwa : 3072
Maximerr , Wielkie dzi?ki ?ap zimne
Do zamkni?cia
Podpis
Modeler Corporation Sp. Z.O.O
Tagi: zapis :: kasy :: itp
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: