SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Español/Spanish

 
 
Thread Tools Display Modes
Old 04/05/2015, 06:17 PM   #1
xHanks
Big Clucker
 
Join Date: Jan 2014
Posts: 141
Reputation: 5
Question ¿Porqué se modifica esto? (MySQL)

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 Code:
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 Code:
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);
}
xHanks is offline  
Old 04/05/2015, 06:34 PM   #2
SickAttack
Godfather
 
Join Date: Dec 2013
Posts: 5,113
Reputation: 754
Default Re: ¿Porqué se modifica esto? (MySQL)

Y el elemente de la lista (Telefono) es un integer?
SickAttack is offline  
Old 04/05/2015, 06:37 PM   #3
xHanks
Big Clucker
 
Join Date: Jan 2014
Posts: 141
Reputation: 5
Default Respuesta: ¿Porqué se modifica esto? (MySQL)

Claro. Quizás sea problema del guardado o cargado y no del teléfono, estoy desesperado.
xHanks is offline  
Old 04/05/2015, 06:42 PM   #4
SickAttack
Godfather
 
Join Date: Dec 2013
Posts: 5,113
Reputation: 754
Default Re: ¿Porqué se modifica esto? (MySQL)

Busca el problema, tal vez hicistes algo con el sistema que no recuerdas en este momento.
SickAttack is offline  
Old 04/05/2015, 06:43 PM   #5
xHanks
Big Clucker
 
Join Date: Jan 2014
Posts: 141
Reputation: 5
Default Respuesta: ¿Porqué se modifica esto? (MySQL)

El cargado va con SetSpawnInfo, ¿es recomendable?
xHanks is offline  
Old 04/05/2015, 06:55 PM   #6
SickAttack
Godfather
 
Join Date: Dec 2013
Posts: 5,113
Reputation: 754
Default Re: Respuesta: ¿Porqué se modifica esto? (MySQL)

Quote:
Originally Posted by xHanks View Post
El cargado va con SetSpawnInfo, ¿es recomendable?
Si, arregla unos bugs que se genera con el lag tambien.
SickAttack is offline  
Old 04/05/2015, 07:01 PM   #7
xHanks
Big Clucker
 
Join Date: Jan 2014
Posts: 141
Reputation: 5
Default Respuesta: ¿Porqué se modifica esto? (MySQL)

Cuando me registro los datos de la base de datos están bien, desconecto y bien, luego logueo y se buguea todo..
xHanks is offline  
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 01:14 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.