їPorquй se modifica esto? (MySQL)
#1

Buenas chicos. He hecho un sistema de logueo y registro via MySQL r39. El problema estб en que yo he creado una variable en un enum, es decir, que tengo lo siguiente:

pInfo[playerid][Telefono]

El problema estб en que repentinamente me ha empezado a fallar el guardado, de tal manera que se buguea por completo el personaje. El sistema de telйfono no estб tocado, no se edita la variable en ningъn lugar y estб seteada a cero cuбndo se registran, de tal manera que al desconectar tendrнa que aparecer cero, pero aparece 99 bugueando la tabla del personaje.

pawn Код:
pInfo[playerid][Skin] = GetPlayerSkin(playerid);
new Query[254], name[MAX_PLAYER_NAME], Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerName(playerid, name, sizeof(name));
mysql_format(MySQL, Query, sizeof(Query),"UPDATE `usuarios` SET `Nivel`=%d,`Respeto`=%d,`Nstaff`='%s',`Telefono`=%d,`PosX`=%f,`PosY`=%f,`PosZ`=%f,`Skin`=%d,`Rango`=%d WHERE `Usuario` = '%s'",
pInfo[playerid][Nivel],pInfo[playerid][Respeto],pInfo[playerid][NombreStaff], pInfo[playerid][Telefono],X,Y,Z,pInfo[playerid][Skin],pInfo[playerid][Rango],name);
mysql_pquery(MySQL, Query);
El problema estб en que no modifico la variable de telйfono en todo el gamemode y aъn asн me guarda como 99, 120 y cosas raras. En los log's del MySQL no aparece ningъn warning ni error.

їAlguna sugerencia?

Resto del cуdigo:

pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
if(Logueado[playerid] == 1)
{
    ActualizarCuenta(playerid);
    }
}

public Cargarcuenta(playerid)
{
    pInfo[playerid][Nivel] = cache_get_field_content_int(0, "Nivel");
    SetPlayerScore(playerid, pInfo[playerid][Nivel]);
    pInfo[playerid][Respeto] = cache_get_field_content_int(0, "Respeto");
    pInfo[playerid][Rango] = cache_get_field_content_int(0, "Rango");
    pInfo[playerid][Skin] = cache_get_field_content_int(0, "Skin");
    pInfo[playerid][PosicionX] = cache_get_field_content_float(0,"PosX");
    pInfo[playerid][PosicionY] = cache_get_field_content_float(0,"PosY");
    pInfo[playerid][PosicionZ] = cache_get_field_content_float(0,"PosZ");
    printf("%f",pInfo[playerid][PosicionX]);
    printf("%f",pInfo[playerid][PosicionY]);
    printf("%f",pInfo[playerid][PosicionZ]);
    cache_get_field_content(0, "Nstaff", pInfo[playerid][NombreStaff], MySQL, 254);
    OnAccountLoad(playerid);
}

public OnAccountLoad(playerid)
{
Logueado[playerid] = 1;
SetSpawnInfo(playerid, 0, pInfo[playerid][Skin], pInfo[playerid][PosicionX],pInfo[playerid][PosicionY],pInfo[playerid][PosicionZ], 0, 0, 0, 0, 0, 0, 0 );
TogglePlayerSpectating(playerid, 0);
SpawnPlayer(playerid);
new string[254], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string),"{0174DF}%s{FFFFFF}, te has logueado en {FFBF00}Rol Iberico{FFFFFF}.", ReplaceString("_", " ", name));
SendClientMessage(playerid, -1, string);
}
Reply
#2

Y el elemente de la lista (Telefono) es un integer?
Reply
#3

Claro. Quizбs sea problema del guardado o cargado y no del telйfono, estoy desesperado.
Reply
#4

Busca el problema, tal vez hicistes algo con el sistema que no recuerdas en este momento.
Reply
#5

El cargado va con SetSpawnInfo, їes recomendable?
Reply
#6

Quote:
Originally Posted by xHanks
Посмотреть сообщение
El cargado va con SetSpawnInfo, їes recomendable?
Si, arregla unos bugs que se genera con el lag tambien.
Reply
#7

Cuando me registro los datos de la base de datos estбn bien, desconecto y bien, luego logueo y se buguea todo..
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)