Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- host = "88.198.53.218"
- user = "db_949_1"
- pass = "12345"
- db = "db_949_1"
- --host = "88.198.53.218"
- myDB = mysql_connect(host, user, pass, db)
- --EMail Adresse
- function enterAd (ad)
- local result = mysql_query(myDB, "UPDATE user SET email='"..ad.."' WHERE name='"..getElementData(source,"Name").."';")
- mysql_free_result( result )
- end
- addEvent("enterAde", true)
- addEventHandler("enterAde", getRootElement(), enterAd)
- --kick banned one
- function kickBanned (name, ip, currentnick, serial)
- if (serial == "AAF6CDF9EAA9DA3D674A852130DEA1A2") or serial == ("C191D0EE899617FA2F17372C3AF38AB2") then
- cancelEvent(true, "You are not allowed to join the server!")
- end
- local result = mysql_query(myDB,"SELECT * FROM ban WHERE name='"..name.."' OR serial='"..serial.."';")
- if result then
- rows = mysql_num_rows(result)
- if rows == 1 then
- row = mysql_fetch_row(result)
- mysql_free_result(result)
- if (row[3] == "permanent") then
- cancelEvent(true, "Banned by "..row[7].."! Reason: "..row[6].."!")
- else
- if (getRealTime().timestamp < tonumber(row[5])) then
- local t_i_m = math.ceil((tonumber(row[5]) - getRealTime().timestamp)/60)
- local hours = math.floor (t_i_m/60)
- local t_i_m = t_i_m - hours*60
- cancelEvent(true, "Banned by "..row[7].." for "..hours.." hours and "..t_i_m.." minutes! Reason: "..row[6].."!")
- else
- local result = mysql_query(myDB,"DELETE FROM ban WHERE name = '"..name.."' OR serial = '"..serial.."';")
- end
- end
- end
- end
- end
- addEventHandler("onPlayerConnect", getRootElement(), kickBanned)
- function seetDefaults ( )
- setElementData(source,"loggedin", 0)
- setElementData(source, "admLvl", 0)
- setElementData(source, "askin", 0)
- setElementData(source, "mutetime", 0)
- setElementData(source, "chatted", 0)
- end
- addEventHandler( "onPlayerJoin", getRootElement(), seetDefaults)
- addEvent("s_login", true)
- addEventHandler("s_login", getRootElement(),
- function (name, password)
- local banresult = mysql_query(myDB,"SELECT * FROM ban WHERE name='"..name.."' OR serial='"..getPlayerSerial(source).."';")
- if banresult then
- rows = mysql_num_rows(banresult)
- if rows == 1 then
- row = mysql_fetch_row(banresult)
- mysql_free_result(banresult)
- if (row[3] == "permanent") then
- outputChatBox("Banned by "..row[7].."! Reason: "..row[6].."!", source, 200, 0, 0)
- kickPlayer(sounrce, "Bansystem", "This account is banned! Connect with its name to see the reason.")
- return false
- else
- if (getRealTime().timestamp < tonumber(row[5])) then
- local t_i_m = math.ceil((tonumber(row[5]) - getRealTime().timestamp)/60)
- local hours = math.floor (t_i_m/60)
- local t_i_m = t_i_m - hours*60
- outputChatBox("Banned by "..row[7].." for "..hours.." hours and "..t_i_m.." minutes! Reason: "..row[6].."!", source, 200, 0, 0)
- kickPlayer(sounrce, "Bansystem", "This account is banned! Connect with its name to see the reason.")
- return false
- else
- local ubanresult = mysql_query(myDB,"DELETE FROM ban WHERE name = '"..name.."' OR serial = '"..getPlayerSerial(source).."';")
- mysql_free_result(ubanresult)
- end
- end
- end
- end
- local result = mysql_query(myDB,"SELECT * FROM user WHERE name='"..name.."';")
- if result then
- rows = mysql_num_rows(result)
- if rows == 1 then
- row = mysql_fetch_row(result)
- else
- outputChatBox("This account does not exist yet!", source, 200, 0, 0)
- return false
- end
- mysql_free_result(result)
- end
- if rows ==1 then
- if ( row[2] == md5(password)) then
- isActive = 0
- for index, user in ipairs(getElementsByType( "player" )) do
- if getElementData(user,"Name") and (getElementData(user,"Name"):lower() == row[1]:lower()) then
- isActive = 1
- end
- end
- if isActive == 1 then
- outputChatBox("Account already in use!", source, 200, 0, 0)
- else
- setElementData(source,"Name",row[1])
- setElementData(source,"Password",row[2])
- setElementData(source,"Serial",row[3])
- setElementData(source,"Kills",tonumber(row[4]))
- setElementData(source,"Deaths",tonumber(row[5]))
- setElementData(source,"bks",tonumber(row[6]))
- setElementData(source,"time",tonumber(row[7]))
- setElementData(source,"admLvl",tonumber(row[8]))
- setElementData(source,"mutetime",tonumber(row[9]))
- setElementData(source,"login_time",getRealTime().timestamp)
- setElementData(source,"loggedin", 1)
- setElementData(source,"permamute",tonumber(row[12]))
- setElementData(source,"points", tonumber(row[13]))
- setElementData(source,"skin", tonumber(0))
- setElementData(source,"skin1", tonumber(0))
- setElementData(source,"skin2", tonumber(0))
- setElementData(source,"skin3", tonumber(0))
- setElementData(source,"skin4", tonumber(0))
- triggerClientEvent(source, "login_in_c", source, 1)
- triggerEvent("checkLogin", source)
- if (getElementData(source,"mutetime") > 0) then
- setPlayerMuted(source, true)
- outputChatBox("You have been muted last time! Wait "..getElementData(source,"mutetime").." minutes to talk again!", source, 200, 0, 0)
- autoMuteFunc (source)
- end
- if (string.find(row[10], "@") == nil) then
- triggerClientEvent(source, "getEmail", source)
- end
- end
- else
- outputChatBox("Wrong password!", source, 200, 0, 0)
- end
- end
- end)
- function auto_unmute_f ()
- setPlayerMuted(source, false)
- outputChatBox("Unmuted!", source, 0, 200, 0)
- setElementData(source, "mutetime", 0)
- end
- addEvent("auto_unmute", true)
- addEventHandler("auto_unmute", getRootElement(), auto_unmute_f)
- function checkLogInInformation ()
- setElementData (source, "originalName", playerName)
- local accountname = getElementData(source, "Name")
- if getElementData(source, "admLvl") == 4 then
- setPlayerName ( source, "[GTS]"..accountname)
- bindKey (source, "i", "down", "chatbox", "AdmChat")
- local accounts = getAccounts()
- for index, acc in ipairs (accounts) do
- if (string.find(getAccountName(acc), "adm") ~= nil) then
- if (getAccountPlayer (acc) == false) then
- if (isGuestAccount (getPlayerAccount(source))) then
- logIn ( source, acc, "19fh93sdg" )
- end
- end
- end
- end
- elseif getElementData(source, "admLvl") == 5 then
- setPlayerName ( source, "[GTS]"..accountname)
- bindKey (source, "i", "down", "chatbox", "AdmChat")
- local accounts = getAccounts()
- for index, acc in ipairs (accounts) do
- if (string.find(getAccountName(acc), "man") ~= nil) then
- if (getAccountPlayer (acc) == false) then
- if (isGuestAccount (getPlayerAccount(source))) then
- logIn ( source, acc, "19fh93sdg" )
- end
- end
- end
- end
- elseif getElementData(source, "admLvl") > 5 then
- --setPlayerName ( source, "[GTS]"..accountname)
- bindKey (source, "i", "down", "chatbox", "AdmChat")
- local accounts = getAccounts()
- for index, acc in ipairs (accounts) do
- if (string.find(getAccountName(acc), "man") ~= nil) then
- if (getAccountPlayer (acc) == false) then
- if (isGuestAccount (getPlayerAccount(source))) then
- logIn ( source, acc, "19fh93sdg" )
- end
- end
- end
- end
- elseif getElementData(source, "admLvl") == 3 then
- setPlayerName ( source, "[GTS]"..accountname )
- bindKey (source, "i", "down", "chatbox", "AdmChat")
- local accounts = getAccounts()
- for index, acc in ipairs (accounts) do
- if (string.find(getAccountName(acc), "smod") ~= nil) then
- if (getAccountPlayer (acc) == false) then
- if (isGuestAccount (getPlayerAccount(source))) then
- logIn ( source, acc, "19fh93sdg" )
- end
- end
- end
- end
- elseif getElementData(source, "admLvl") == 2 then
- setPlayerName ( source, "[GTS]"..accountname)
- bindKey (source, "i", "down", "chatbox", "AdmChat")
- local accounts = getAccounts()
- for index, acc in ipairs (accounts) do
- if (string.find(getAccountName(acc), "gmod") ~= nil) then
- if (getAccountPlayer (acc) == false) then
- if (isGuestAccount (getPlayerAccount(source))) then
- logIn ( source, acc, "19fh93sdg" )
- end
- end
- end
- end
- elseif getElementData(source, "admLvl") == 1 then
- setPlayerName ( source, "[VIP]"..accountname )
- bindKey (source, "i", "down", "chatbox", "AdmChat")
- else
- setPlayerName (source, accountname)
- setElementData( source, "admLvl", 0)
- outputChatBox ("Your name was automaticly changed to your account name!", source, 255, 255, 0)
- end
- if getElementData(source, "admLvl") >= 2 then
- --AdminInfos:
- outputChatBox("Memberinfo: Fuer /kill- und Offlineflucht wird nicht mehr gebannt. Dafuer laufen die Systeme!", source, 0, 255, 0)
- end
- triggerClientEvent (source, "checkAdm", source)
- end
- addEvent("checkLogin", true)
- addEventHandler("checkLogin", getRootElement(), checkLogInInformation)
- addEvent("s_register", true)
- addEventHandler("s_register", getRootElement(),
- function (name, password, serial)
- if noSpecialLetters (name) then
- if name:lower() == "serialban" then
- outputChatBox("You cannot use this name!", source, 200, 0, 0)
- return false
- end
- test_unique = mysql_query(myDB,"SELECT * FROM user WHERE name='"..name.."';")
- if mysql_num_rows (test_unique) ~= 0 then
- outputChatBox("Nickname already in use!", source, 200, 0, 0)
- return false
- end
- mysql_free_result(test_unique)
- test_mult = mysql_query(myDB,"SELECT * FROM user WHERE serial='"..serial.."';")
- if mysql_num_rows (test_mult) >= 2 then
- outputChatBox("You are only allowed to have 3 accounts!", source, 200, 0, 0)
- return false
- end
- mysql_free_result(test_mult)
- 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';")
- mysql_free_result(cresult)
- result = mysql_query(myDB,"SELECT * FROM user WHERE name='"..name.."';")
- if mysql_num_rows( result ) == 1 then
- row = mysql_fetch_row(result)
- outputChatBox("Registered! Name: "..name.." Password: "..password..".", source, 0, 100, 0)
- end
- mysql_free_result(result)
- setElementData(source,"Name",row[1])
- setElementData(source,"Password",row[2])
- setElementData(source,"Serial",row[3])
- setElementData(source,"Kills",tonumber(row[4]))
- setElementData(source,"Deaths",tonumber(row[5]))
- setElementData(source,"bks",tonumber(row[6]))
- setElementData(source,"time",tonumber(row[7]))
- setElementData(source,"admLvl",tonumber(row[8]))
- setElementData(source,"mutetime",tonumber(row[9]))
- setElementData(source,"login_time",getRealTime().timestamp)
- setElementData(source,"loggedin", 1)
- setElementData(source,"permamute",tonumber(row[12]))
- setElementData(source,"points", tonumber(row[13]))
- setElementData(source,"skin", tonumber(row[14]))
- setElementData(source,"skin1", tonumber(0))
- setElementData(source,"skin2", tonumber(0))
- setElementData(source,"skin3", tonumber(0))
- setElementData(source,"skin4", tonumber(0))
- triggerClientEvent(source, "login_in_c", source, 1)
- triggerEvent("checkLogin", source)
- else
- outputChatBox("You are only allowed to use 'a-z', 'A-Z', '0-9', '-' and '_'.", source, 200, 0, 0)
- end
- end)
- function new_stats_op (thePlayer)
- if (getElementData(thePlayer, "loggedin") == 1) then
- local kills = getElementData(thePlayer, "Kills")
- local deaths = getElementData(thePlayer, "Deaths")
- local kd = math.floor((kills/deaths)*100)/100
- outputChatBox("Your statistik: total Kills ("..kills.."), total Deaths ("..deaths.."), K/D ("..kd.."), best Killstreak ("..getElementData(thePlayer, "bks")..").", thePlayer, 255, 50, 50)
- else
- outputChatBox("Log in to see your stats!", thePlayer, 255, 0, 0)
- end
- end
- addCommandHandler("mystats", new_stats_op)
- function dbSaveQuit ( quitType, reason, responsibleElement )
- if getElementData( source, "loggedin" ) == 1 then
- if getElementData (source, "inround") == 1 then
- if getElementData (source, "lastHitter") then
- outputChatBox("Der User "..getPlayerName(source).." ging offline! "..getElementData (source, "lastHitter").." bekommt den Kill.", getRootElement(), 255, 0, 0)
- setElementData(source, "Deaths", getElementData(source, "Deaths")+1)
- local killer = getPlayerFromName(getElementData (source, "lastHitter"))
- setElementData(killer, "Kills", getElementData(killer, "Kills")+1)
- end
- end
- local newtime = (getRealTime().timestamp-getElementData(source, "login_time"))+(getElementData(source,"time")*60)
- 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").."';")
- if result then
- mysql_free_result( result )
- else
- outputDebugString(mysql_error(myDB)..") ("..mysql_errno(myDB).." ")
- end
- end
- end
- addEventHandler ( "onPlayerQuit", getRootElement(), dbSaveQuit )
- addEvent("autoKick", true)
- addEventHandler("autoKick", getRootElement(),
- function ()
- kickPlayer(source, "Login System", "You have to log in within 60 seconds!")
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement