A ver si alguien encuentra el error.
#7

Quote:
Originally Posted by JeffreyG
Посмотреть сообщение
Bueno, no sй por quй no se me guarda bien la vida y el chaleco, cuando relogueo me aparece la vida en 1 y el chaleco en 1.

pawn Код:
public ActualizarCuenta(playerid)
{
   new INI:Arch = INI_Open(UbicacionArchivo(playerid));
   INI_SetTag(Arch,"data");
   INI_WriteString(Arch,"Contraseсa",Informacion[playerid][Contra]);
   INI_WriteBool(Arch,"Tutorial",Informacion[playerid][Tutorial]);
   INI_WriteInt(Arch,"Dinero",GetPlayerMoney(playerid));
   INI_WriteInt(Arch,"Nivel",GetPlayerScore(playerid));
   INI_WriteInt(Arch,"Sexo",Informacion[playerid][Sexo]);
   INI_WriteInt(Arch,"Edad",Informacion[playerid][Edad]);
   INI_WriteInt(Arch,"Admin",Informacion[playerid][Admin]);
   INI_WriteInt(Arch,"Faccion",Informacion[playerid][Faccion]);
   INI_WriteInt(Arch,"Lider",Informacion[playerid][Lider]);
   INI_WriteInt(Arch,"Skin",GetPlayerSkin(playerid));
   new Float:x, Float:y, Float:z;
   GetPlayerPos(playerid,x,y,z);
   Informacion[playerid][Pos_x] = x;
   Informacion[playerid][Pos_y] = y;
   Informacion[playerid][Pos_z] = z;
   INI_WriteFloat(Arch,"Pos_x",Informacion[playerid][Pos_x]);
   INI_WriteFloat(Arch,"Pos_y",Informacion[playerid][Pos_y]);
   INI_WriteFloat(Arch,"Pos_z",Informacion[playerid][Pos_z]);
   INI_WriteInt(Arch,"Baneado",Informacion[playerid][Baneado]);
   INI_WriteString(Arch,"BanRazon",Informacion[playerid][BanRazon]);
   INI_WriteInt(Arch,"Interior",GetPlayerInterior(playerid));
   INI_WriteInt(Arch,"VW",GetPlayerVirtualWorld(playerid));
   new Float:VIDA, Float:CHALECO;
   INI_WriteFloat(Arch,"Vida",GetPlayerHealth(playerid,VIDA));
   INI_WriteFloat(Arch,"Chaleco",GetPlayerArmour(playerid,CHALECO));
   INI_Close(Arch);
   return 1;
}
Acerca de la vida y el chaleco, he visto repetidas veces este error:

pawn Код:
INI_WriteFloat(Arch,"Vida", GetPlayerHealth(playerid,VIDA));
INI_WriteFloat(Arch,"Chaleco", GetPlayerArmour(playerid,CHALECO));
їPor quй guarda 1?
Porque estamos usando la funciуn, y no la variable que se especifica en la funciуn para retornar la armadura/vida:

Quote:

GetPlayerHealth(playerid, &Float:health)

playerid - La ID del jugador del cual obtendremos su vida.
&health - El nombre de la variable en el cual guardaremos la vida del jugador.

Quote:

GetPlayerArmour(playerid, &Float:armour)

playerid - La ID del jugador del cual obtendremos su armadura.
&armour - El nombre de la variable en el cual guardaremos la armadura del jugador.

Nosotros debemos de especificar una variable en GetPlayerHealth/Armour, porque en sн, la funciуn retornarб 1, lo que significa que se ejecutу la funciуn.

Hacer esto:

pawn Код:
INI_WriteFloat(Arch,"Vida", GetPlayerHealth(playerid,VIDA));
INI_WriteFloat(Arch,"Chaleco", GetPlayerArmour(playerid, CHALECO));
Bбsicamente guarda 1, porque la funciуn SI se ejecutу, y la armadura/vida del jugador se guardу en CHALECO/VIDA.

El uso correcto serнa:

pawn Код:
new Float:VIDA, Float:CHALECO;
GetPlayerHealth(playerid,VIDA);
GetPlayerArmour(playerid,CHALECO)
INI_WriteFloat(Arch,"Vida", VIDA);
INI_WriteFloat(Arch,"Chaleco", CHALECO);
Espero que te funcione.
Reply


Messages In This Thread
A ver si alguien encuentra el error. (SOLUCIONADO) - by JeffreyG - 19.07.2014, 21:45
Respuesta: A ver si alguien encuentra el error. - by Zume - 19.07.2014, 22:07
Respuesta: A ver si alguien encuentra el error. - by JeffreyG - 19.07.2014, 22:19
Respuesta: A ver si alguien encuentra el error. - by Zume - 19.07.2014, 22:25
Respuesta: A ver si alguien encuentra el error. - by JeffreyG - 19.07.2014, 22:52
Respuesta: A ver si alguien encuentra el error. - by Zume - 19.07.2014, 23:02
Respuesta: A ver si alguien encuentra el error. - by EduGTA - 19.07.2014, 23:25
Respuesta: A ver si alguien encuentra el error. - by JeffreyG - 19.07.2014, 23:50

Forum Jump:


Users browsing this thread: 1 Guest(s)