GuardarCuenta( playerid )
{
if( GetPVarInt( playerid, #Login ) == 1 )
{
static
Consulta [ 256 ];
GetPlayerPos( playerid, PlayerInfo[ playerid ][ Pos ][ 0 ], PlayerInfo[ playerid ][ Pos ][ 1 ], PlayerInfo[ playerid ][ Pos ][ 2 ] ) ,
GetPlayerFacingAngle( playerid, PlayerInfo[ playerid ][ Pos ][ 3 ] ) ,
GetPlayerHealth( playerid, PlayerInfo[ playerid ][ Vida ] ) ,
GetPlayerArmour( playerid, PlayerInfo[ playerid ][ Chaleco ] ) ,
PlayerInfo[ playerid ][ Dinero ] = GetPlayerMoney ( playerid ) ,
PlayerInfo[ playerid ][ Interior ] = GetPlayerInterior ( playerid ) ,
PlayerInfo[ playerid ][ VirWorld ] = GetPlayerVirtualWorld ( playerid ) ;
// ------------------------------------- //
mysql_format( ConnectionHandle, Consulta, "UPDATE `users` SET Password='%s', PosX=%.4f, PosY=%.4f, PosZ=%.4f, Ang=%.4f, Vida=%.2f, Chaleco=%.2f WHERE `Nombre` = '%s' AND `ID_User` = '%i';", PlayerInfo[ playerid ][ Password ], PlayerInfo[ playerid ][ Pos ][ 0 ],
PlayerInfo[ playerid ][ Pos ][ 1 ], PlayerInfo[ playerid ][ Pos ][ 2 ], PlayerInfo[ playerid ][ Pos ][ 3 ], PlayerInfo[ playerid ][ Vida ], PlayerInfo[ playerid ][ Chaleco ], GetPName( playerid ), PlayerInfo[ playerid ][ pID ] );
mysql_function_query( ConnectionHandle , Consulta , false, # , # ) ;
// ------------------------------------- //
for( new i; i<13; i++ ) {
GetPlayerWeaponData( playerid, i, PlayerInfo[ playerid ][ Armas ][ i ], PlayerInfo[ playerid ][ Municiones ][ i ] );
mysql_format( ConnectionHandle, Consulta, "UPDATE `users` SET Arma_%i=%i, Municion_%i=%i WHERE `Nombre` = '%s' AND `ID_User` = '%i';", i, PlayerInfo[ playerid ][ Armas ][ i ], PlayerInfo[ playerid ][ Municiones ][ i ], GetPName( playerid ), PlayerInfo[ playerid ][ pID ] );
mysql_function_query( ConnectionHandle , Consulta , false, # , # ) ;
}
// ------------------------------------- //
mysql_format( ConnectionHandle, Consulta, "UPDATE `users` SET Skin=%i, Dinero=%i, Interior=%i, VirWorld=%i ,NivelAdmin=%i ,Tutorial=%i ,Sexo=%i ,Edad=%i WHERE `Nombre` = '%s' AND `ID_User` = '%i';", PlayerInfo[ playerid ][ Skin ], PlayerInfo[ playerid ][ Dinero ], PlayerInfo[ playerid ][ Interior ], PlayerInfo[ playerid ][ VirWorld ],PlayerInfo[ playerid ][ Admin] ,PlayerInfo[ playerid ][ HizoTuto],PlayerInfo[ playerid ][Sexo],PlayerInfo[ playerid ][Edad],GetPName( playerid ),
PlayerInfo[ playerid ][ pID ]);
mysql_function_query( ConnectionHandle , Consulta , false, # , # ) ;
// ------------------------------------- //
mysql_format( ConnectionHandle, Consulta, "UPDATE `users` SET Faccion=%i ,Trabajo=%i ,Encendedor=%i ,Cigarros=%i , Banco=%i ,Nivel=%i ,Experiencia=%i WHERE `Nombre` = '%s' AND `ID_User` = '%i';",PlayerInfo[ playerid ][Faccion],PlayerInfo[ playerid ][Trabajo],PlayerInfo[ playerid ][Encendedor],PlayerInfo[ playerid ][Cigarros],PlayerInfo[ playerid ][Banco],PlayerInfo[ playerid ][Nivel],PlayerInfo[ playerid ][Experiencia], GetPName( playerid ),
PlayerInfo[ playerid ][ pID ]);
mysql_function_query( ConnectionHandle , Consulta , false, # , # ) ;
// ------------------------------------- //
mysql_format( ConnectionHandle, Consulta, "UPDATE `users` SET Payday=%i ,TiempoConeccion=%i,Jaileado=%i,TiempoJail=%i,Estrellas=%i WHERE `Nombre` = '%s' AND `ID_User` = '%i';",PlayerInfo[ playerid ][Payday] ,PlayerInfo[ playerid ][TiempoConectado],PlayerInfo[ playerid ][Jaileado],PlayerInfo[ playerid ][TiempoJail],PlayerInfo[ playerid ][Estrellas], GetPName( playerid ),
PlayerInfo[ playerid ][ pID ]);
mysql_function_query( ConnectionHandle , Consulta , false, # , # ) ;
}
return 1;
}
for( new i; i<13; i++ ) {
GetPlayerWeaponData( playerid, i, PlayerInfo[ playerid ][ Armas ][ i ], PlayerInfo[ playerid ][ Municiones ][ i ] );
mysql_format( ConnectionHandle, Consulta, "UPDATE `users` SET Arma_%i=%i, Municion_%i=%i WHERE `Nombre` = '%s' AND `ID_User` = '%i';", i, PlayerInfo[ playerid ][ Armas ][ i ], PlayerInfo[ playerid ][ Municiones ][ i ], GetPName( playerid ), PlayerInfo[ playerid ][ pID ] );
mysql_function_query( ConnectionHandle , Consulta , false, # , # ) ;
}
En primer lugar cambia el static a new, y luego despuйs de cada mysql_function_query pon un print y mira a ver cual de ellos no sale en la consola, y despuйs deja un comentario aquн con el debug si no consigues arreglarlo.
![]() Saludos. _______________________ EDIT: esto estб mal hecho. pawn Код:
![]() |
[11:57:33] Mysql one [11:57:33] Mysql two [11:57:33] Mysql two [11:57:33] Mysql two [11:57:33] Mysql two [11:57:33] Mysql two [11:57:33] Mysql two [11:57:33] Mysql two [11:57:33] Mysql two [11:57:33] Mysql two [11:57:33] Mysql two [11:57:33] Mysql two [11:57:33] Mysql two [11:57:33] Mysql two
GuardarCuenta( playerid )
{
if( GetPVarInt( playerid, #Login ) == 1 )
{
new Consulta [ 256 ];
GetPlayerPos( playerid, PlayerInfo[ playerid ][ Pos ][ 0 ], PlayerInfo[ playerid ][ Pos ][ 1 ], PlayerInfo[ playerid ][ Pos ][ 2 ] ) ,
GetPlayerFacingAngle( playerid, PlayerInfo[ playerid ][ Pos ][ 3 ] ) ,
GetPlayerHealth( playerid, PlayerInfo[ playerid ][ Vida ] ) ,
GetPlayerArmour( playerid, PlayerInfo[ playerid ][ Chaleco ] ) ,
PlayerInfo[ playerid ][ Dinero ] = GetPlayerMoney ( playerid ) ,
PlayerInfo[ playerid ][ Interior ] = GetPlayerInterior ( playerid ) ,
PlayerInfo[ playerid ][ VirWorld ] = GetPlayerVirtualWorld ( playerid ) ;
// ------------------------------------- //
mysql_format( ConnectionHandle, Consulta, "UPDATE `users` SET Password='%s', PosX=%.4f, PosY=%.4f, PosZ=%.4f, Ang=%.4f, Vida=%.2f, Chaleco=%.2f WHERE `Nombre` = '%s' AND `ID_User` = '%i';", PlayerInfo[ playerid ][ Password ], PlayerInfo[ playerid ][ Pos ][ 0 ],
PlayerInfo[ playerid ][ Pos ][ 1 ], PlayerInfo[ playerid ][ Pos ][ 2 ], PlayerInfo[ playerid ][ Pos ][ 3 ], PlayerInfo[ playerid ][ Vida ], PlayerInfo[ playerid ][ Chaleco ], GetPName( playerid ), PlayerInfo[ playerid ][ pID ] );
mysql_function_query( ConnectionHandle , Consulta , false, # , # ) ;
print("one");
// ------------------------------------- //
for( new i; i<13; i++ ) {
GetPlayerWeaponData( playerid, i, PlayerInfo[ playerid ][ Armas ][ i ], PlayerInfo[ playerid ][ Municiones ][ i ] );
mysql_format( ConnectionHandle, Consulta, "UPDATE `users` SET Arma_%i=%i, Municion_%i=%i WHERE `Nombre` = '%s' AND `ID_User` = '%i';", i, PlayerInfo[ playerid ][ Armas ][ i ], PlayerInfo[ playerid ][ Municiones ][ i ], GetPName( playerid ), PlayerInfo[ playerid ][ pID ] );
mysql_function_query( ConnectionHandle , Consulta , false, # , # ) ;
}
print("two");
// ------------------------------------- //
mysql_format( ConnectionHandle, Consulta, "UPDATE `users` SET Skin=%i, Dinero=%i, Interior=%i, VirWorld=%i ,NivelAdmin=%i ,Tutorial=%i ,Sexo=%i ,Edad=%i WHERE `Nombre` = '%s' AND `ID_User` = '%i';", PlayerInfo[ playerid ][ Skin ], PlayerInfo[ playerid ][ Dinero ], PlayerInfo[ playerid ][ Interior ], PlayerInfo[ playerid ][ VirWorld ],PlayerInfo[ playerid ][ Admin] ,PlayerInfo[ playerid ][ HizoTuto],PlayerInfo[ playerid ][Sexo],PlayerInfo[ playerid ][Edad],GetPName( playerid ),
PlayerInfo[ playerid ][ pID ]);
mysql_function_query( ConnectionHandle , Consulta , false, # , # ) ;
print("three");
// ------------------------------------- //
mysql_format( ConnectionHandle, Consulta, "UPDATE `users` SET Faccion=%i ,Trabajo=%i ,Encendedor=%i ,Cigarros=%i , Banco=%i ,Nivel=%i ,Experiencia=%i WHERE `Nombre` = '%s' AND `ID_User` = '%i';",PlayerInfo[ playerid ][Faccion],PlayerInfo[ playerid ][Trabajo],PlayerInfo[ playerid ][Encendedor],PlayerInfo[ playerid ][Cigarros],PlayerInfo[ playerid ][Banco],PlayerInfo[ playerid ][Nivel],PlayerInfo[ playerid ][Experiencia], GetPName( playerid ),
PlayerInfo[ playerid ][ pID ]);
mysql_function_query( ConnectionHandle , Consulta , false, # , # ) ;
print("four");
// ------------------------------------- //
mysql_format( ConnectionHandle, Consulta, "UPDATE `users` SET Payday=%i ,TiempoConeccion=%i,Jaileado=%i,TiempoJail=%i,Estrellas=%i WHERE `Nombre` = '%s' AND `ID_User` = '%i';",PlayerInfo[ playerid ][Payday] ,PlayerInfo[ playerid ][TiempoConectado],PlayerInfo[ playerid ][Jaileado],PlayerInfo[ playerid ][TiempoJail],PlayerInfo[ playerid ][Estrellas], GetPName( playerid ),
PlayerInfo[ playerid ][ pID ]);
mysql_function_query( ConnectionHandle , Consulta , false, # , # ) ;
print("five");
}
return 1;
}
[12:23:06] one [12:23:06] two
mysql_format( ConnectionHandle, Consulta, "UPDATE `users` SET Arma_%i=%i, Municion_%i=%i WHERE `Nombre` = '%s' AND `ID_User` = '%i';", i, PlayerInfo[ playerid ][ Armas ][ i ], i, PlayerInfo[ playerid ][ Municiones ][ i ], GetPName( playerid ), PlayerInfo[ playerid ][ pID ] ); //Sн no cambias йsto, no se almacenarбn correctamente las armas.
pawn Код:
їProbaste empleando crashdetect?. |
[21:45:48] [debug] Run time error 4: "Array index out of bounds" [21:45:48] [debug] Accessing element at index 13 past array upper bound 12 [21:45:48] [debug] AMX backtrace: [21:45:48] [debug] #0 00047b84 in ?? () from MySQL-R15.amx [21:45:48] [debug] #1 00028a28 in ?? () from MySQL-R15.amx [21:45:48] [debug] #2 0001b530 in ?? () from MySQL-R15.amx [21:45:48] [debug] #3 0001a800 in ?? () from MySQL-R15.amx [21:45:48] [debug] #4 00014c14 in ?? () from MySQL-R15.amx [21:45:48] [debug] #5 000058ac in public OnPlayerConnect () from MySQL-R15.amx [21:46:08] [debug] Run time error 4: "Array index out of bounds" [21:46:08] [debug] Accessing element at index 13 past array upper bound 12 [21:46:08] [debug] AMX backtrace: [21:46:08] [debug] #0 000472a4 in public CargarUsuario () from MySQL-R15.amx
mysql_format( ConnectionHandle, Consulta, "UPDATE `users` SET Skin=%i, Dinero=%i, Interior=%i, VirWorld=%i ,NivelAdmin=%i ,Tutorial=%i ,Sexo=%i ,Edad=%i WHERE `Nombre` = '%s' AND `ID_User` = '%i';", PlayerInfo[ playerid ][ Skin ], PlayerInfo[ playerid ][ Dinero ], PlayerInfo[ playerid ][ Interior ], PlayerInfo[ playerid ][ VirWorld ],PlayerInfo[ playerid ][ Admin] ,PlayerInfo[ playerid ][ HizoTuto],PlayerInfo[ playerid ][Sexo],PlayerInfo[ playerid ][Edad],GetPName( playerid ),
PlayerInfo[ playerid ][ pID ]);
printf("Consulta: \"%s\"...\nTamaсo: %d...", Consulta, strlen(Consulta));
mysql_function_query( ConnectionHandle , Consulta , false, # , # ) ;
print("three");