07.03.2016, 22:11
Buenas, como andan?
Estoy intentando hacer un sistema de registro con SQLite, pero el problema es que no se que debo colocar en el codigo, por que no me guarda el usuario, estoy bastante perdido por mas que ya haya mirado varios tutoriales.
Dejo el codigo que tengo hecho.
Saludos
Estoy intentando hacer un sistema de registro con SQLite, pero el problema es que no se que debo colocar en el codigo, por que no me guarda el usuario, estoy bastante perdido por mas que ya haya mirado varios tutoriales.
Dejo el codigo que tengo hecho.
Код:
//Variables database new DB: Database; //Datos a guardar enum USER_DATA { pUsername, pPassword, pPosicionX, pPosicionY, pPosicionZ }; new pInfo[MAX_PLAYERS][USER_DATA]; //Defines dialogs #define DIALOG_LOGIN (1) #define DIALOG_REGISTRO (2) #define COL_GREEN "{6EF83C}" // GREEN color in HEX ( USED ) #define COL_RED "{F81414}" // RED color in HEX ( USED ) #define COL_BLUE "{00C0FF}" // BLUE color in HEX ( USED ) //DB_Escape #define MAX_INI_ENTRY_TEXT 80 stock DB_Escape(text[]) { new ret[MAX_INI_ENTRY_TEXT * 2], ch, i, j; while ((ch = text[i++]) && j < sizeof (ret)) { if (ch == '\'') { if (j < sizeof (ret) - 2) { ret[j++] = '\''; ret[j++] = '\''; } } else if (j < sizeof (ret)) { ret[j++] = ch; } else { j++; } } ret[sizeof (ret) - 1] = '\0'; return ret; } public OnGameModeInit() { // Don't use these lines if it's a filterscript SetGameModeText("SQLite prueba"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); //Conexion a database if((Database = db_open("Database.db")) == DB:0) { // Error de conexion print("Fallo la conexion a \"Database.db\"."); SendRconCommand("exit"); } else { // Conexion con exito print("Conexion con exito a \"Database.db\"."); db_query(Database, "CREATE TABLE IF NOT EXISTS users (userid INTEGER PRIMARY KEY AUTOINCREMENT, username VARCHAR(24) COLLATE NOCASE, password VARCHAR(129), posicionx INTEGER DEFAULT 0 NOT NULL, posiciony INTEGER DEFAULT 0 NOT NULL, posicionz INTEGER DEFAULT 0 NOT NULL)"); } return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerConnect(playerid) { new DBResult: Resultado, Query[200], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); // Gather the players name. format(Query, sizeof(Query), "SELECT * FROM `users` WHERE `Username` = '%s'",DB_Escape(name)); Resultado = db_query(Database, Query); if(db_num_rows(Resultado)) { ShowPlayerDialog(playerid,DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Ingresa tu password para loguearte:", "Login", "Cancelar"); } else ShowPlayerDialog(playerid,DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Ingresa tu password para registrarte:", "Registrar", "Cancelar"); db_free_result(Resultado); return 1; }