• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Pawn] Health not saving in SQLite?
#1
Trying to save player health but doesn't seem to be working i'll like to know what im doing wrong?

Created a table in OnGameModeInit:
PHP Code:
db_query(server_database, "CREATE TABLE IF NOT EXISTS `USERS` (`NAME`, `IP`, `REGISTER_DATE`, `PASS`, `SCORE`, `KILLS`, `DEATHS`, `SKIN`, `HEALTH`, `pX`, `pY`, `pZ`, `pA`, `INT`, `WORLD`, `ADMIN`)");;

Selecting data:
PHP Code:
public OnPlayerLogin(playerid, bool:success) { if(success) { new query[256], field[24], field2[64]; format(query, sizeof(query), "SELECT * FROM `USERS` WHERE `NAME` = '%s' COLLATE NOCASE", DB_Escape(ReturnName(playerid))); database_result = db_query(server_database, query); if(db_num_rows(database_result)) { db_get_field_assoc(database_result, "ADMIN", field, sizeof(field)); PlayerInfo[playerid][pAdmin] = strval(field); db_get_field_assoc(database_result, "SCORE", field, sizeof(field)); SetPlayerScore(playerid, strval(field)); db_get_field_assoc(database_result, "KILLS", field, sizeof(field)); PlayerInfo[playerid][pKills] = strval(field); db_get_field_assoc(database_result, "DEATHS", field, sizeof(field)); PlayerInfo[playerid][pDeaths] = strval(field); db_get_field_assoc(database_result, "SKIN", field, sizeof(field)); PlayerInfo[playerid][pSkin] = strval(field); db_get_field_assoc(database_result, "REGISTER_DATE", field2, sizeof(field2)); PlayerInfo[playerid][pRegister] = field2; db_get_field_assoc(database_result, "HEALTH", field, sizeof(field)); PlayerInfo[playerid][pHealth] = floatstr(field); db_get_field_assoc(database_result, "pX", field, sizeof(field)); PlayerInfo[playerid][pX] = floatstr(field); db_get_field_assoc(database_result, "pY", field, sizeof(field)); PlayerInfo[playerid][pY] = floatstr(field); db_get_field_assoc(database_result, "pZ", field, sizeof(field)); PlayerInfo[playerid][pZ] = floatstr(field); db_get_field_assoc(database_result, "pA", field, sizeof(field)); PlayerInfo[playerid][pA] = floatstr(field); db_get_field_assoc(database_result, "INT", field, sizeof(field)); PlayerInfo[playerid][pInt] = strval(field); db_get_field_assoc(database_result, "WORLD", field, sizeof(field)); PlayerInfo[playerid][pWorld] = strval(field); }

Inserting Health Data:
PHP Code:
? ?? new query[400]; format(query, sizeof(query), "INSERT INTO `USERS` (`NAME`, `PASS`, `ADMIN`, `IP`, `REGISTER_DATE`, `SCORE`, `KILLS`, `DEATHS`, `SKIN`, `HEALTH`, `pX`, `pY`, `pZ`, `pA`, `INT`, `WORLD`) VALUES ('%s', '%s', %d, '%s', '%s', %d, %d, %d, %d, %f, %f, %f, %f, %f, %d, %d)", DB_Escape(ReturnName(playerid)), password, PLAYER, ip, Date, GetPlayerScore(playerid), PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], GetPlayerSkin(playerid), PlayerInfo[playerid][pHealth], PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ], PlayerInfo[playerid][pA], PlayerInfo[playerid][pInt], PlayerInfo[playerid][pWorld]); database_result = db_query(server_database, query); db_free_result(database_result);

Updating Data:

PHP Code:
? ? ? ? ? ?? stock SaveAccount(playerid) { new query[400], Float:pos[4]; if(PlayerInfo[playerid][pLoggedIn] == true) { GetPlayerPos(playerid, pos[0], pos[1], pos[2]); GetPlayerFacingAngle(playerid, pos[3]); GetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]); format(query, sizeof(query), "UPDATE `USERS` SET `ADMIN` = %d, `SCORE` = %d, `KILLS` = %d, `DEATHS` = %d, `SKIN` = %d, `HEALTH` = %f, `pX` = %f, `pY` = %f, `pZ` = %f, `pA` = %f, `INT` = %d, `WORLD` = %d, `ADMIN` = %d WHERE `NAME` = '%s' COLLATE NOCASE", PlayerInfo[playerid][pAdmin], GetPlayerScore(playerid), PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], GetPlayerSkin(playerid), PlayerInfo[playerid][pHealth], pos[0], pos[1], pos[2], pos[3], GetPlayerInterior(playerid), GetPlayerVirtualWorld(playerid), PlayerInfo[playerid][pAdmin], DB_Escape(ReturnName(playerid))); database_result = db_query(server_database, query); db_free_result(database_result); } return 1; }

Code runs without errors but im still unsure on why its not saving and loading the players health..
  Reply
#2
I'm suprised your create table query even runs because is so wrong

https://www.sqlitetutorial.net/sqlite-create-table/
Away
  Reply
#3
(2022-04-14, 07:25 AM)Banditul Wrote: I'm suprised your create table query even runs because is so wrong

https://www.sqlitetutorial.net/sqlite-create-table/



Everything is working fine, my next step is to have the health system saved.?



I know it's not good practice but, ill fix all those later once i fix some of the features i want to add on the server.
  Reply
#4
I've updated the code slightly and it does run but the Health data still doesn't show on sqlite browser. Any ideas?
  Reply