• Big problem with SQLite.
    4 replies, posted
Hello, I have a minigame gamemode where you can have custom model, tags, taunts, etc... But, sometimes, when the map change, players lost their model or tags and always have to again and again set their settings at every map change. It's very boring, I looked into the sv.db file, and I see that the value in the table where your model ID is located return back to the default value at every map change. What's happening to SQLite? Here is the SQL.lua file: [lua]function tables_exist() if sql.TableExists("player_info") then Msg("Table exists !\n") else local query = "CREATE TABLE player_info ( unique_id varchar(255), money int, purch_money int )" local result = sql.Query(query) if (sql.TableExists("player_info")) then Msg("Succes ! table created \n") else Msg("Somthing went wrong with the player_info query ! \n") Msg( sql.LastError( result ) .. "\n" ) end end if sql.TableExists("player_model") then Msg("Table exists !\n") else local query = "CREATE TABLE player_model ( unique_id varchar(255), curr_model int, m1 int, m2 int, m3 int, m4 int, m5 int, m6 int, m7 int, m8 int, m9 int, m10 int, m11 int, m12 int, m13 int, m14 int, m15 int, m16 int, m17 int, m18 int, m19 int, m20 int, m21 int, m22 int, m23 int, m24 int, m25 int, m26 int, m27 int, m28 int, m29 int, m30 int, m31 int, m32 int, m33 int, m34 int, m35 int, m36 int, m37 int, m38 int, m39 int, m40 int, m41 int, m42 int, m43 int, m44 int, m45 int, m46 int, m47 int, m48 int, m49 int, m50 int, m51 int, m52 int, m53 int, m54 int, m55 int, m56 int, m57 int, m58 int, m59 int, m60 int, m61 int, m62 int, m63 int, m64 int, m65 int, m66 int )" local result = sql.Query(query) if (sql.TableExists("player_model")) then Msg("Succes ! table created \n") else Msg("Somthing went wrong with the player_model query ! \n") Msg( sql.LastError( result ) .. "\n" ) end end if sql.TableExists("player_trails") then Msg("Table exists !\n") else local query = "CREATE TABLE player_trails ( unique_id varchar(255), curr_trail int, m1 int, m2 int, m3 int, m4 int, m5 int, m6 int, m7 int, m8 int, m9 int, m10 int, m11 int, m12 int, m13 int, m14 int, m15 int, m16 int, m17 int, m18 int, m19 int, m20 int, m21 int, m22 int, m23 int, m24 int, m25 int, m26 int, m27 int, m28 int, m29 int, m30 int, m31 int, m32 int, m33 int, m34 int, m35 int, m36 int, m37 int, m38 int, m39 int, m40 int, m41 int, m42 int, m43 int, m44 int, m45 int, m46 int, m47 int, m48 int, m49 int, m50 int, m51 int, m52 int, m53 int, m54 int, m55 int, m56 int, m57 int, m58 int, m59 int, m60 int, m61 int, m62 int, m63 int, m64 int, m65 int, m66 int )" local result = sql.Query(query) if (sql.TableExists("player_trails")) then Msg("Succes ! table created \n") else Msg("Somthing went wrong with the player_trails query ! \n") Msg( sql.LastError( result ) .. "\n" ) end end if sql.TableExists("player_taunts") then Msg("Table exists !\n") else local query = "CREATE TABLE player_taunts ( unique_id varchar(255), curr_taunt int, m1 int, m2 int, m3 int, m4 int, m5 int, m6 int, m7 int, m8 int, m9 int, m10 int, m11 int, m12 int, m13 int, m14 int, m15 int, m16 int, m17 int, m18 int, m19 int, m20 int, m21 int, m22 int, m23 int, m24 int, m25 int, m26 int, m27 int, m28 int, m29 int, m30 int, m31 int, m32 int, m33 int, m34 int, m35 int, m36 int, m37 int, m38 int, m39 int, m40 int, m41 int, m42 int, m43 int, m44 int, m45 int, m46 int, m47 int, m48 int, m49 int, m50 int, m51 int, m52 int, m53 int, m54 int, m55 int, m56 int, m57 int, m58 int, m59 int, m60 int, m61 int, m62 int, m63 int, m64 int, m65 int, m66 int )" local result = sql.Query(query) if (sql.TableExists("player_taunts")) then Msg("Succes ! table created \n") else Msg("Somthing went wrong with the player_taunts query ! \n") Msg( sql.LastError( result ) .. "\n" ) end end if sql.TableExists("player_tag") then Msg("Table exists !\n") else local query = "CREATE TABLE player_tag ( unique_id varchar(255), curr_tag int, m1 int, m2 int, m3 int, m4 int, m5 int, m6 int, m7 int, m8 int, m9 int, m10 int, m11 int, m12 int, m13 int, m14 int, m15 int, m16 int, m17 int, m18 int, m19 int, m20 int, m21 int, m22 int, m23 int, m24 int, m25 int, m26 int, m27 int, m28 int, m29 int, m30 int, m31 int, m32 int, m33 int, m34 int, m35 int, m36 int, m37 int, m38 int, m39 int, m40 int, m41 int, m42 int, m43 int, m44 int, m45 int, m46 int, m47 int, m48 int, m49 int, m50 int, m51 int, m52 int, m53 int, m54 int, m55 int, m56 int, m57 int, m58 int, m59 int, m60 int, m61 int, m62 int, m63 int, m64 int, m65 int, m66 int )" local result = sql.Query(query) if (sql.TableExists("player_tag")) then Msg("Succes ! table created \n") else Msg("Somthing went wrong with the player_tag query ! \n") Msg( sql.LastError( result ) .. "\n" ) end end if sql.TableExists("player_hats") then Msg("Table exists !\n") else local query = "CREATE TABLE player_hats ( unique_id varchar(255), curr_hat int, m1 int, m2 int, m3 int, m4 int, m5 int, m6 int, m7 int, m8 int, m9 int, m10 int, m11 int, m12 int, m13 int, m14 int, m15 int, m16 int, m17 int, m18 int, m19 int, m20 int, m21 int, m22 int, m23 int, m24 int, m25 int, m26 int, m27 int, m28 int, m29 int, m30 int, m31 int, m32 int, m33 int, m34 int, m35 int, m36 int, m37 int, m38 int, m39 int, m40 int, m41 int, m42 int, m43 int, m44 int, m45 int, m46 int, m47 int, m48 int, m49 int, m50 int, m51 int, m52 int, m53 int, m54 int, m55 int, m56 int, m57 int, m58 int, m59 int, m60 int, m61 int, m62 int, m63 int, m64 int, m65 int, m66 int )" local result = sql.Query(query) if (sql.TableExists("player_hats")) then Msg("Succes ! table created \n") else Msg("Somthing went wrong with the player_hats query ! \n") Msg( sql.LastError( result ) .. "\n" ) end end end function new_player( SteamID, ply ) local steamID = SteamID sql.Query( "INSERT INTO player_info (`unique_id`, `money`, `purch_money`)VALUES ('"..steamID.."', '1000', '0')" ) local result = sql.Query( "SELECT unique_id, money FROM player_info WHERE unique_id = '"..steamID.."'" ) if !(result) then Msg("Something went wrong with creating a players info !\n") else sql_value_stats(ply) end end function new_stats(SteamID, ply) local steamID = SteamID sql.Query( "INSERT INTO player_model (`unique_id`, `curr_model`, 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm10', 'm11', 'm12', 'm13', 'm14', 'm15', 'm16', 'm17', 'm18', 'm19', 'm20', 'm21', 'm22', 'm23', 'm24', 'm25', 'm26', 'm27', 'm28', 'm29', 'm30', 'm31', 'm32', 'm33', 'm34', 'm35', 'm36', 'm37', 'm38', 'm39', 'm40', 'm41', 'm42', 'm43', 'm44', 'm45', 'm46', 'm47', 'm48', 'm49', 'm50', 'm51', 'm52', 'm53', 'm54', 'm55', 'm56', 'm57', 'm58', 'm59', 'm60', 'm61', 'm62', 'm63', 'm64', 'm65', 'm66')VALUES ('"..steamID.."', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0')" ) local result = sql.Query( "SELECT unique_id, curr_model FROM player_model WHERE unique_id = '"..steamID.."'" ) if !(result) then Msg("Something went wrong with creating a players stats !\n") else sql_value_stats(ply) end end function new_trails(SteamID, ply) local steamID = SteamID sql.Query( "INSERT INTO player_trails (`unique_id`, `curr_trail`, 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm10', 'm11', 'm12', 'm13', 'm14', 'm15', 'm16'
[lua]"CREATE TABLE player_tag ( unique_id varchar(255), curr_tag int, m1 int, m2 int, m3 int, m4 int, m5 int, m6 int, m7 int, m8 int, m9 int, m10 int, m11 int, m12 int, m13 int, m14 int, m15 int, m16 int, m17 int, m18 int, m19 int, m20 int, m21 int, m22 int, m23 int, m24 int, m25 int, m26 int, m27 int, m28 int, m29 int, m30 int, m31 int, m32 int, m33 int, m34 int, m35 int, m36 int, m37 int, m38 int, m39 int, m40 int, m41 int, m42 int, m43 int, m44 int, m45 int, m46 int, m47 int, m48 int, m49 int, m50 int, m51 int, m52 int, m53 int, m54 int, m55 int, m56 int, m57 int, m58 int, m59 int, m60 int, m61 int, m62 int, m63 int, m64 int, m65 int, m66 int )"[/lua] wat
There are about few tags. Each "m1, m2, m3,..." correspond to a tag. Curr_tag is the number of the actual tag in game. Unique id is the steam ID.
It would help if you actually gave us some context in which to put this. You posted a dozen functions but failed to provide any order in which they are supposed to be called. What are you hooking to? Show us your code for PlayerAuthed / PlayerConnect / etc...
[QUOTE=Loucouss;29544456]There are about few tags. Each "m1, m2, m3,..." correspond to a tag. Curr_tag is the number of the actual tag in game. Unique id is the steam ID.[/QUOTE] Not OP's problem, but you're doing it horribly wrong. Instead of having a player_trail table with a shitton of columns, have a table with the following columns: player_id, trail_id. Then when a player has a trail "lololo", create a new row with player_id corresponding to your playerid, and trail_id set to "lololo" or another unique identifier for that trail. Then, when you want to list all the trails available to a player, just "SELECT trail_id FROM sometable WHERE player_id = '...';"... When you want to add a trail available to a player, "INSERT INTO sometable (player_id, trail_id) VALUES ('...', 'lolololo');", and when you want to make a trail not available for the player, "DELETE FROM sometable WHERE player_id = '...';".
Sorry, you need to Log In to post a reply to this thread.