Advertisement
Guest User

Untitled

a guest
Jan 6th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.75 KB | None | 0 0
  1. local remaining
  2. local connection = {}
  3. function init ( res )
  4. if res == getThisResource() then
  5. connection = exports["saw_mysql"]:getConnection()
  6. end
  7. end
  8. addEventHandler ( "onResourceStart", getRootElement(), init )
  9.  
  10. addEvent ( "checkRes", true )
  11. addEventHandler ( "checkRes", root, function ( width )
  12. if width < 1024 then
  13. kickPlayer( client, "Minimum felbontás: 1024 x 768." )
  14. end
  15. end)
  16.  
  17. local owners = {
  18. ['6E338887A77346CAD4260BE4E52AEBA4']=true; -- ExTasY
  19. ['6891CDE528817C917FD3EE0E684EABE4']=true; -- Balu
  20. }
  21.  
  22. function loginS ( felhasz, jelszo, thePlayer )
  23. local qh = dbQuery( connection, "SELECT * FROM account WHERE user = ?", felhasz)
  24. local serial1 = getPlayerSerial(client)
  25. local result = dbPoll ( qh, -1 )
  26. dbFree( qh )
  27. local count = 0
  28. local pw
  29. u = nil
  30. pw = nil
  31. if result == nil then
  32. exports.srp_box:createSmallNotification(client,"A bejelentkezés nem biztonságos!\nKérlek jelezd a vezetőség felé!", 3)
  33. return
  34. end
  35. if result then
  36. for _, row in ipairs ( result ) do
  37. u = string.lower(row["user"])
  38. pw = string.lower(row["password"])
  39. id = row["id"]
  40. acc = row["id"]
  41. admin = row["admin"]
  42. helper = row["helper"]
  43. banned = row["banned"]
  44. bwarn = tonumber ( row["warn"] )
  45. anick = row["anick"]
  46. serial = row["serial"]
  47. serialChange = row["serialChange"]
  48. end
  49. if u == nil or u == "" then
  50. if not owners [ getPlayerSerial ( client ) ] then
  51. exports.srp_box:createSmallNotification(client,"Az általad megadott felhasználónév nem létezik.\n(Ellenőrizd, nincs-e bekapcsolva a Caps Lock.)", 1)
  52. return
  53. end
  54. end
  55. if serialChange == 1 then
  56. local exec = dbExec ( connection, "UPDATE `account` SET `serialChange` = 0, `serial` = ? WHERE id = ?",serial1, id )
  57. elseif not (serial == serial1) then
  58. if not owners [ getPlayerSerial ( client ) ] then
  59. exports.srp_box:createSmallNotification(client,"Ez a felhasználónév nem a te számitógépedhez van társitva.", 1)
  60. return
  61. end
  62. end
  63. if owners[ getPlayerSerial ( client ) ] then
  64. if u == nil then
  65. exports.srp_box:createSmallNotification(client,"Főnök, ez a felhasználónév nem létezik!", 1)
  66. return
  67. end
  68. end
  69. if pw ~= string.lower(md5(jelszo)) then
  70. if not owners [ getPlayerSerial ( client ) ] then
  71. exports.srp_box:createSmallNotification(client,"Az általad megadott jelszó helytelen.\(Ellenőrizd, nincs-e bekapcsolva a Caps Lock.)", 1)
  72. return
  73. end
  74. end
  75. if tonumber ( banned ) and banned == 1 then
  76. kickPlayer(client,"SoulGaming", "Account zárolva!")
  77. return
  78. end
  79. if tonumber ( bwarn ) then
  80. setElementData(thePlayer, "bwarn", warn)
  81. end
  82. setElementData(source, "username", u)
  83. setElementData(source, "accountID", id)
  84. setElementData(source, "anick", anick)
  85. setElementData(source, "banned", 0)
  86. setElementData(source, "adminlevel", admin)
  87. setElementData(source, "helperlevel", helper)
  88.  
  89. if ( helper ~= 0 ) then
  90. setElementData(source, "adminduty", 1)
  91. end
  92.  
  93. selectChar(thePlayer)
  94. end
  95. end
  96. addEvent( "loginS", true )
  97. addEventHandler( "loginS", root, loginS )
  98.  
  99. function selectChar(source)
  100. local accid = getElementData(source,"accountID")
  101. local qh = dbQuery( connection, "SELECT * FROM `character` WHERE `acc`=? LIMIT 1", accid)
  102. local result, lineNumber = dbPoll ( qh, -1 )
  103. if(result) then
  104. local ip = getPlayerIP ( source )
  105. local serial = getPlayerSerial ( source )
  106. local time = getRealTime()
  107. local rTimestemp = time.timestamp
  108. local username = getElementData(source, "username")
  109. if (username == "") then username = "root" end
  110. if(lineNumber > 0) then
  111. for _, rows in ipairs( result ) do
  112. level = rows["level"]
  113. xp = rows["xp"]
  114. ehseg = rows["ehseg"]
  115. szomj = rows["szomj"]
  116. kid = rows["id"]
  117. skin = rows["skin"]
  118. x = rows["x"]
  119. y = rows["y"]
  120. z = rows["z"]
  121. rz = rows["rz"]
  122. nevve = rows["nev"]
  123. inti = rows["inti"]
  124. dim = rows["dim"]
  125. jail = rows["jail"]
  126. adminjail_time = rows["adminjail_time"]
  127. adminjail_reason = rows["adminjail_reason"]
  128. adminjail_by = rows["adminjail_by"]
  129. adminjail_timestamp = rows["adminjail_timestamp"]
  130. characcepted = rows["accepted"]
  131. group_member = rows["group_member"]
  132. group_leader = rows["group_leader"]
  133. group_rank = rows["group_rank"]
  134. end
  135. setElementModel(source, skin)
  136. setElementData(source, "characterID", kid)
  137.  
  138. setElementData(source, "ehseg", ehseg)
  139. setElementData(source, "szomj", szomj)
  140.  
  141. setElementData(source, "level", level)
  142. setElementData(source, "xp", xp)
  143.  
  144. setElementData(source, "spawnPos", x..","..y..","..z)
  145. setElementData(source, "inti", inti)
  146. setElementData(source, "dim", dim)
  147. setElementData(source, "name2", nevve )
  148. setElementData(source, "adminduty", 0)
  149. setElementData(source, "jail", jail )
  150. setElementData(source, "nowtick", adminjail_time )
  151. setElementData(source, "jailreason", adminjail_reason )
  152. setElementData(source, "jailedby", adminjail_by )
  153. setElementData(source, "jailedat", adminjail_timestamp )
  154. setElementData(source, "characcepted", characcepted )
  155.  
  156. triggerClientEvent(source, "chooseCharacter", source)
  157. setPlayerName(source, string.gsub(getElementData(source, "name2"), " ", "_"))
  158. dbExec( connection, "INSERT INTO connections SET name=?, ip=?, serial=?, time=?, type=2", getPlayerName ( source ), ip, serial, rTimestemp)
  159. exports.srp_global:sendAdminMessage ( 1, "[SRP - Admin]:#FFFFFF " ..string.gsub(getPlayerName ( source ), "_", " ").. " (" .. username ..") bejelentkezett a szerverre.", 0, 153, 255, true )
  160. else
  161. triggerClientEvent(source, "createChar", source)
  162. exports.srp_global:sendAdminMessage ( 1, "[SRP - Admin]:#FFFFFF " ..string.gsub(getPlayerName ( source ), "_", " ").. " (" .. username ..") bejelentkezett a szerverre.", 0, 153, 255, true )
  163. end
  164. end
  165. end
  166.  
  167. function registerS ( felhasz, jelszo, jelszo2, email )
  168. if string.len(felhasz) < 4 then
  169. exports.srp_box:createSmallNotification(client,"Felhasználónév minimum 4 karakter legyen!", 1)
  170. return
  171. elseif string.len(jelszo) < 5 then
  172. exports.srp_box:createSmallNotification(client,"Jelszó minimum 5 karakter legyen!", 1)
  173. return
  174. elseif not string.find(email, "@") then
  175. exports.srp_box:createSmallNotification(client,"Kérlek valós e-mail címet adj meg.", 1)
  176. return
  177. elseif not jelszo == jelszo2 then
  178. exports.srp_box:createSmallNotification(client,"A két jelszó nem egyezik meg.", 1)
  179. return
  180. end
  181. local qh = dbQuery( connection, "SELECT * FROM `account`")
  182. local result = dbPoll ( qh, -1 )
  183. serial = getPlayerSerial(client)
  184. if result then
  185. for _, row in ipairs ( result ) do
  186. if row["user"] == felhasz then
  187. exports.srp_box:createSmallNotification(client,"Ez a felhasználónév már foglalt! ( "..felhasz.." )", 3)
  188. return
  189. elseif row["serial"] == serial then
  190. if not owners [ getPlayerSerial ( client ) ] then
  191. exports.srp_box:createSmallNotification(client,"Már regisztráltál erről a számitógépről egy felhasználót!", 3)
  192. return
  193. end
  194. end
  195. end
  196. end
  197. exports.srp_box:createSmallNotification(client,"Sikeres regisztrácó! Kérlek lépj be! ( "..felhasz.." )", 3)
  198. triggerClientEvent ( client, "regSuccesC", client)
  199. local qhh = dbExec( connection, "INSERT INTO account SET user = ?, password = ?, email = ?, pp = 0, serial = ?", felhasz, string.lower(md5(jelszo)), string.lower(email), serial)
  200. if qhh == false then
  201. exports.srp_box:createSmallNotification(client,"Sikertelen regisztrácó?! WUT??\n Kérlek keress fel egy fejlesztőt!", 3)
  202. return
  203. end
  204. end
  205. addEvent( "registerS", true )
  206. addEventHandler( "registerS", root, registerS )
  207.  
  208. function succes(client)
  209. triggerClientEvent ( client, "loginSuccesC", client)
  210. setElementData(client, "logged", true, true)
  211. fadeCamera(client, true)
  212. triggerClientEvent ( client, "loginSuccesC2", client)
  213. end
  214.  
  215.  
  216. addEvent("checkPlayerBanState", true)
  217. addEventHandler("checkPlayerBanState", getRootElement(),
  218. function()
  219. local serial = getPlayerSerial(source)
  220. local query = dbQuery(connection,"SELECT * FROM bans WHERE serial=?",serial)
  221. local qh = dbPoll(query, -1)
  222. local playerSerial, timeStamp, bannedBy, reason
  223. if tonumber(#qh) > 0 then
  224. for k, data in ipairs (qh) do
  225. playerSerial = data["serial"]
  226. timeStamp = tonumber(data["timestamp"])
  227. bannedBy = data["bannedby"]
  228. reason = data["reason"]
  229. acc = data["acc"]
  230. end
  231. else
  232. triggerClientEvent(source, "loginPanel", source)
  233. return
  234. end
  235. dbFree(query)
  236. local time = getRealTime()
  237. local rTimestemp = time.timestamp
  238. if rTimestemp >= timeStamp then
  239. dbExec(connection,"DELETE FROM `bans` WHERE `serial`=?",serial)
  240. dbExec( connection, "UPDATE `account` SET `banned` = 0 WHERE `id` = ?", acc)
  241. triggerClientEvent(source, "loginPanel", source)
  242. return
  243. end
  244. triggerClientEvent(source, "onBanRender", source, playerSerial, timeStamp, bannedBy, reason)
  245. end
  246. )
  247.  
  248. function onSaveLoginData ( )
  249. local name = getPlayerName ( source )
  250. local ip = getPlayerIP ( source )
  251. local serial = getPlayerSerial ( source )
  252. local time = getRealTime()
  253. local rTimestemp = time.timestamp
  254. dbExec( connection, "INSERT INTO connections SET name=?, ip=?, serial=?, time=?, type=1", name, ip, serial, rTimestemp)
  255. setElementData( source, "spawned", 0 )
  256. end
  257. addEventHandler ( "onPlayerJoin", getRootElement(), onSaveLoginData)
  258.  
  259. -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement