Wysłany: 2020-06-01, 14:45
KucharSolo
Wiek: 35 Na forum: 3438 dni Posty: 94
Nick w MP: Kuchar
Piwa : 2
ten jest po stronie serwera
local element = createElement ( "users" , "users" )
local q = exports [ "ys_db" ]: query ( "select id,login from ogrpg_users" )
local temp_table ={}
for i , v in ipairs ( q ) do
table . insert ( temp_table , tonumber ( v . id ), { login = v . login , uid = v . id })
end
element : setData ( "users" , temp_table )
function sprawdzorganizacje ( plr )
local x = exports [ "ys_db" ]: query ( "SELECT spawn from ogrpg_organization_list join ogrpg_organizations on ogrpg_organizations.code = ogrpg_organization_list.id WHERE uid=? and not(spawn=?)" , getElementData ( plr , "player:uid" ), "0,0,0" )
if x and #x > 0 then
local t = split ( x [ 1 ]. spawn , "," )
return t
end
return false
end
function SprawdzDom ( gracz )
local q = exports [ "ys_db" ]: query ( "select id,house from ogrpg_users where id=? and house IS NOT NULL" , getElementData ( gracz , "player:uid" ))
if #q < 1 then
local dbdomy = exports [ "ys_db" ]: query ( "SELECT d.id,d.lokator1,d.lokator2,d.lokator3,d.descr,d.vwi,d.drzwi,d.punkt_wyjscia,d.interiorid,d.ownerid,d.zamkniety,d.koszt,d.paidTo,datediff(d.paidTo,now()) paidTo_dni FROM lss_domy d LEFT JOIN ogrpg_users c ON c.id=d.ownerid AND d.ownerid IS NOT NULL;" )
for __ , v in ipairs ( dbdomy ) do
local uid = tonumber ( getElementData ( gracz , "player:uid" ))
local r = v . ownerid
v . drzwi = split ( v . drzwi , "," )
for ii , vv in ipairs ( v . drzwi ) do v . drzwi [ ii ]= tonumber ( vv ) end
if r then
if r == uid then
tak =({ v . drzwi [ 1 ], v . drzwi [ 2 ], v . drzwi [ 3 ]})
setElementData ( gracz , "player:house:spawn" , tak )
end
end
end
elseif #q > 0 then
local qr = exports [ "ys_db" ]: query ( "select ownerid,drzwi,id from lss_domy where id=?" , q [ 1 ]. house )
for i , v in ipairs ( qr ) do
local uid = tonumber ( getElementData ( gracz , "player:uid" ))
v . drzwi = split ( v . drzwi , "," )
for ii , vv in ipairs ( v . drzwi ) do v . drzwi [ ii ]= tonumber ( vv ) end
tak =({ v . drzwi [ 1 ], v . drzwi [ 2 ], v . drzwi [ 3 ]})
setElementData ( gracz , "player:house:spawn" , tak )
end
end
local q = exports [ "ys_db" ]: query ( "select id from lss_domy where ownerid=?" , getElementData ( gracz , "player:uid" ))
setElementData ( gracz , "player:houses" , #q)
end
doubleAccount = function( plr , name , uid )
return_state = false ;
for i , v in ipairs ( Element . getAllByType ( "player" )) do
if v == plr then break end
if v . name == name and tonumber ( v : getData ( "player:uid" )) ~= tonumber ( uid ) then
v . name = math . random ( 99 ).. name .. math . random ( 99 )
return_state = false ;
break
end
if tonumber ( v : getData ( "player:uid" )) == tonumber ( uid ) then
return_state = true ;
break
end
end
return return_state ;
end
function add_logs_login ( plr , uid , success )
local serial = plr . serial ;
local ip = plr . ip ;
exports [ "ys_db" ]: query ( "insert into Logi_logowanie (serial, ip, account, success) values(?,?,?,?)" , serial , ip , uid , success and 1 or 0 )
end
function get_premium ( plr )
local queryA = string . format ( "SELECT *, TIMESTAMPDIFF(SECOND,now(),`premiumdate`) as roznica FROM ogrpg_users WHERE id=%d AND premiumdate>NOW() LIMIT 1" , getElementData ( plr , "player:uid" ))
local resultA = exports [ "ogrpg-db" ]: pobierzWyniki ( queryA )
if ( resultA ) then
if resultA . roznica <= 86400 then
setElementData ( plr , "player:premium:need_checking" , true )
end
setElementData ( plr , "player:premium" , true )
setPlayerNametagColor ( plr , 255 , 200 , 0 )
end
end
function find_xD ( uid )
local tbl ={}
for i , v in ipairs ( getElementsByType ( "player" )) do
if v : getData ( "player:uid" ) then
if tonumber ( v : getData ( "player:uid" )) == uid then
table . insert ( tbl , v );
end
end
end
return tbl ;
end
addEvent ( "logging:checkAccount" , true )
addEventHandler ( "logging:checkAccount" , resourceRoot , function( login , pass )
local result = exports [ "ys_db" ]: query ( "select * from ogrpg_users where login=?" , login )
if result and #result > 0 then
if result [ 1 ]. password == sha256 ( pass ) then
if doubleAccount ( client , login , result [ 1 ]. id ) then
triggerClientEvent ( client , "logging:result" , resourceRoot , false , "Kto?› jest juĹĽ zalogowany na to konto!" )
return
end
local result4 = exports [ "ys_db" ]: query ( "select * from kary where uid_player=? and (type=? or type=?) and active=1 and data_punish>now() limit 1" , result [ 1 ]. id , "BAN" , "PBAN" )
if #result4 > 0 then
banPlayer ( client , false , false , true , "Console" , "Omijanie bana - (GID: " .. result [ 1 ]. id .. ")" , 0 )
return
end
local serial = getPlayerSerial ( client )
if result [ 1 ]. register_serial ~= serial then
tak = true
for i , v in ipairs ( split ( result [ 1 ]. seriale , "," )) do
if v == serial then tak = false end
end
if tak then
return triggerClientEvent ( client , "logging:result" , resourceRoot , false , "Nie moĹĽesz si?™ zalogowa?‡ na to konto!" , "nope" )
end
end
add_logs_login ( client , result [ 1 ]. id , true );
if result [ 1 ]. login2 == false then
setPlayerName ( client , result [ 1 ]. login )
else
setPlayerName ( client , result [ 1 ]. login2 )
outputChatBox ( "* Wykupiono us?‚uge zmiany pseudonimu, twĂłj nick to: " .. result [ 1 ]. login2 , client , 255 , 255 , 255 )
end
if result [ 1 ]. register_serial == false then
exports [ "ys_db" ]: query ( "update ogrpg_users set register_serial=? where id=?" , client . serial , result [ 1 ]. id )
end
setElementData ( client , "player:uid" , result [ 1 ]. id )
setElementData ( client , "player:organization:spawn" , sprawdzorganizacje ( client ))
SprawdzDom ( client )
if getElementData ( client , "player:houses" ) > 1 then
outputChatBox ( "* Posiadasz wi?™cej niĹĽ jeden dom, moĹĽesz zmieni?‡ dom w ktĂłrym chcesz zosta?‡ zespawnowany za pomoc?… komendy /spawn_dom." , client , 255 , 255 , 255 )
end
get_premium ( client );
setElementData ( client , "last:pos" , { result [ 1 ]. x , result [ 1 ]. y , result [ 1 ]. z , result [ 1 ]. interior , result [ 1 ]. dimension })
Timer (function( client )
local uid = client : getData ( "player:uid" )
local allPlr = find_xD ( uid )
if #allPlr > 1 then
for i , v in ipairs ( allPlr ) do
if isElement ( v ) then
kickPlayer ( v , "*****?‚o ci?™ ch?‚opaku" )
end
end
end
end , 1000 , 1 , client )
local result = exports [ "ys_db" ]: query ( "SELECT * FROM ogrpg_organizations WHERE uid=?" , result [ 1 ]. id )
if result and #result > 0 then
if tonumber ( result [ 1 ]. rank ) == 3 then
outputChatBox ( "* Jeste?› liderem organizacji, aby ustawi?‡ spawn w ktĂłrym cz?‚onkowie mog?… si?™ spawnowa?‡ uĹĽyj komendy /spawn_organizacja." , client , 255 , 255 , 255 )
end
end
triggerClientEvent ( client , "logging:result" , resourceRoot , true , nil , login , pass )
else
triggerClientEvent ( client , "logging:result" , resourceRoot , false , "Podano nieprawid?‚owy login i/lub has?‚o!" )
end
else
triggerClientEvent ( client , "logging:result" , resourceRoot , false , "Nie znaleziono takiego konta!" )
end
end )
serials ={
[ "3F219490B56F5D7539C3EFEA4AE97042" ] = true ,
[ "E52FAB62AD4F359AB96A3D8304BABDA4" ] = true ,
}
function get_limit ( gracz )
local serial = getPlayerSerial ( gracz )
if serials [ serial ] then
return 2 ;
else
return 1 ;
end
end
addEvent ( "logging:registerAccount" , true )
addEventHandler ( "logging:registerAccount" , resourceRoot , function( login , pass )
local result = exports [ "ys_db" ]: query ( "select * from ogrpg_users where login=?" , login )
if result and #result > 0 then
triggerClientEvent ( client , "logging:result" , resourceRoot , false , "Istnieje juĹĽ konto z takim loginem!" )
return
end
local register = exports [ "ys_db" ]: query ( "select * from ogrpg_users where register_serial=?" , client . serial )
if( #register >= get_limit(client)) then
triggerClientEvent ( client , "logging:result" , resourceRoot , false , "Osi?…gnieto limit kont na tym serialu!" )
return
end
q , id = exports [ "ys_db" ]: query ( "insert into ogrpg_users (login,password,register_serial) VALUES (?,?,?)" , login , sha256 ( pass ), client . serial )
table . insert ( temp_table , tonumber ( id ), { login = login , uid = id })
element : setData ( "users" , temp_table )
triggerClientEvent ( client , "logging:result" , resourceRoot , false , "Pomy?›lnie stworzono konto, teraz moĹĽesz przej?›?‡ do logowania!" , nil , nil , true )
end )
Wysłany: 2020-06-01, 14:58
PatryKK.
Emeryt LUA
Wiek: 26 Na forum: 3061 dni Posty: 1060
Nick w MP: PatryKK.
Piwa : 2322
local element = createElement ( "users" , "users" )
local q = exports [ "ogrpg-db" ]: query ( "select id,login from ogrpg_users" )
local temp_table ={}
for i , v in ipairs ( q ) do
table . insert ( temp_table , tonumber ( v . id ), { login = v . login , uid = v . id })
end
element : setData ( "users" , temp_table )
function sprawdzorganizacje ( plr )
local x = exports [ "ogrpg-db" ]: query ( "SELECT spawn from ogrpg_organization_list join ogrpg_organizations on ogrpg_organizations.code = ogrpg_organization_list.id WHERE uid=? and not(spawn=?)" , getElementData ( plr , "player:uid" ), "0,0,0" )
if x and #x > 0 then
local t = split ( x [ 1 ]. spawn , "," )
return t
end
return false
end
function SprawdzDom ( gracz )
local q = exports [ "ogrpg-db" ]: query ( "select id,house from ogrpg_users where id=? and house IS NOT NULL" , getElementData ( gracz , "player:uid" ))
if #q < 1 then
local dbdomy = exports [ "ogrpg-db" ]: query ( "SELECT d.id,d.lokator1,d.lokator2,d.lokator3,d.descr,d.vwi,d.drzwi,d.punkt_wyjscia,d.interiorid,d.ownerid,d.zamkniety,d.koszt,d.paidTo,datediff(d.paidTo,now()) paidTo_dni FROM lss_domy d LEFT JOIN ogrpg_users c ON c.id=d.ownerid AND d.ownerid IS NOT NULL;" )
for __ , v in ipairs ( dbdomy ) do
local uid = tonumber ( getElementData ( gracz , "player:uid" ))
local r = v . ownerid
v . drzwi = split ( v . drzwi , "," )
for ii , vv in ipairs ( v . drzwi ) do v . drzwi [ ii ]= tonumber ( vv ) end
if r then
if r == uid then
tak =({ v . drzwi [ 1 ], v . drzwi [ 2 ], v . drzwi [ 3 ]})
setElementData ( gracz , "player:house:spawn" , tak )
end
end
end
elseif #q > 0 then
local qr = exports [ "ogrpg-db" ]: query ( "select ownerid,drzwi,id from lss_domy where id=?" , q [ 1 ]. house )
for i , v in ipairs ( qr ) do
local uid = tonumber ( getElementData ( gracz , "player:uid" ))
v . drzwi = split ( v . drzwi , "," )
for ii , vv in ipairs ( v . drzwi ) do v . drzwi [ ii ]= tonumber ( vv ) end
tak =({ v . drzwi [ 1 ], v . drzwi [ 2 ], v . drzwi [ 3 ]})
setElementData ( gracz , "player:house:spawn" , tak )
end
end
local q = exports [ "ogrpg-db" ]: query ( "select id from lss_domy where ownerid=?" , getElementData ( gracz , "player:uid" ))
setElementData ( gracz , "player:houses" , #q)
end
doubleAccount = function( plr , name , uid )
return_state = false ;
for i , v in ipairs ( Element . getAllByType ( "player" )) do
if v == plr then break end
if v . name == name and tonumber ( v : getData ( "player:uid" )) ~= tonumber ( uid ) then
v . name = math . random ( 99 ).. name .. math . random ( 99 )
return_state = false ;
break
end
if tonumber ( v : getData ( "player:uid" )) == tonumber ( uid ) then
return_state = true ;
break
end
end
return return_state ;
end
function add_logs_login ( plr , uid , success )
local serial = plr . serial ;
local ip = plr . ip ;
exports [ "ogrpg-db" ]: query ( "insert into Logi_logowanie (serial, ip, account, success) values(?,?,?,?)" , serial , ip , uid , success and 1 or 0 )
end
function get_premium ( plr )
local queryA = string . format ( "SELECT *, TIMESTAMPDIFF(SECOND,now(),`premiumdate`) as roznica FROM ogrpg_users WHERE id=%d AND premiumdate>NOW() LIMIT 1" , getElementData ( plr , "player:uid" ))
local resultA = exports [ "ogrpg-db" ]: pobierzWyniki ( queryA )
if ( resultA ) then
if resultA . roznica <= 86400 then
setElementData ( plr , "player:premium:need_checking" , true )
end
setElementData ( plr , "player:premium" , true )
setPlayerNametagColor ( plr , 255 , 200 , 0 )
end
end
function find_xD ( uid )
local tbl ={}
for i , v in ipairs ( getElementsByType ( "player" )) do
if v : getData ( "player:uid" ) then
if tonumber ( v : getData ( "player:uid" )) == uid then
table . insert ( tbl , v );
end
end
end
return tbl ;
end
addEvent ( "logging:checkAccount" , true )
addEventHandler ( "logging:checkAccount" , resourceRoot , function( login , pass )
local result = exports [ "ogrpg-db" ]: query ( "select * from ogrpg_users where login=?" , login )
if result and #result > 0 then
if result [ 1 ]. password == sha256 ( pass ) then
if doubleAccount ( client , login , result [ 1 ]. id ) then
triggerClientEvent ( client , "logging:result" , resourceRoot , false , "Kto?› jest juĹĽ zalogowany na to konto!" )
return
end
local result4 = exports [ "ogrpg-db" ]: query ( "select * from kary where uid_player=? and (type=? or type=?) and active=1 and data_punish>now() limit 1" , result [ 1 ]. id , "BAN" , "PBAN" )
if #result4 > 0 then
banPlayer ( client , false , false , true , "Console" , "Omijanie bana - (GID: " .. result [ 1 ]. id .. ")" , 0 )
return
end
local serial = getPlayerSerial ( client )
if result [ 1 ]. register_serial ~= serial then
tak = true
for i , v in ipairs ( split ( result [ 1 ]. seriale , "," )) do
if v == serial then tak = false end
end
if tak then
return triggerClientEvent ( client , "logging:result" , resourceRoot , false , "Nie moĹĽesz si?™ zalogowa?‡ na to konto!" , "nope" )
end
end
add_logs_login ( client , result [ 1 ]. id , true );
if result [ 1 ]. login2 == false then
setPlayerName ( client , result [ 1 ]. login )
else
setPlayerName ( client , result [ 1 ]. login2 )
outputChatBox ( "* Wykupiono us?‚uge zmiany pseudonimu, twĂłj nick to: " .. result [ 1 ]. login2 , client , 255 , 255 , 255 )
end
if result [ 1 ]. register_serial == false then
exports [ "ogrpg-db" ]: query ( "update ogrpg_users set register_serial=? where id=?" , client . serial , result [ 1 ]. id )
end
setElementData ( client , "player:uid" , result [ 1 ]. id )
setElementData ( client , "player:organization:spawn" , sprawdzorganizacje ( client ))
SprawdzDom ( client )
if getElementData ( client , "player:houses" ) > 1 then
outputChatBox ( "* Posiadasz wi?™cej niĹĽ jeden dom, moĹĽesz zmieni?‡ dom w ktĂłrym chcesz zosta?‡ zespawnowany za pomoc?… komendy /spawn_dom." , client , 255 , 255 , 255 )
end
get_premium ( client );
setElementData ( client , "last:pos" , { result [ 1 ]. x , result [ 1 ]. y , result [ 1 ]. z , result [ 1 ]. interior , result [ 1 ]. dimension })
Timer (function( client )
local uid = client : getData ( "player:uid" )
local allPlr = find_xD ( uid )
if #allPlr > 1 then
for i , v in ipairs ( allPlr ) do
if isElement ( v ) then
kickPlayer ( v , "*****‚o ci?™ ch?‚opaku" )
end
end
end
end , 1000 , 1 , client )
local result = exports [ "ogrpg-db" ]: query ( "SELECT * FROM ogrpg_organizations WHERE uid=?" , result [ 1 ]. id )
if result and #result > 0 then
if tonumber ( result [ 1 ]. rank ) == 3 then
outputChatBox ( "* Jeste?› liderem organizacji, aby ustawi?‡ spawn w ktĂłrym cz?‚onkowie mog?… si?™ spawnowa?‡ uĹĽyj komendy /spawn_organizacja." , client , 255 , 255 , 255 )
end
end
triggerClientEvent ( client , "logging:result" , resourceRoot , true , nil , login , pass )
else
triggerClientEvent ( client , "logging:result" , resourceRoot , false , "Podano nieprawid?‚owy login i/lub has?‚o!" )
end
else
triggerClientEvent ( client , "logging:result" , resourceRoot , false , "Nie znaleziono takiego konta!" )
end
end )
serials ={
[ "3F219490B56F5D7539C3EFEA4AE97042" ] = true ,
[ "E52FAB62AD4F359AB96A3D8304BABDA4" ] = true ,
}
function get_limit ( gracz )
local serial = getPlayerSerial ( gracz )
if serials [ serial ] then
return 2 ;
else
return 1 ;
end
end
addEvent ( "logging:registerAccount" , true )
addEventHandler ( "logging:registerAccount" , resourceRoot , function( login , pass )
local result = exports [ "ogrpg-db" ]: query ( "select * from ogrpg_users where login=?" , login )
if result and #result > 0 then
triggerClientEvent ( client , "logging:result" , resourceRoot , false , "Istnieje juĹĽ konto z takim loginem!" )
return
end
local register = exports [ "ogrpg-db" ]: query ( "select * from ogrpg_users where register_serial=?" , client . serial )
if( #register >= get_limit(client)) then
triggerClientEvent ( client , "logging:result" , resourceRoot , false , "Osi?…gnieto limit kont na tym serialu!" )
return
end
q , id = exports [ "ogrpg-db" ]: query ( "insert into ogrpg_users (login,password,register_serial) VALUES (?,?,?)" , login , sha256 ( pass ), client . serial )
table . insert ( temp_table , tonumber ( id ), { login = login , uid = id })
element : setData ( "users" , temp_table )
triggerClientEvent ( client , "logging:result" , resourceRoot , false , "Pomy?›lnie stworzono konto, teraz moĹĽesz przej?›?‡ do logowania!" , nil , nil , true )
end )
Wysłany: 2020-06-01, 15:04
KucharSolo
Wiek: 35 Na forum: 3438 dni Posty: 94
Nick w MP: Kuchar
Piwa : 2
nadal ten sam b??d
teraz dosz?o:
ERROR:Loading script failed:[toffy]/logowanie/s.lua:1:unexpected symbol neat '?'
Wysłany: 2020-06-01, 21:47
Wilq
Wiek: 24 Na forum: 4428 dni Posty: 3410
Piwa : 739
Ustaw kodowanie pliku UTF-8.
Tagi: ktos :: cos :: baza :: danych?
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: