//MySql
#define MySQL_Servidor "localhost" // bueno aca lo dejo asi creo
#define MySQL_Usuario "root" //Aca que se pone? la Conexion remota ?
#define MySQL_BD "Aca el nombre de mi base de datos"
#define MySQL_Clave "aca la clave de la base de datos"
ShowMainMenuDialog(playerid, frame)
{
new titlestring[28];
new string[256];
new pName[24], Query[256]; GetPlayerName(playerid, pName, 24);
InsideMainMenu[playerid] = true;
switch(frame)
{
case LOGIN:
{
INI_ParseFile(UserPath(playerid), "LoadUser_pass", .bExtra = true, .extra = playerid);
format(Query, sizeof(Query), "SELECT * FROM `usuarios` WHERE `Nombre` = '%s'", pName);
mysql_function_query(Conecction, Query, true, "OnQueryFinish", "ii", 1, playerid);
new ip[32];
GetPlayerIp(playerid, ip, 32);
format(titlestring, sizeof(titlestring), "{C0C0C0}Cuenta Registrada");
format(string, sizeof(string), "{8080FF}Contraseсa:");
SafeDialogEx(playerid,DLOGIN,DIALOG_STYLE_PASSWORD ,titlestring,string,"Entrar","Salir");
SetPlayerVirtualWorld(playerid, 20);
}
case REGISTRO:
{
new ip[32];
GetPlayerIp(playerid, ip, 32);
format(titlestring, sizeof(titlestring), "{C0C0C0}Cuenta Nueva");
format(string, sizeof(string), "{8080FF}Contraseсa:");
SafeDialogEx(playerid,DREGISTER,DIALOG_STYLE_INPUT ,titlestring,string,"Registrar","Salir");
SetPlayerVirtualWorld(playerid, 20);
format(Query, sizeof(Query), "INSERT INTO `usuarios` (Nombre, Contraseсa) VALUES ('%s', '%s')",pName, Info[playerid][pKey]);
mysql_function_query(Conecction, Query, true, "OnQueryFinish", "ii", 0, playerid);
}
}
}
public OnGameModeInit()
{
printf("Iniciando conexiуn MySQL: (Servidor: '%s', Usuario: '%s', Clave: '%s', Base de Datos: '%s')", MySQL_Servidor, MySQL_Usuario, MySQL_Clave, MySQL_BD);
Conecction = mysql_connect(MySQL_Servidor, MySQL_Usuario, MySQL_BD,MySQL_Clave);
if(mysql_ping() == 1) //Comprobamos si se conectу
{
printf("Conexiуn a la base de datos realizada correctamente.");
}
else //Caso contrario:
{
print("Conexiуn a la base de datos no realizada.");
mysql_close(); //Cerramos la conexiуn
SendRconCommand("exit"); //Cerramos la consola para evitar bug's
}
return 1;
}
public OnQueryError(errorid, error[], callback[], query[], connectionHandle )
{
printf("[ERROR] ID: %d - Error: %s - Callback - %s - Query: %s", errorid, error, callback, query); //Imprimimos el mensaje en la consola
return 1;
}
forward CheckPlayer(playerid);
public CheckPlayer(playerid)
{
new pName[24], Query[256];
GetPlayerName(playerid, pName, 24);
format(Query, sizeof(Query), "SELECT * FROM `usuarios` WHERE Nombre='%s'", pName);
mysql_function_query(Conecction, Query, true, "OnQueryFinish", "ii",2, playerid);
return 1;
}
forward OnQueryFinish(resultid, extraid, ConnectionHandle);
public OnQueryFinish(resultid, extraid, ConnectionHandle)
{
new Rows, Field, string[256];
if(resultid != 0)
{
cache_get_data(Rows, Field);
}
switch(resultid)
{
case 1:
{
if(Rows == 1)
{
new content[8];
cache_get_field_content(0, "Contraseсa", content); Info[extraid][pKey] = strval(content);
cache_get_field_content(0, "Admin", content); Info[extraid][pAdminZC] = strval(content);
cache_get_field_content(0, "Score", content); Info[extraid][pLevel] = strval(content);
cache_get_field_content(0, "Vida", content); Info[extraid][pHealth] = floatstr(content);
cache_get_field_content(0, "Chaleco", content); Info[extraid][pArmour] = floatstr(content);
cache_get_field_content(0, "Posx", content); Info[extraid][pPos_x] = floatstr(content);
cache_get_field_content(0, "Posy", content); Info[extraid][pPos_y] = floatstr(content);
cache_get_field_content(0, "Posz", content); Info[extraid][pPos_z] = floatstr(content);
}
else if(!Rows)
{
//
}
}
case 2:
{
if(Rows == 1)
{
new pName[24]; GetPlayerName(extraid, pName, 24);
cache_get_field_content(0, "Contraseсa", Info[extraid][pKey]);
format(string, sizeof(string), "El personaje %s estб registrado en la base de datos. Pon los datos para iniciar sesiуn:", pName);
ShowPlayerDialog(extraid, LOGIN, DIALOG_STYLE_PASSWORD,"Login",string,"Enviar","Salir");
}
else if(!Rows)
{
new pName[24]; GetPlayerName(extraid, pName, 24);
format(string, sizeof(string), "El jugador %s no estб registrado en el servidor, pon aquн la contraseсa para registrarlo:", pName);
ShowPlayerDialog(extraid, REGISTRO, DIALOG_STYLE_PASSWORD,"Registro:",string,"Enviar","Salir");
}
}
}
return 1;
}
forward SaveAccounts(playerid);public SaveAccounts(playerid)
{
new query[200];GetPlayerPos(playerid, Info[playerid][pPos_x], Info[playerid][pPos_y], Info[playerid][pPos_z]);
new pName[24]; GetPlayerName(playerid, pName, 24); GetPlayerHealth(playerid, Info[playerid][pHealth]), GetPlayerArmour(playerid, Info[playerid][pArmour]);
format(query, 200, "UPDATE `usuarios` SET `Vida`='%f', `Chaleco`='%f', `Admin`='%d', `Score`='%d', `Posx`='%f', `Posy`='%f', `Posz`='%f' WHERE `Nombre`='%s'", Info[playerid][pHealth], Info[playerid][pArmour],
Info[playerid][pAdminZC], Info[playerid][pLevel], Info[playerid][pPos_x], Info[playerid][pPos_y], Info[playerid][pPos_z], pName);
mysql_function_query(Conecction, query, true, "OnQueryFinish", "ii", 0, playerid);
return 1;
}
#define MySQL_Servidor "localhost" // bueno aca lo dejo asi creo
#define MySQL_Usuario "root" //Aca que se pone? la Conexion remota ?
#define MySQL_BD "Aca el nombre de mi base de datos"
#define MySQL_Clave "aca la clave de la base de datos"
Conexiуn por MySQL
pawn Код:
|
#define MySQL_Servidor "localhost"
#define MySQL_Usuario "root"
#define MySQL_BD "Jejox_15947"
#define MySQL_Clave ""
pawn Код:
|
mmm pasame el log de mysql y viendo el nombre de la base de datos tu usuario tendrнa que ser algo como Jerox_qcyo
Y en la consola cuando lo prendes no te saliу: Conexiуn a la base de datos realizada correctamente o Conexiуn a la base de datos no realizada. ? |
En donde sale el log de mysql?
Mira le saque una foto a la consola, despues de eso se borra todo y dice MySql uploade o algo asi, y se cierra el server |