event logowanie:zaloguj pr?bujesz ztriggerowa? w client, gdzie ten event nie jest dodany po stronie servera.
nie do ko?ca rozumiem, prosi? bym o napraw? ca?ego kodu
--[[
Skrypt zosta? wykonany przez:
-Asper (nezymr69@gmail.com),
-Hardu? (rafox123.1990@o2.pl).
]]
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
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