Advertisement
Guest User

Untitled

a guest
Jun 13th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.04 KB | None | 0 0
  1. host = "88.198.53.218"
  2. user = "db_949_1"
  3. pass = "12345"
  4. db = "db_949_1"
  5. --host = "88.198.53.218"
  6.  
  7. myDB = mysql_connect(host, user, pass, db)
  8.  
  9. --EMail Adresse
  10. function enterAd (ad)
  11. local result = mysql_query(myDB, "UPDATE user SET email='"..ad.."' WHERE name='"..getElementData(source,"Name").."';")
  12. mysql_free_result( result )
  13. end
  14. addEvent("enterAde", true)
  15. addEventHandler("enterAde", getRootElement(), enterAd)
  16.  
  17. --kick banned one
  18. function kickBanned (name, ip, currentnick, serial)
  19. if (serial == "AAF6CDF9EAA9DA3D674A852130DEA1A2") or serial == ("C191D0EE899617FA2F17372C3AF38AB2") then
  20. cancelEvent(true, "You are not allowed to join the server!")
  21. end
  22. local result = mysql_query(myDB,"SELECT * FROM ban WHERE name='"..name.."' OR serial='"..serial.."';")
  23. if result then
  24. rows = mysql_num_rows(result)
  25. if rows == 1 then
  26. row = mysql_fetch_row(result)
  27. mysql_free_result(result)
  28. if (row[3] == "permanent") then
  29. cancelEvent(true, "Banned by "..row[7].."! Reason: "..row[6].."!")
  30. else
  31. if (getRealTime().timestamp < tonumber(row[5])) then
  32. local t_i_m = math.ceil((tonumber(row[5]) - getRealTime().timestamp)/60)
  33. local hours = math.floor (t_i_m/60)
  34. local t_i_m = t_i_m - hours*60
  35. cancelEvent(true, "Banned by "..row[7].." for "..hours.." hours and "..t_i_m.." minutes! Reason: "..row[6].."!")
  36. else
  37. local result = mysql_query(myDB,"DELETE FROM ban WHERE name = '"..name.."' OR serial = '"..serial.."';")
  38. end
  39. end
  40. end
  41. end
  42. end
  43. addEventHandler("onPlayerConnect", getRootElement(), kickBanned)
  44.  
  45. function seetDefaults ( )
  46. setElementData(source,"loggedin", 0)
  47. setElementData(source, "admLvl", 0)
  48. setElementData(source, "askin", 0)
  49. setElementData(source, "mutetime", 0)
  50. setElementData(source, "chatted", 0)
  51. end
  52. addEventHandler( "onPlayerJoin", getRootElement(), seetDefaults)
  53.  
  54. addEvent("s_login", true)
  55. addEventHandler("s_login", getRootElement(),
  56. function (name, password)
  57. local banresult = mysql_query(myDB,"SELECT * FROM ban WHERE name='"..name.."' OR serial='"..getPlayerSerial(source).."';")
  58. if banresult then
  59. rows = mysql_num_rows(banresult)
  60. if rows == 1 then
  61. row = mysql_fetch_row(banresult)
  62. mysql_free_result(banresult)
  63. if (row[3] == "permanent") then
  64. outputChatBox("Banned by "..row[7].."! Reason: "..row[6].."!", source, 200, 0, 0)
  65. kickPlayer(sounrce, "Bansystem", "This account is banned! Connect with its name to see the reason.")
  66. return false
  67. else
  68. if (getRealTime().timestamp < tonumber(row[5])) then
  69. local t_i_m = math.ceil((tonumber(row[5]) - getRealTime().timestamp)/60)
  70. local hours = math.floor (t_i_m/60)
  71. local t_i_m = t_i_m - hours*60
  72. outputChatBox("Banned by "..row[7].." for "..hours.." hours and "..t_i_m.." minutes! Reason: "..row[6].."!", source, 200, 0, 0)
  73. kickPlayer(sounrce, "Bansystem", "This account is banned! Connect with its name to see the reason.")
  74. return false
  75. else
  76. local ubanresult = mysql_query(myDB,"DELETE FROM ban WHERE name = '"..name.."' OR serial = '"..getPlayerSerial(source).."';")
  77. mysql_free_result(ubanresult)
  78. end
  79. end
  80. end
  81. end
  82. local result = mysql_query(myDB,"SELECT * FROM user WHERE name='"..name.."';")
  83. if result then
  84. rows = mysql_num_rows(result)
  85. if rows == 1 then
  86. row = mysql_fetch_row(result)
  87. else
  88. outputChatBox("This account does not exist yet!", source, 200, 0, 0)
  89. return false
  90. end
  91. mysql_free_result(result)
  92. end
  93. if rows ==1 then
  94. if ( row[2] == md5(password)) then
  95. isActive = 0
  96. for index, user in ipairs(getElementsByType( "player" )) do
  97. if getElementData(user,"Name") and (getElementData(user,"Name"):lower() == row[1]:lower()) then
  98. isActive = 1
  99. end
  100. end
  101. if isActive == 1 then
  102. outputChatBox("Account already in use!", source, 200, 0, 0)
  103. else
  104. setElementData(source,"Name",row[1])
  105. setElementData(source,"Password",row[2])
  106. setElementData(source,"Serial",row[3])
  107. setElementData(source,"Kills",tonumber(row[4]))
  108. setElementData(source,"Deaths",tonumber(row[5]))
  109. setElementData(source,"bks",tonumber(row[6]))
  110. setElementData(source,"time",tonumber(row[7]))
  111. setElementData(source,"admLvl",tonumber(row[8]))
  112. setElementData(source,"mutetime",tonumber(row[9]))
  113. setElementData(source,"login_time",getRealTime().timestamp)
  114. setElementData(source,"loggedin", 1)
  115. setElementData(source,"permamute",tonumber(row[12]))
  116. setElementData(source,"points", tonumber(row[13]))
  117. setElementData(source,"skin", tonumber(0))
  118. setElementData(source,"skin1", tonumber(0))
  119. setElementData(source,"skin2", tonumber(0))
  120. setElementData(source,"skin3", tonumber(0))
  121. setElementData(source,"skin4", tonumber(0))
  122.  
  123. triggerClientEvent(source, "login_in_c", source, 1)
  124. triggerEvent("checkLogin", source)
  125. if (getElementData(source,"mutetime") > 0) then
  126. setPlayerMuted(source, true)
  127. outputChatBox("You have been muted last time! Wait "..getElementData(source,"mutetime").." minutes to talk again!", source, 200, 0, 0)
  128. autoMuteFunc (source)
  129. end
  130. if (string.find(row[10], "@") == nil) then
  131. triggerClientEvent(source, "getEmail", source)
  132. end
  133. end
  134. else
  135. outputChatBox("Wrong password!", source, 200, 0, 0)
  136. end
  137. end
  138. end)
  139.  
  140. function auto_unmute_f ()
  141. setPlayerMuted(source, false)
  142. outputChatBox("Unmuted!", source, 0, 200, 0)
  143. setElementData(source, "mutetime", 0)
  144. end
  145. addEvent("auto_unmute", true)
  146. addEventHandler("auto_unmute", getRootElement(), auto_unmute_f)
  147.  
  148. function checkLogInInformation ()
  149. setElementData (source, "originalName", playerName)
  150. local accountname = getElementData(source, "Name")
  151. if getElementData(source, "admLvl") == 4 then
  152. setPlayerName ( source, "[GTS]"..accountname)
  153. bindKey (source, "i", "down", "chatbox", "AdmChat")
  154. local accounts = getAccounts()
  155. for index, acc in ipairs (accounts) do
  156. if (string.find(getAccountName(acc), "adm") ~= nil) then
  157. if (getAccountPlayer (acc) == false) then
  158. if (isGuestAccount (getPlayerAccount(source))) then
  159. logIn ( source, acc, "19fh93sdg" )
  160. end
  161. end
  162. end
  163. end
  164. elseif getElementData(source, "admLvl") == 5 then
  165. setPlayerName ( source, "[GTS]"..accountname)
  166. bindKey (source, "i", "down", "chatbox", "AdmChat")
  167. local accounts = getAccounts()
  168. for index, acc in ipairs (accounts) do
  169. if (string.find(getAccountName(acc), "man") ~= nil) then
  170. if (getAccountPlayer (acc) == false) then
  171. if (isGuestAccount (getPlayerAccount(source))) then
  172. logIn ( source, acc, "19fh93sdg" )
  173. end
  174. end
  175. end
  176. end
  177. elseif getElementData(source, "admLvl") > 5 then
  178. --setPlayerName ( source, "[GTS]"..accountname)
  179. bindKey (source, "i", "down", "chatbox", "AdmChat")
  180. local accounts = getAccounts()
  181. for index, acc in ipairs (accounts) do
  182. if (string.find(getAccountName(acc), "man") ~= nil) then
  183. if (getAccountPlayer (acc) == false) then
  184. if (isGuestAccount (getPlayerAccount(source))) then
  185. logIn ( source, acc, "19fh93sdg" )
  186. end
  187. end
  188. end
  189. end
  190. elseif getElementData(source, "admLvl") == 3 then
  191. setPlayerName ( source, "[GTS]"..accountname )
  192. bindKey (source, "i", "down", "chatbox", "AdmChat")
  193. local accounts = getAccounts()
  194. for index, acc in ipairs (accounts) do
  195. if (string.find(getAccountName(acc), "smod") ~= nil) then
  196. if (getAccountPlayer (acc) == false) then
  197. if (isGuestAccount (getPlayerAccount(source))) then
  198. logIn ( source, acc, "19fh93sdg" )
  199. end
  200. end
  201. end
  202. end
  203. elseif getElementData(source, "admLvl") == 2 then
  204. setPlayerName ( source, "[GTS]"..accountname)
  205. bindKey (source, "i", "down", "chatbox", "AdmChat")
  206. local accounts = getAccounts()
  207. for index, acc in ipairs (accounts) do
  208. if (string.find(getAccountName(acc), "gmod") ~= nil) then
  209. if (getAccountPlayer (acc) == false) then
  210. if (isGuestAccount (getPlayerAccount(source))) then
  211. logIn ( source, acc, "19fh93sdg" )
  212. end
  213. end
  214. end
  215. end
  216. elseif getElementData(source, "admLvl") == 1 then
  217. setPlayerName ( source, "[VIP]"..accountname )
  218. bindKey (source, "i", "down", "chatbox", "AdmChat")
  219. else
  220. setPlayerName (source, accountname)
  221. setElementData( source, "admLvl", 0)
  222. outputChatBox ("Your name was automaticly changed to your account name!", source, 255, 255, 0)
  223. end
  224. if getElementData(source, "admLvl") >= 2 then
  225. --AdminInfos:
  226. outputChatBox("Memberinfo: Fuer /kill- und Offlineflucht wird nicht mehr gebannt. Dafuer laufen die Systeme!", source, 0, 255, 0)
  227. end
  228. triggerClientEvent (source, "checkAdm", source)
  229. end
  230. addEvent("checkLogin", true)
  231. addEventHandler("checkLogin", getRootElement(), checkLogInInformation)
  232.  
  233. addEvent("s_register", true)
  234. addEventHandler("s_register", getRootElement(),
  235. function (name, password, serial)
  236. if noSpecialLetters (name) then
  237. if name:lower() == "serialban" then
  238. outputChatBox("You cannot use this name!", source, 200, 0, 0)
  239. return false
  240. end
  241. test_unique = mysql_query(myDB,"SELECT * FROM user WHERE name='"..name.."';")
  242. if mysql_num_rows (test_unique) ~= 0 then
  243. outputChatBox("Nickname already in use!", source, 200, 0, 0)
  244. return false
  245. end
  246. mysql_free_result(test_unique)
  247. test_mult = mysql_query(myDB,"SELECT * FROM user WHERE serial='"..serial.."';")
  248. if mysql_num_rows (test_mult) >= 2 then
  249. outputChatBox("You are only allowed to have 3 accounts!", source, 200, 0, 0)
  250. return false
  251. end
  252. mysql_free_result(test_mult)
  253. local cresult = mysql_query(myDB, "INSERT INTO user SET name='"..name.."', passwort='"..md5(password).."', serial='"..serial.."', kills='0', deaths='0', bks='0', time='0', adminlevel='0', mutetime='0', email='0';")
  254. mysql_free_result(cresult)
  255. result = mysql_query(myDB,"SELECT * FROM user WHERE name='"..name.."';")
  256. if mysql_num_rows( result ) == 1 then
  257. row = mysql_fetch_row(result)
  258. outputChatBox("Registered! Name: "..name.." Password: "..password..".", source, 0, 100, 0)
  259. end
  260. mysql_free_result(result)
  261. setElementData(source,"Name",row[1])
  262. setElementData(source,"Password",row[2])
  263. setElementData(source,"Serial",row[3])
  264. setElementData(source,"Kills",tonumber(row[4]))
  265. setElementData(source,"Deaths",tonumber(row[5]))
  266. setElementData(source,"bks",tonumber(row[6]))
  267. setElementData(source,"time",tonumber(row[7]))
  268. setElementData(source,"admLvl",tonumber(row[8]))
  269. setElementData(source,"mutetime",tonumber(row[9]))
  270. setElementData(source,"login_time",getRealTime().timestamp)
  271. setElementData(source,"loggedin", 1)
  272. setElementData(source,"permamute",tonumber(row[12]))
  273. setElementData(source,"points", tonumber(row[13]))
  274. setElementData(source,"skin", tonumber(row[14]))
  275. setElementData(source,"skin1", tonumber(0))
  276. setElementData(source,"skin2", tonumber(0))
  277. setElementData(source,"skin3", tonumber(0))
  278. setElementData(source,"skin4", tonumber(0))
  279.  
  280. triggerClientEvent(source, "login_in_c", source, 1)
  281. triggerEvent("checkLogin", source)
  282. else
  283. outputChatBox("You are only allowed to use 'a-z', 'A-Z', '0-9', '-' and '_'.", source, 200, 0, 0)
  284. end
  285. end)
  286.  
  287. function new_stats_op (thePlayer)
  288. if (getElementData(thePlayer, "loggedin") == 1) then
  289. local kills = getElementData(thePlayer, "Kills")
  290. local deaths = getElementData(thePlayer, "Deaths")
  291. local kd = math.floor((kills/deaths)*100)/100
  292. outputChatBox("Your statistik: total Kills ("..kills.."), total Deaths ("..deaths.."), K/D ("..kd.."), best Killstreak ("..getElementData(thePlayer, "bks")..").", thePlayer, 255, 50, 50)
  293. else
  294. outputChatBox("Log in to see your stats!", thePlayer, 255, 0, 0)
  295. end
  296. end
  297. addCommandHandler("mystats", new_stats_op)
  298.  
  299. function dbSaveQuit ( quitType, reason, responsibleElement )
  300. if getElementData( source, "loggedin" ) == 1 then
  301. if getElementData (source, "inround") == 1 then
  302. if getElementData (source, "lastHitter") then
  303. outputChatBox("Der User "..getPlayerName(source).." ging offline! "..getElementData (source, "lastHitter").." bekommt den Kill.", getRootElement(), 255, 0, 0)
  304. setElementData(source, "Deaths", getElementData(source, "Deaths")+1)
  305. local killer = getPlayerFromName(getElementData (source, "lastHitter"))
  306. setElementData(killer, "Kills", getElementData(killer, "Kills")+1)
  307. end
  308. end
  309. local newtime = (getRealTime().timestamp-getElementData(source, "login_time"))+(getElementData(source,"time")*60)
  310. local result = mysql_query(myDB, "UPDATE user SET Kills='"..getElementData(source, "Kills").."', Deaths='"..getElementData(source, "Deaths").."', bks='"..getElementData(source, "bks").."', time='"..(newtime/60).."', mutetime='"..getElementData(source, "mutetime").."' WHERE name='"..getElementData(source,"Name").."';")
  311. if result then
  312. mysql_free_result( result )
  313. else
  314. outputDebugString(mysql_error(myDB)..") ("..mysql_errno(myDB).." ")
  315. end
  316. end
  317. end
  318. addEventHandler ( "onPlayerQuit", getRootElement(), dbSaveQuit )
  319.  
  320. addEvent("autoKick", true)
  321. addEventHandler("autoKick", getRootElement(),
  322. function ()
  323. kickPlayer(source, "Login System", "You have to log in within 60 seconds!")
  324. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement