Advertisement
Guest User

Untitled

a guest
Jun 4th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.10 KB | None | 0 0
  1. // Database connection by Killzone for Beforegaming, copyright Killzone, data of creation: 9/07/2010
  2.  
  3. local meta = FindMetaTable("Player")
  4.  
  5. function meta:GetMoney()
  6.    if not ValidEntity( self ) then return end
  7.         return self:GetNWInt("coins")
  8. end
  9.  
  10. function meta:AddMoney( amount )
  11.     if not ValidEntity( self ) then return end
  12.         self:SetNWInt("coins", self:GetNWInt("coins") + amount)
  13. end
  14.  
  15. function meta:RemoveMoney( amount )
  16.     if not ValidEntity( self ) then return end
  17.         self:SetNWInt("coins", self:GetNWInt("coins") - amount )
  18. end
  19.  
  20. function meta:SetMoney( amount )
  21.     if not ValidEntity( self ) then return end
  22.         self:SetNWInt("coins", amount )
  23. end
  24.  
  25. function meta:ConvertSteamID()
  26.     self:SetNWString("SteamID",SteamID)
  27. end
  28.  
  29. function meta:ReturnSteamID()
  30.     return self:GetNWString("SteamID")
  31. end
  32.  
  33. require("mysqloo")
  34.  
  35. local DATABASE_HOST = "mysql.xenonservers.com"
  36. local DATABASE_PORT = 3306
  37. local DATABASE_NAME = "kunden_32956"
  38. local DATABASE_USERNAME = "kunden_32956"
  39. local DATABASE_PASSWORD = "database"
  40. local DB = {}
  41. local database = mysqloo.connect(DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME, DATABASE_PORT)
  42.  
  43. function DB.Error()
  44.     print("ERROR: Could not connect to database!")
  45. end
  46.  
  47.  
  48. function DB.AfterConnection()
  49.            local query = database:query("CREATE TABLE player_data ( unique_id varchar(255), money int )")
  50.            query:start()
  51. end
  52.  
  53. function DB.StartUp()
  54.     database:connect()
  55.  
  56.         print("Connecting to the MySQL Database...")
  57.         print(database)
  58.        
  59.         local connection = tonumber(database:status())
  60.         local status = ""
  61.        
  62.             if connection == mysqloo.DATABASE_CONNECTED then
  63.                 status = "Connected to the database."
  64.             elseif connection == mysqloo.DATABASE_CONNECTING then
  65.                 status = "Current is attempting to connect."
  66.             elseif connection == mysqloo.DATABASE_NOT_CONNECTED then
  67.                 DB.Error()
  68.                 status = "Connection was not successful or has failed."
  69.             elseif connection == mysqloo.DATABASE_INTERNAL_ERROR then
  70.                 status = "Some internal error occured."
  71.                 DB.Error()
  72.             end
  73.        
  74.         print("connection status: '"..status.."' \n")
  75.        
  76.         function database.onConnected(self)
  77.             print( "Server Version:", self:serverVersion() )
  78.             print( "Server Info:", self:serverInfo() )
  79.             print( "Host Info:", self:hostInfo() )
  80.             print("")
  81.             print("connection status: '"..status.."' \n")
  82.            DB.AfterConnection()
  83.         end
  84.         return true
  85. end
  86.  
  87. DB.StartUp()
  88.  
  89. function DB.NewPlayer( SteamID, ply )
  90.  
  91.         local steamID = ply:ReturnSteamID()
  92.         local query = database:query("INSERT INTO player_data (`unique_id`, `money`)VALUES ('"..steamID.."', '100')" )
  93.         result = query
  94.         query:start()
  95.  
  96.             if (result) then
  97.                 Msg("Player account created !\n")
  98.                 DB.Save()
  99.             else
  100.                 Msg("ERROR: Could not create data!")
  101.             end
  102. end
  103.  
  104. function DB.PlayerExists( ply )
  105.  
  106.     steamID = ply:GetNWString("SteamID")
  107.     local query = database:query("SELECT unique_id, money FROM player_data WHERE unique_id = '"..steamID.."'")
  108.     result = query
  109.     query:start()
  110.     if (result) then
  111.             DB.Load( ply )
  112.     else
  113.         DB.NewPlayer( steamID, ply )
  114.     end
  115. end
  116.  
  117.  
  118. function DB.Load ( ply )
  119.     unique_id = database:query("SELECT unique_id FROM player_data WHERE unique_id = '"..steamID.."'")
  120.     money = database:query("SELECT money FROM player_data WHERE unique_id = '"..steamID.."'")
  121.     unique_id:start()
  122.     money:start()
  123.     ply:SetNWString("unique_id", unique_id)
  124.     ply:SetNWInt("money", money)
  125. end
  126.  
  127. function DB.Save( ply )
  128.     money = ply:GetNWInt("money")
  129.     unique_id = ply:GetNWString ("SteamID")
  130.     local query = database:query("UPDATE player_data SET money = "..money.." WHERE unique_id = '"..unique_id.."'")
  131.     query:start()
  132.    
  133. end
  134.  
  135.  
  136. function PlayerInitialSpawn( ply )
  137.  
  138.     DB.PlayerExists( ply )
  139.  
  140. end
  141.  
  142. hook.Add( "PlayerInitialSpawn", "PlayerInitialSpawn", PlayerInitialSpawn )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement