Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DATABASE_HOST = "localhost"
- DATABASE_PORT = 3306
- DATABASE_NAME = "DarkRP"
- DATABASE_USERNAME = "root"
- DATABASE_PASSWORD = ""
- local MySQLOO = require("mysqloo")
- DB_AUGMENTS = mysqloo.connect ( DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME, DATABASE_PORT )
- local function InitializeMySQL()
- MySQLite.tableExists("augmentations", function(bl)
- if not bl then
- MsgC(Color(0,200,0), "[AUGMENTATIONS] SQL table augmentations created.\n" )
- MySQLite.query("CREATE TABLE IF NOT EXISTS augmentations( steamID VARCHAR(50) NOT NULL PRIMARY KEY, thermalvisor INTEGER NOT NULL, infolink INTEGER NOT NULL, hackingai INTEGER NOT NULL, cyberhands INTEGER NOT NULL, cyberfingers INTEGER NOT NULL, supdermalarmor INTEGER NOT NULL, antifireprotection INTEGER NOT NULL, cloak INTEGER NOT NULL, cyberlegs INTEGER NOT NULL)" )
- end
- end)
- hook.Remove("DatabaseInitialized", "InitAugDB")
- end
- hook.Add("DatabaseInitialized", "InitAugDB", InitializeMySQL)
- function ConnectToDatabase()
- print ("[AUGMENTATIONS] Connecting to Database")
- DB_AUGMENTS.onConnect = function()
- print("[AUGMENTATIONS] Database Connection Successful!")
- end
- DB_AUGMENTS.onConnectionFailed = function (db, msg)
- print("[AUGMENTATIONS] Connect to Database failed!")
- print(msg)
- end
- DB_AUGMENTS:connect()
- end
- ConnectToDatabase()
- local function CheckDB()
- if (DB_AUGMENTS:status() != mysqloo.DATABASE_CONNECTED) then
- ConnectToDatabase()
- print("[KARMASYST] Database Connection Restarted")
- end
- end
- timer.Create( "DB_CHECK", 5, 0, CheckDB)
- function SearchDatabase(ply)
- if ply == nil then return end
- local query = DB_AUGMENTS:prepare( "SELECT * FROM augmentations WHERE `steamID` = '" .. ply:SteamID() .. "' AND `thermalvisor` = '" .. ply:GetNWInt("thermalvisor") .. "' AND `infolink` = '" .. ply:GetNWInt("datalink") .. "' AND `hackingai` = '" .. ply:GetNWInt("keypadcrackingmodule") .. "' AND `cyberhands` = '" .. ply:GetNWInt("cyberhands") .. "' AND `cyberfingers` = '" .. ply:GetNWInt("cyberfingers") .. "' AND `supdermalarmor` = '" .. ply:GetNWInt("supdermalarmor") .. "' AND `antifireprotection` = '" .. ply:GetNWInt("antifireprotection") .. "' AND `cloak` = '" .. ply:GetNWInt("stels") .. "' AND `cyberlegs` = '" .. ply:GetNWInt("legscyber") .. "';")
- if not query then return end
- query.onData = function(q,d)
- if ( #query:getData() >= 1) then
- ply:ChatPrint( "You are registered in the database as user #" .. tostring( d['id'] ) )
- end
- end
- query.onError = function( db, err )
- print( "[AUGMENTATIONS] (SearchDatabase) - Error: ", err )
- end
- query:wait()
- query:start()
- end
- function AddPlayer( steamid, tv, dl, ai, ch, cf, spd, af, st, clegs )
- local query1 = DB_AUGMENTS:prepare( "SELECT * FROM augmentations WHERE `steamID` = '" .. steamid .. "';")
- query1.onSuccess = function()
- if ( #query1:getData() == 0 ) then
- local query = DB_AUGMENTS:query( "INSERT INTO augmentations (`steamID`, `thermalvisor`, `infolink`, `hackingai`, `cyberhands`, `cyberfingers`, `supdermalarmor`, `antifireprotection`, `cloak`, `cyberlegs`) VALUES ('" .. steamid .. "', '" .. tv .. "', '" .. dl .. "', '" .. ai .. "', '" .. ch .. "', '" .. cf .. "', '" .. spd .. "', '" .. af .. "', '" .. st .. "', '" .. clegs .. "');")
- query1.onSuccess = function()
- print( "[AUGMENTATIONS] The new player " .. steamid .. " was logged!" )
- end
- query1.onError = function(db, err)
- print("[AUGMENTATIONS] (Add Player) - Error: ", err )
- end
- query:start()
- end
- end
- query1:start()
- end
- hook.Add( "PlayerInitialSpawn", "SyncAugDB", function( ply )
- AddPlayer( ply:SteamID(), ply:GetNWInt("thermalvisor"), ply:GetNWInt("datalink"), ply:GetNWInt("keypadcrackingmodule"), ply:GetNWInt("cyberhands"), ply:GetNWInt("cyberfingers"), ply:GetNWInt("supdermalarmor"), ply:GetNWInt("antifireprotection"), ply:GetNWInt("stels"), ply:GetNWInt("legscyber") )
- local q = DB_AUGMENTS:prepare( "SELECT * FROM augmentations WHERE `steamID` = '" .. ply:SteamID() .. "';")
- q:start()
- q.onSuccess = function(q, data)
- PrintTable(data)
- ply:SetNWInt("antifireprotection", data[1].antifireprotection)
- ply:SetNWInt("cloak", data[1].cloak)
- ply:SetNWInt("cyberfingers", data[1].cyberfingers)
- ply:SetNWInt("cyberhands", data[1].cyberhands)
- ply:SetNWInt("legscyber", data[1].cyberlegs)
- ply:SetNWInt("hackingai", data[1].hackingai)
- ply:SetNWInt("infolink", data[1].infolink)
- ply:SetNWInt("supdermalarmor", data[1].supdermalarmor)
- ply:SetNWInt("thermalvisor", data[1].thermalvisor)
- end
- q.onError = function(db, err)
- print("[AUGMENTATIONS] (Loading Data) - Error: ", err )
- end
- end )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement