czaszka
Wiek: 23 Na forum: 2273 dni Posty: 35
Nick w MP: Gangus*
Piwa : 9
killercycDDS ,
local mysqlForum
function mysqlForum_connect ()
mysql = dbConnect ( "mysql" , "dbname=forum-essa-byku;host=147.135.209.245" , "forum-essa" , "RrdorDm1XNbMHaUk" , "share=1" )
if not mysql then
outputDebugString ( "[rpg_login] Connection: false" )
else
outputDebugString ( "[rpg_login] Connection: true" )
end
end
addEventHandler ( "onResourceStart" , resourceRoot , mysqlForum_connect )
function mysqlForum_query (...)
local qh = dbQuery ( mysql , dbPrepareString ( mysql , ...))
if not qh then return false end
local result , num_affected_rows , last_insert_id = dbPoll ( qh , - 1 )
return result , num_affected_rows , last_insert_id
end
addEvent ( "onPlayerAccountLogin" , true )
local defpos = "1734.80078125, -1949.306640625, 14.1171875, 88, 0, 0" -- Domy ? lna pozycja musi by ? w stringu !
function auth ( username , password )
if not username then
triggerClientEvent ( source , "addErrorLoginText" , source , "B??d logowania. Kod b??du [ERR_A1]" )
return
end
if not password then
triggerClientEvent ( source , "addErrorLoginText" , source , "B??d logowania. Kod b??du [ERR_A2]" )
return
end
local q = exports . rpg_mysql : mysql_query ( "SELECT * FROM rpg_accounts WHERE username=? AND password=?" , username , md5 ( password ))
if #q > 1 then -- Znaleziono wi?cej ni? 1 usera o podanej kombinacji loginu i has?a
triggerClientEvent ( source , "addErrorLoginText" , source , "B??d logowania. Kod b??du [ERR_A3]" )
elseif #q < 1 then -- Nie znaleziono ?adnego usera o podanej kombinacji loginu i has?a
triggerClientEvent ( source , "addErrorLoginText" , source , "Taki u?ytkownik nie istnieje" )
else -- Jest tylko jeden user ! Hura !
local player = source
if not player then return end
local block = false
for i , v in pairs ( getElementsByType ( "player" )) do
if getElementData ( v , "user:uid" ) == q [ 1 ]. uid then
exports . rpg_noti : createNotification ( player , "error" , "Ten u?ytkownik jest ju? zalogowany" , 7000 )
block = true
return
end
end
if block then return end
triggerClientEvent ( player , "saveLoginXML" , player , username , password )
if q [ 1 ]. imie == "" and q [ 1 ]. nazwisko then
triggerClientEvent ( player , "openAccPanel" , player )
return end
if getElementData ( player , "loginpanel" ) then return end
player : setData ( "loginpanel" , true )
setTimer (function()
player : setData ( "loginpanel" , false )
end , 1000 , 1 )
triggerClientEvent ( player , "closeLoginPanel" , player )
-- local qCode = mysqlForum_query ( string . format ( "SELECT `authCode` FROM `connectCodes` WHERE `userName` = '%s'" , q [ 1 ]. imie .. " " .. q [ 1 ]. nazwisko ))
-- if #qCode > 0 then
-- setElementData ( player , "user:authCode" , qCode [ 1 ]. authCode )
-- end
if tostring ( q [ 1 ]. prolog ) == "0" then
triggerClientEvent ( player , "createLoadingWindow" , player , "Wczytywanie prologu" )
else
triggerClientEvent ( player , "createLoadingWindow" , player , "Wczytywanie postaci" )
end
setPlayerName ( player , string . format ( "%s" , q [ 1 ]. nazwisko ))
player : setData ( "user:money" , tonumber ( q [ 1 ]. money ))
player : setData ( "user:uid" , q [ 1 ]. uid )
player : setData ( "user:username" , q [ 1 ]. username )
player : setData ( "user:email" , q [ 1 ]. email )
player : setData ( "user:imie" , q [ 1 ]. imie )
player : setData ( "user:nazwisko" , q [ 1 ]. nazwisko )
player : setData ( "user:regdate" , q [ 1 ]. regdate )
player : setData ( "user:PulsCoins" , tonumber ( q [ 1 ]. PulsCoins ))
player : setData ( "user:serial" , q [ 1 ]. serial )
player : setData ( "user:ip" , q [ 1 ]. ip )
player : setData ( "user:skin" , q [ 1 ]. skin )
player : setData ( "user:stamina" , tonumber ( q [ 1 ]. stamina ))
player : setData ( "user:EQskin" , q [ 1 ]. EQskin )
player : setData ( "user:plec" , q [ 1 ]. plec )
player : setData ( "user:rasa" , q [ 1 ]. rasa )
player : setData ( "user:bankmoney" , tonumber ( q [ 1 ]. bankmoney ))
player : setData ( "user:gamescore" , tonumber ( q [ 1 ]. gamescore ))
player : setData ( "user:job" , q [ 1 ]. job )
player : setData ( "user:jobmoney" , tonumber ( q [ 1 ]. jobmoney ))
player : setData ( "user:org" , q [ 1 ]. organization )
player : setData ( "user:pjA" , q [ 1 ]. pjA )
player : setData ( "user:pjB" , q [ 1 ]. pjB )
player : setData ( "user:pjC" , q [ 1 ]. pjC )
player : setData ( "user:onlinetime" , tonumber ( q [ 1 ]. onlinetime ))
player : setData ( "user:afktime" , tonumber ( q [ 1 ]. afktime ))
player : setData ( "user:aduty" , false )
player : setData ( "user:login" , true )
player : setData ( "hud:settings" , q [ 1 ]. hudSettings )
player : setData ( "shader:settings" , q [ 1 ]. shaderSettings )
player : setData ( "player:settings" , q [ 1 ]. playerSettings )
player : setData ( "user:dailySpin" , q [ 1 ]. freeSpin )
player : setData ( "user:bwTime" , q [ 1 ]. bwTime )
if tostring ( q [ 1 ]. dm ) == "1" then
player : setData ( "user:dm" , true )
toggleControl ( player , "fire" , true )
toggleControl ( player , "aim_weapon" , true )
toggleControl ( player , "vehicle_fire" , true )
toggleControl ( player , "vehicle_secondary_fire" , true )
else
player : setData ( "user:dm" , false )
toggleControl ( player , "fire" , false )
toggleControl ( player , "aim_weapon" , false )
toggleControl ( player , "vehicle_fire" , false )
toggleControl ( player , "vehicle_secondary_fire" , false )
end
if string . len ( q [ 1 ]. serial ) < 1 then
local serial = getPlayerSerial ( player )
local q2 = exports . rpg_mysql : mysql_query ( "UPDATE rpg_accounts SET serial=? WHERE uid=?" , serial , q [ 1 ]. uid )
if not q2 then
triggerClientEvent ( source , "addErrorLoginText" , source , "B??d logowania. Kod b??du [ERR_A4]" )
return
end
end
if string . len ( q [ 1 ]. ip ) < 1 then
local ip = getPlayerIP ( player )
local q3 = exports . rpg_mysql : mysql_query ( "UPDATE rpg_accounts SET ip=? WHERE uid=?" , ip , q [ 1 ]. uid )
if not q3 then
triggerClientEvent ( source , "addErrorLoginText" , source , "B??d logowania. Kod b??du [ERR_A5]" )
return
end
end
local q2 = exports . rpg_mysql : mysql_query ( "SELECT * FROM rpg_admins WHERE user=?" , q [ 1 ]. uid )
if #q2 > 0 then
local adminQuerry = exports . rpg_mysql : mysql_query ( "SELECT * FROM rpg_rankList WHERE id=?" , q2 [ 1 ]. rankID )
player : setData ( "user:admin" , true )
player : setData ( "user:adminRankID" , tonumber ( q2 [ 1 ]. rankID ))
player : setData ( "admin:name" , tostring ( adminQuerry [ 1 ]. RankName ))
player : setData ( "user:aperm" , q2 [ 1 ])
local colorAdmin = split ( adminQuerry [ 1 ]. RGB , "," )
player : setData ( "admin:colorR" , tonumber ( colorAdmin [ 1 ]))
player : setData ( "admin:colorG" , tonumber ( colorAdmin [ 2 ]))
player : setData ( "admin:colorB" , tonumber ( colorAdmin [ 3 ]))
player : setData ( "admin:silentEnter" , q2 [ 1 ]. silentEnter )
else
player : setData ( "user:admin" , false )
player : setData ( "user:aperm" , false )
end
if q [ 1 ]. premium ~= "" and q [ 1 ]. premium ~= nil then
local pd = split ( q [ 1 ]. premium , " " )
local pd1 = split ( pd [ 1 ], "-" )
local pd2 = split ( pd [ 2 ], ":" )
local ts1 = getTimestamp ()
local ts2 = getTimestamp ( pd1 [ 1 ], pd1 [ 2 ], pd1 [ 3 ], pd2 [ 1 ], pd2 [ 2 ], pd2 [ 3 ])
if ts1 <= ts2 then
local fs = ts2 - ts1
local p_left = math . floor ( fs / 86400 )
if p_left < 1 then
p_left = math . floor ( fs / 3600 )
if p_left < 1 then
p_left = math . floor ( fs / 60 ).. "m"
else
p_left = p_left .. "h"
end
else
p_left = p_left .. "d"
end
player : setData ( "user:premium" , true )
player : setData ( "user:premium:left" , p_left )
player : setData ( "user:premium:ts" , ts2 )
setPlayerNametagColor ( player , 255 , 200 , 0 )
setTimer (function() exports . rpg_noti : createNotification ( player , "info" , "Twoje konto premium pozostanie wa?ne jeszcze przez oko?o " .. p_left , 7000 ) end , 4000 , 1 )
else
player : setData ( "user:premium" , false )
player : setData ( "user:premium:left" , false )
end
else
player : setData ( "user:premium" , false )
player : setData ( "user:premium:left" , false )
end
setTimer (function ()
if not player then return end
triggerClientEvent ( player , "removeLoadingWindow" , player )
local pos = split ( q [ 1 ]. position , "," )
spawnPlayer ( player , pos [ 1 ], pos [ 2 ], pos [ 3 ], pos [ 4 ], q [ 1 ]. skin , pos [ 5 ], pos [ 6 ])
setElementHealth ( player , q [ 1 ]. health )
setPedArmor ( player , q [ 1 ]. armor )
setCameraTarget ( player , player )
player : setData ( "user:logged" , true )
if tonumber ( pos [ 5 ]) < 1 then
player : setData ( "hud:radar" , true )
end
player : setData ( "hud:enabled" , true )
local hudSettings = split ( getElementData ( player , "hud:settings" ), ',' )
if tonumber ( hudSettings [ 4 ]) == 1 then
showChat ( player , true )
end
if tonumber ( getElementData ( player , "admin:silentEnter" )) == 1 then
setElementAlpha ( player , 0 )
player : setData ( "admin:inv" , true )
end
player : setData ( "user:prolog" , q [ 1 ]. prolog )
if tostring ( q [ 1 ]. prolog ) == "0" then
setTimer (function()
triggerClientEvent ( player , "startProlog" , player )
end , 500 , 1 )
end
if tostring ( q [ 1 ]. plec ) == "2" then
setPedWalkingStyle ( player , 129 )
else
setPedWalkingStyle ( player , 118 )
end
end , 3000 , 1 )
triggerClientEvent ( player , "core:blipyaut" , player , player )
triggerEvent ( "loadPlayerXP" , root , player )
loadImgFormForum ( player , q [ 1 ]. imie , q [ 1 ]. nazwisko )
player : setData ( "user:logged" , true )
triggerEvent ( "syncPlayerItemsWhenLogIn" , root , player )
end
end
addEvent ( "auth" , true )
addEventHandler ( "auth" , getRootElement (), auth )
function loadImgFormForum ( plr , imie , nazwisko )
local q = mysqlForum_query ( string . format ( "SELECT pp_thumb_photo FROM `core_members` WHERE `member_title` = '%s' LIMIT 1" , tostring ( imie .. " " .. nazwisko )))
-- if #q > 0 then
-- if not q [ 1 ]. pp_thumb_photo then return end
-- getAvatar ( plr , tostring ( "https://forum.empiresantos.pl/uploads/" .. q [ 1 ]. pp_thumb_photo ))
-- end
end
function getAvatar ( plr , link )
if not link then return end
fetchRemote ( link , callBackAvatar , "" , false , plr , link )
end
function callBackAvatar ( data , error , plr , link )
if error and error > 0 then print( "[AVATAR] fetchRemote error number: " .. error .. "!" ) return end
triggerClientEvent ( plr , 'setHudAvatar' , plr , data )
end
function register ( username , password , email )
if not username then
triggerClientEvent ( source , "addErrorLoginText" , source , "B??d rejestracji. Kod b??du [ERR_R1]" )
return
end
if not password then
triggerClientEvent ( source , "addErrorLoginText" , source , "B??d rejestracji. Kod b??du [ERR_R2]" )
return
end
if not email then
triggerClientEvent ( source , "addErrorLoginText" , source , "B??d rejestracji. Kod b??du [ERR_R3]" )
return
end
local q1 = exports . rpg_mysql : mysql_query ( "SELECT username FROM rpg_accounts WHERE username=?" , username )
if not q1 then
triggerClientEvent ( source , "addErrorLoginText" , source , "B??d rejestracji. Kod b??du [ERR_R4]" )
return
elseif #q1 > 0 then
triggerClientEvent ( source , "addErrorLoginText" , source , "Podany login jest ju? w u?yciu" )
return
end
local q2 = exports . rpg_mysql : mysql_query ( "SELECT email FROM rpg_accounts WHERE email=?" , email )
if not q2 then
triggerClientEvent ( source , "addErrorLoginText" , source , "B??d rejestracji. Kod b??du [ERR_R5]" )
return
elseif #q2 > 0 then
triggerClientEvent ( source , "addErrorLoginText" , source , "Podany adres E-Mail jest ju? w u?yciu" )
return
end
local ip = getPlayerIP ( source )
local serial = getPlayerSerial ( source )
local q3 = exports . rpg_mysql : mysql_query ( "INSERT INTO rpg_accounts SET username=?, password=?, email=?, serial=?, ip=?, position=?, premium=''" , username , md5 ( password ), email , serial , ip , defpos )
if q3 then
triggerClientEvent ( source , "addErrorLoginText" , source , "Twoje konto zosta?o poprawnie utworzone \nMo?esz si? teraz zalogowa? i utworzy? swoj? posta?" , "success" )
else
triggerClientEvent ( source , "addErrorLoginText" , source , "B??d rejestracji. Kod b??du [ERR_R7]" )
end
end
addEvent ( "register" , true )
addEventHandler ( "register" , getRootElement (), register )
function accCreate ( imie , nazwisko , plec , rasa , skin , username , password )
imie = string . lower ( imie )
nazwisko = string . lower ( nazwisko )
imie = imie : gsub ( "^%l" , string . upper )
nazwisko = nazwisko : gsub ( "^%l" , string . upper )
local userName = imie .. " " .. nazwisko
local q3 = exports . rpg_mysql : mysql_query ( "SELECT imie AND nazwisko FROM rpg_accounts WHERE imie=? AND nazwisko=?" , imie , nazwisko )
if not q3 then
triggerClientEvent ( source , "addErrorLoginText" , source , "B??d rejestracji. Kod b??du [ERR_C1]" )
return
elseif #q3 > 0 then
triggerClientEvent ( source , "addErrorLoginText" , source , "Osoba o takim imieniu i nazwisku istnieje" )
return
end
local q3 = exports . rpg_mysql : mysql_query ( "UPDATE rpg_accounts SET imie=?, nazwisko=?, plec=?, EQSkin=-1, skin=?, rasa=? WHERE username=?" , imie , nazwisko , plec , skin , rasa , username )
local q4 = mysqlForum_query ( string . format ( "INSERT INTO `connectCodes`(`authCode`, `userName`) VALUES ('%s','%s')" , md5 ( userName ), userName ))
if q3 then
triggerClientEvent ( source , "closeLoginPanel" , source )
auth ( username , password )
else
triggerClientEvent ( source , "addErrorLoginText" , source , "B??d rejestracji. Kod b??du [ERR_C2]" )
end
end
addEvent ( "accCreate" , true )
addEventHandler ( "accCreate" , getRootElement (), accCreate )
function quit ( quitType )
player = source
exports . rpg_items : disarmPlayer ( player )
local uid = getElementData ( player , "user:uid" )
if not uid then return end
local money = getElementData ( player , "user:money" )
local bankmoney = getElementData ( player , "user:bankmoney" )
local hasToPay = getElementData ( player , "gasStationPlayer:allToPay" )
if hasToPay then
if hasToPay > 0 then
if money - hasToPay < 0 then
bankmoney = bankmoney - hasToPay
else
money = money - hasToPay
end
end
end
if getElementData ( player , "user:prolog" ) then prolog = getElementData ( player , "user:prolog" ) else prolog = 0 end
local freeSpin = getElementData ( player , "user:dailySpin" )
local gamescore = getElementData ( player , "user:gamescore" )
local PulsCoins = getElementData ( player , "user:PulsCoins" )
local skin = getElementData ( player , "user:skin" )
local EQskin = getElementData ( player , "user:EQskin" )
local x , y , z = getElementPosition ( player )
local _ , _ , rz = getElementRotation ( player )
local int = getElementInterior ( player )
local dim = getElementDimension ( player )
if getElementData ( player , "player:positionOnQuit" ) then
pos = getElementData ( player , "player:positionOnQuit" )
x , y , z = pos [ 1 ], pos [ 2 ], pos [ 3 ]
int = pos [ 4 ] and pos [ 4 ] or 0
dim = pos [ 5 ] and pos [ 5 ] or 0
end
local health = getElementHealth ( player )
local armor = getPedArmor ( player )
local stamina = getElementData ( player , "user:stamina" )
local pos = x .. ", " .. y .. ", " .. z .. ", " .. rz .. ", " .. int .. ", " .. dim
local job = getElementData ( player , "user:job" ) or 0
local jobmoney = getElementData ( player , "user:jobmoney" ) or 0
local onlinetime = getElementData ( player , "user:onlinetime" )
local afktime = getElementData ( player , "user:afktime" )
local hudSettings = getElementData ( player , "hud:settings" )
local shaderSettings = getElementData ( player , "shader:settings" )
local playerSettings = getElementData ( player , "player:settings" )
local bwTime = getElementData ( player , "user:bwTime" )
local xp = getElementData ( player , "user:xp" )
local lvl = getElementData ( player , "user:lvl" )
local skillPoints = getElementData ( player , "user:skillPoints" )
if getElementData ( player , "user:dm" ) then dm = 1 else dm = 0 end
local q = exports . rpg_mysql : mysql_query ( "UPDATE rpg_accounts SET money=?, bankmoney=?, gamescore=?, skin=?, EQskin=?, position=?, health=?, armor=?, stamina=?, job=?, jobmoney=?, onlinetime=?, afktime = ?, PulsCoins=?, hudSettings = ?, shaderSettings = ?, playerSettings = ?, freeSpin = ?, prolog=?, bwTime = ?, skillPoints = ?, xp = ?, lvl = ?, dm = ? WHERE uid=?" , money , bankmoney , gamescore , skin , EQskin , pos , health , armor , stamina , job , jobmoney , onlinetime , afktime , PulsCoins , hudSettings , shaderSettings , playerSettings , freeSpin , prolog , bwTime , skillPoints , xp , lvl , dm , uid )
if not q then
outputDebugString ( "[rpg_accounts] Wyst?pi? problem z zapisywaniem gracza o UID " .. uid )
end
end
addEventHandler ( "onPlayerQuit" , getRootElement (), quit )
function getUpdate ( playerSource )
local updateList = false
local qList = exports . rpg_mysql : mysql_query ( "SELECT * FROM rpg_updates ORDER BY id DESC" )
for i , v in ipairs ( qList ) do
if not updateList then
updateList = v . Text
end
end
----------- ADMINI ---------
local checkPlayerTable = {}
local checkPlayer = ''
local allAdminTable = {}
for _ , id in ipairs ( exports . rpg_mysql : mysql_query ( "SELECT * FROM rpg_rankList" )) do
local rankId = id [ "id" ]
local rgbTable = split ( id [ "RGB" ], "," )
local hex = RGBToHex ( tonumber ( rgbTable [ 1 ]), tonumber ( rgbTable [ 2 ]), tonumber ( rgbTable [ 3 ]))
table . insert ( allAdminTable , tostring ( hex .. "" .. id [ "RankNamePrular" ].. ":" ))
for _ , v in ipairs ( exports . rpg_mysql : mysql_query ( "SELECT * FROM rpg_admins" )) do
for _ , player in ipairs ( getElementsByType ( "player" )) do
if getElementData ( player , "user:logged" ) then
if getElementData ( player , "user:adminRankID" ) == rankId then
local dane = getElementData ( player , "user:imie" ).. " " .. getElementData ( player , "user:nazwisko" )
if not string . find ( checkPlayer , v [ "Nick" ]) then
if dane == v [ "Nick" ] and not getElementData ( player , "admin:inv" ) then
checkPlayer = tostring ( checkPlayer .. '\n#ffffff• ' .. tostring ( v [ "Nick" ]).. '#00ff00 (ONLINE)' )
table . insert ( allAdminTable , tostring ( '#ffffff• ' .. tostring ( v [ "Nick" ]).. '#00ff00 (ONLINE)' ))
end
end
end
end
end
end
for _ , v in ipairs ( exports . rpg_mysql : mysql_query ( "SELECT * FROM rpg_admins" )) do
if not string . find ( checkPlayer , v [ "Nick" ]) then
if v [ "rankID" ] == rankId then
checkPlayer = tostring ( checkPlayer .. '\n#ffffff• ' .. tostring ( v [ "Nick" ]).. 'ff0000 (OFFLINE)' )
table . insert ( allAdminTable , tostring ( '#ffffff• ' .. tostring ( v [ "Nick" ]).. '#ff0000 (OFFLINE)' ))
end
end
end
rankId = rankId + 1
end
triggerClientEvent ( playerSource , "addUpdate" , playerSource , allAdminTable , updateList )
end
addEvent ( "getUpdate" , true )
addEventHandler ( "getUpdate" , resourceRoot , getUpdate )
function respawn ( plr )
setElementPosition ( plr , 1727.27734375 , - 1912.0439453125 , 13.563561439514 )
setElementRotation ( plr , 0 , 0 , 88 )
end
addEvent ( "setPlayerOnSpawn" , true )
addEventHandler ( "setPlayerOnSpawn" , resourceRoot , respawn )
----------------
---- UTILS ----
----------------
function getKoncowka ( time , k1 , k2 , k3 )
if time == 0 then
return k1
elseif time == 1 then
return k2
else
return k3
end
end
function getTimestamp ( year , month , day , hour , minute , second )
-- initiate variables
local monthseconds = { 2678400 , 2419200 , 2678400 , 2592000 , 2678400 , 2592000 , 2678400 , 2678400 , 2592000 , 2678400 , 2592000 , 2678400 }
local timestamp = 0
local datetime = getRealTime ()
year , month , day = year or datetime . year + 1900 , month or datetime . month + 1 , day or datetime . monthday
hour , minute , second = hour or datetime . hour , minute or datetime . minute , second or datetime . second
-- calculate timestamp
for i = 1970 , year - 1 do timestamp = timestamp + ( isLeapYear ( i ) and 31622400 or 31536000 ) end
for i = 1 , month - 1 do timestamp = timestamp + (( isLeapYear ( year ) and i == 2 ) and 2505600 or monthseconds [ i ]) end
timestamp = timestamp + 86400 * ( day - 1 ) + 3600 * hour + 60 * minute + second
timestamp = timestamp - 3600 -- GMT + 1 compensation
if datetime . isdst then timestamp = timestamp - 3600 end
return timestamp
end
function isLeapYear ( year )
if year then year = math . floor ( year )
else year = getRealTime (). year + 1900 end
return (( year % 4 == 0 and year % 100 ~= 0 ) or year % 400 == 0 )
end
function RGBToHex ( red , green , blue , alpha )
if(( red < 0 or red > 255 or green < 0 or green > 255 or blue < 0 or blue > 255 ) or ( alpha and ( alpha < 0 or alpha > 255 ))) then
return nil
end
if( alpha ) then
return string . format ( "#%.2X%.2X%.2X%.2X" , red , green , blue , alpha )
else
return string . format ( "#%.2X%.2X%.2X" , red , green , blue )
end
end
setTimer (function()
local time = getTimestamp ()
local ilosc = 0
for i , v in ipairs ( getElementsByType ( "player" )) do
if getElementData ( v , "user:logged" ) and getElementData ( v , "user:uid" ) then
quitUpdate ( v )
ilosc = ilosc + 1
end
end
print( "[AUTO ZAPIS] Zapisano " .. ilosc .. " graczy w czasie " ..( getTimestamp () - time ).. " ms" )
end , 120000 , 0 )
function quitUpdate ( player )
local uid = getElementData ( player , "user:uid" )
if not uid then return end
local money = getElementData ( player , "user:money" )
local bankmoney = getElementData ( player , "user:bankmoney" )
local hasToPay = getElementData ( player , "gasStationPlayer:allToPay" )
if hasToPay then
if hasToPay > 0 then
if money - hasToPay < 0 then
bankmoney = bankmoney - hasToPay
else
money = money - hasToPay
end
end
end
if getElementData ( player , "user:prolog" ) then prolog = getElementData ( player , "user:prolog" ) else prolog = 0 end
local freeSpin = getElementData ( player , "user:dailySpin" )
local gamescore = getElementData ( player , "user:gamescore" )
local PulsCoins = getElementData ( player , "user:PulsCoins" )
local skin = getElementData ( player , "user:skin" )
local EQskin = getElementData ( player , "user:EQskin" )
local x , y , z = getElementPosition ( player )
local _ , _ , rz = getElementRotation ( player )
local int = getElementInterior ( player )
local dim = getElementDimension ( player )
if getElementData ( player , "player:positionOnQuit" ) then
pos = getElementData ( player , "player:positionOnQuit" )
x , y , z = pos [ 1 ], pos [ 2 ], pos [ 3 ]
int = pos [ 4 ] and pos [ 4 ] or 0
dim = pos [ 5 ] and pos [ 5 ] or 0
end
local health = getElementHealth ( player )
local armor = getPedArmor ( player )
local stamina = getElementData ( player , "user:stamina" )
local pos = x .. ", " .. y .. ", " .. z .. ", " .. rz .. ", " .. int .. ", " .. dim
local job = getElementData ( player , "user:job" ) or 0
local jobmoney = getElementData ( player , "user:jobmoney" ) or 0
local onlinetime = getElementData ( player , "user:onlinetime" )
local afktime = getElementData ( player , "user:afktime" )
local hudSettings = getElementData ( player , "hud:settings" )
local shaderSettings = getElementData ( player , "shader:settings" )
local playerSettings = getElementData ( player , "player:settings" )
local bwTime = getElementData ( player , "user:bwTime" )
local xp = getElementData ( player , "user:xp" )
local lvl = getElementData ( player , "user:lvl" )
local skillPoints = getElementData ( player , "user:skillPoints" )
if getElementData ( player , "user:dm" ) then dm = 1 else dm = 0 end
local q = exports . rpg_mysql : mysql_query ( "UPDATE rpg_accounts SET money=?, bankmoney=?, gamescore=?, skin=?, EQskin=?, position=?, health=?, armor=?, stamina=?, job=?, jobmoney=?, onlinetime=?, afktime = ?, PulsCoins=?, hudSettings = ?, shaderSettings = ?, playerSettings = ?, freeSpin = ?, prolog=?, bwTime = ?, skillPoints = ?, xp = ?, lvl = ?, dm = ? WHERE uid=?" , money , bankmoney , gamescore , skin , EQskin , pos , health , armor , stamina , job , jobmoney , onlinetime , afktime , PulsCoins , hudSettings , shaderSettings , playerSettings , freeSpin , prolog , bwTime , skillPoints , xp , lvl , dm , uid )
if not q then
outputDebugString ( "[rpg_accounts] Wyst?pi? problem z zapisywaniem gracza o UID " .. uid )
end
end
Ostatnio zmieniony przez PatryKK. 2020-08-28, 14:46, w całości zmieniany 1 raz