· 8 years ago · Apr 17, 2018, 02:10 PM
1function SQLStr( str_in, bNoQuotes )
2
3 local str = tostring( str_in )
4
5 if ( str:find( '\\"' ) ) then
6 return
7 end
8
9 str = str:gsub( '"', '\\"' )
10
11 if ( bNoQuotes ) then
12 return str
13 end
14
15 return "\"" .. str .. "\"";
16
17end
18
19
20local sql = sqlite.Connect("handler.db")
21if ( not sql:TableExists( "playerpdata" ) ) then
22
23 sql:Query( "CREATE TABLE IF NOT EXISTS playerpdata ( infoid TEXT NOT NULL PRIMARY KEY, value TEXT );" )
24
25end
26
27 function _R.Player:GetPData( name, default )
28
29 name = string.format( "%s[%s]", self:Name(), name )
30 local val = sql.QueryValue( "SELECT value FROM playerpdata WHERE infoid = " .. SQLStr(name) )
31 if ( val == nil ) then return default end
32
33 return val
34
35end
36
37function _R.Player:SetPData( name, value )
38
39 name = string.format( "%s[%s]", self:Name(), name )
40 sql.Query( "DELETE FROM playerpdata WHERE infoid = " .. SQLStr(name) )
41 sql.Query( "INSERT INTO playerpdata ( infoid, value ) VALUES ( "..SQLStr(name)..", "..SQLStr(value).." )" )
42
43end