[Duda] Guardado Mysql
#1

Hola bueno pues tengo una duda, cogн un gm mysql para practicar y estoy intentando hacer el guardado de toys ya que este GM tiene dicho sistema pero no tiene el guardado correspondiente, Mi duda es como podrнa hacerlo. Dejo un ej para ver mas o menos de que hablo...

El enum de los toys
Код:
enum ptInfo
{
    ptModelID,
	ptBone,
    Float:ptPosX,
	Float:ptPosY,
	Float:ptPosZ,
	Float:ptRotX,
	Float:ptRotY,
	Float:ptRotZ,
	Float:ftscaleX,
	Float:ftscaleY,
	Float:ftscaleZ
};
new PlayerToyInfo[MAX_PLAYERS+1][MAX_PLAYERTOYS][ptInfo];
En la callback (OnPlayerDisconnect) coloco lo siguiente, esto para guardar al desconectar

Код:
    for(new v = 0; v < MAX_PLAYERTOYS; v++){
        new sql[16];
        format(sql, sizeof(sql), "pt%dModelID", v);
        GuardarValor(playerid, sql, PlayerToyInfo[playerid][v][ptModelID]);
        format(sql, sizeof(sql), "pt%dBone", v);
        GuardarValor(playerid, sql, PlayerToyInfo[playerid][v][ptBone]);
        format(sql, sizeof(sql), "pt%dPosX", v);
        GuardarValor(playerid, sql, PlayerToyInfo[playerid][v][ptPosX]);
        format(sql, sizeof(sql), "pt%dPosY", v);
        GuardarValor(playerid, sql, PlayerToyInfo[playerid][v][ptPosY]);
        format(sql, sizeof(sql), "pt%dPosZ", v);
        GuardarValor(playerid, sql, PlayerToyInfo[playerid][v][ptPosZ]);
        format(sql, sizeof(sql), "pt%dRotX", v);
        GuardarValor(playerid, sql, PlayerToyInfo[playerid][v][ptRotX]);
        format(sql, sizeof(sql), "pt%dRotY", v);
        GuardarValor(playerid, sql, PlayerToyInfo[playerid][v][ptRotY]);
        format(sql, sizeof(sql), "pt%dRotZ", v);
        GuardarValor(playerid, sql, PlayerToyInfo[playerid][v][ptRotZ]);
        format(sql, sizeof(sql), "ft%dscaleX", v);
        GuardarValor(playerid, sql, PlayerToyInfo[playerid][v][ftscaleX]);
        format(sql, sizeof(sql), "ft%dscaleY", v);
        GuardarValor(playerid, sql, PlayerToyInfo[playerid][v][ftscaleY]);
        format(sql, sizeof(sql), "ft%dscaleZ", v);
        GuardarValor(playerid, sql, PlayerToyInfo[playerid][v][ftscaleZ]);
    }
Pero al compilar me tira el warning ''warning 213: tag mismatch'', no entiendo a que se debe.
Reply
#2

PlayerToyInfo[playerid][v][ptPosX] es Float y estбs poniendo un Float en un parбmetro que es Integer, cosa que no solo esa variable sino muchos Float tambiйn.
Hace otra funciуn GuardarValor pero que el parбmetro sea Float, ponele, por ejemplo, GuardarValorFloat.
Por cierto, estб todo terriblemente optimizado tu sistema.
Reply
#3

Mmm entiendo a lo que te refieres, pero eso de poder guardar float no mucho, Podrнas darme un ej de como podrнa ser?, yo tengo asi la funciуn:

Код:
forward GuardarValor(playerid, cadena[], valor); public GuardarValor(playerid, cadena[], valor){
	new string[256];
	format(string, 256, "UPDATE cuentas SET %s=%d WHERE username = '%s'", cadena, valor,NombreOOC(playerid));
	mysql_function_query(TuberiasMySQL, string, false, "OnQueryFinish", "ii", SIN_RESULTADO, playerid);
	return 0;
}
Reply
#4

Quote:
Originally Posted by Charlie009
Посмотреть сообщение
Mmm entiendo a lo que te refieres, pero eso de poder guardar float no mucho, Podrнas darme un ej de como podrнa ser?, yo tengo asi la funciуn:

Код:
forward GuardarValor(playerid, cadena[], valor); public GuardarValor(playerid, cadena[], valor){
	new string[256];
	format(string, 256, "UPDATE cuentas SET %s=%d WHERE username = '%s'", cadena, valor,NombreOOC(playerid));
	mysql_function_query(TuberiasMySQL, string, false, "OnQueryFinish", "ii", SIN_RESULTADO, playerid);
	return 0;
}
pawn Код:
forward GuardarValorFloat(playerid, cadena[], Float:valor);
public GuardarValorFloat(playerid, cadena[], Float:valor){
    new string[256];
    format(string, 256, "UPDATE cuentas SET %s=%f WHERE username = '%s'", cadena, valor,NombreOOC(playerid));
    mysql_function_query(TuberiasMySQL, string, false, "OnQueryFinish", "ii", SIN_RESULTADO, playerid);
    return 0;
}
Reply
#5

Quote:
Originally Posted by MugiwaraNoLuffy
Посмотреть сообщение
pawn Код:
forward GuardarValorFloat(playerid, cadena[], Float:valor);
public GuardarValorFloat(playerid, cadena[], Float:valor){
    new string[256];
    format(string, 256, "UPDATE cuentas SET %s=%f WHERE username = '%s'", cadena, valor,NombreOOC(playerid));
    mysql_function_query(TuberiasMySQL, string, false, "OnQueryFinish", "ii", SIN_RESULTADO, playerid);
    return 0;
}
Gracias!, aunque ya lo hice, Pero igual gracias por tu tiempo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)