Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Database connection by Killzone for Beforegaming, copyright Killzone, data of creation: 9/07/2010
- local meta = FindMetaTable("Player")
- function meta:GetMoney()
- if not ValidEntity( self ) then return end
- return self:GetNWInt("coins")
- end
- function meta:AddMoney( amount )
- if not ValidEntity( self ) then return end
- self:SetNWInt("coins", self:GetNWInt("coins") + amount)
- end
- function meta:RemoveMoney( amount )
- if not ValidEntity( self ) then return end
- self:SetNWInt("coins", self:GetNWInt("coins") - amount )
- end
- function meta:SetMoney( amount )
- if not ValidEntity( self ) then return end
- self:SetNWInt("coins", amount )
- end
- function meta:ConvertSteamID()
- self:SetNWString("SteamID",SteamID)
- end
- function meta:ReturnSteamID()
- return self:GetNWString("SteamID")
- end
- require("mysqloo")
- local DATABASE_HOST = "mysql.xenonservers.com"
- local DATABASE_PORT = 3306
- local DATABASE_NAME = "kunden_32956"
- local DATABASE_USERNAME = "kunden_32956"
- local DATABASE_PASSWORD = "database"
- local DB = {}
- local database = mysqloo.connect(DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME, DATABASE_PORT)
- function DB.Error()
- print("ERROR: Could not connect to database!")
- end
- function DB.AfterConnection()
- local query = database:query("CREATE TABLE player_data ( unique_id varchar(255), money int )")
- query:start()
- end
- function DB.StartUp()
- database:connect()
- print("Connecting to the MySQL Database...")
- print(database)
- local connection = tonumber(database:status())
- local status = ""
- if connection == mysqloo.DATABASE_CONNECTED then
- status = "Connected to the database."
- elseif connection == mysqloo.DATABASE_CONNECTING then
- status = "Current is attempting to connect."
- elseif connection == mysqloo.DATABASE_NOT_CONNECTED then
- DB.Error()
- status = "Connection was not successful or has failed."
- elseif connection == mysqloo.DATABASE_INTERNAL_ERROR then
- status = "Some internal error occured."
- DB.Error()
- end
- print("connection status: '"..status.."' \n")
- function database.onConnected(self)
- print( "Server Version:", self:serverVersion() )
- print( "Server Info:", self:serverInfo() )
- print( "Host Info:", self:hostInfo() )
- print("")
- print("connection status: '"..status.."' \n")
- DB.AfterConnection()
- end
- return true
- end
- DB.StartUp()
- function DB.NewPlayer( SteamID, ply )
- local steamID = ply:ReturnSteamID()
- local query = database:query("INSERT INTO player_data (`unique_id`, `money`)VALUES ('"..steamID.."', '100')" )
- result = query
- query:start()
- if (result) then
- Msg("Player account created !\n")
- DB.Save()
- else
- Msg("ERROR: Could not create data!")
- end
- end
- function DB.PlayerExists( ply )
- steamID = ply:GetNWString("SteamID")
- local query = database:query("SELECT unique_id, money FROM player_data WHERE unique_id = '"..steamID.."'")
- result = query
- query:start()
- if (result) then
- DB.Load( ply )
- else
- DB.NewPlayer( steamID, ply )
- end
- end
- function DB.Load ( ply )
- unique_id = database:query("SELECT unique_id FROM player_data WHERE unique_id = '"..steamID.."'")
- money = database:query("SELECT money FROM player_data WHERE unique_id = '"..steamID.."'")
- unique_id:start()
- money:start()
- ply:SetNWString("unique_id", unique_id)
- ply:SetNWInt("money", money)
- end
- function DB.Save( ply )
- money = ply:GetNWInt("money")
- unique_id = ply:GetNWString ("SteamID")
- local query = database:query("UPDATE player_data SET money = "..money.." WHERE unique_id = '"..unique_id.."'")
- query:start()
- end
- function PlayerInitialSpawn( ply )
- DB.PlayerExists( ply )
- end
- hook.Add( "PlayerInitialSpawn", "PlayerInitialSpawn", PlayerInitialSpawn )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement