All pastes #571011 Raw Edit

Untitled

public text v1 · immutable
·published 2007-06-16 23:49 UTC
rendered paste body

DEBUG = true
function Debug(text)
	if DEBUG == true then
		print(text)
	end
end

require( "SQlite" )

function Save( ply )
 
    local id = ply:SteamID();
    id = sql.SQLStr( id );
 
    sql.Query( "UPDATE saves SET job = " .. sql.SQLStr( ply:GetNWString( "job" ) ) .. ", money = " .. sql.SQLStr( ply:GetNWInt( "money" ) ) .. ", WHERE id = " .. id .. " AND name = " .. sql.SQLStr( ply:Nick() ) );
    Debug("Saved")
end
AddChatCommand( "/save", Save, true )
hook.Add("PlayerDisconnect", "Save player on disconnect", Save ) 

function CreateNewSave( ply )
 
    local id = ply:SteamID();
    id = sql.SQLStr( id );
 
    sql.Query( "INSERT INTO saves ( id, name, job, money ) VALUES ( " .. id .. ", " .. sql.SQLStr( ply:Nick() ) .. ", " .. sql.SQLStr( ply:GetNWString( "job" ) ) .. ", " .. sql.SQLStr( ply:GetNWInt( "money" ) ) .. " )" );
    Debug("Created new save")
	
end

function Load( ply )
	
	if not (sql.Query( "SELECT * FROM saves WHERE id = " .. id .. " AND name = " .. sql.SQLStr( ply:Nick() ) )) then
		Debug("New player profile for " .. ply:Nick() )
		CreateNewSave( ply )
	end
 
    local id = ply:SteamID();
    id = sql.SQLStr( id );
    
    local data = sql.Query( "SELECT * FROM saves WHERE id = " .. id .. " AND name = " .. sql.SQLStr( ply:Nick() ) );
 
    ply:SetNWString( "job", data[1]["job"] )
    ply:SetNWInt( "money", data[1]["money"] )
	
	Debug("Loaded profile for " .. ply:Nick() )

end 
hook.Add("PlayerInitialSpawn", "Load player profile", Load )

Debug("data.lua loaded")