NekeYT
Wiek: 23 Na forum: 2528 dni Posty: 58
Nick w MP: Cytrus
Piwa : 6
panel logowanie nie dzia?a, wyskakuj? b??dy
ERROR: Client (krecik_2121) triggered serverside event logowanie:zaloguj, but event is not added serverside
ERROR: Client (krecik_2121) triggered serverside event logowanie:rejestracja, but event is not added serverside [DUP x6]
kod:
--[[
Skrypt zosta ?& #8218; wykonany przez:
- Asper ( nezymr69 @ gmail . com ),
- Hardu ?& #8250; ([email protected] ).
]]
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
Ostatnio zmieniony przez Wilq 2021-01-20, 11:42, w całości zmieniany 1 raz