03.09.2016, 01:42
Estoy experimentando con Y_INI y lo bбsico, cuando pones la contraseсa deberнa de crear el archivo y hacer spawn al jugador pero no funciona... en la consola dice "*** YSI Warning: INI_Open could not find or create file "
Dicho error puede ser porque en el guardado trata de abrir un archivo que no existe, no? la cosa entonces estarнa en crearlo..... me basй en el guardado de Spanish y nada.
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch (dialogid) { case DIALOG_REGISTRO: { if(strlen(inputtext) < MIN_CARACTERES_PASS) { new string[50+1]; format(string, sizeof(string), ""#CBLANCO"%sLa contraseсa debe de tener mбs de 5 carбcteres", string); ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, ""#CAZUL"Contraseсa", string, "", ">"); return 1; } SetPVarInt(playerid, "JugadorLogueado", 1); InformacionJugador_[playerid][pPassword] = udb_hash(inputtext), TogglePlayerSpectating(playerid, false); SetPlayerPosEx(playerid, 1527.7623, -1759.8647, 13.5469, 88.1075, 0, 0), LimpiarPantalla_(playerid, 30); SetPlayerHealth(playerid, 100), SpawnPlayer(playerid); YSI_Save_Account(playerid); } } return 1; } CALLBACK: YSI_Save_Account(playerid) { static LoopArmas[2][13]; if(GetPVarInt(playerid, "JugadorLogueado") == 1) { GetPlayerHealth(playerid, InformacionJugador_[playerid][pVida]), GetPlayerArmour(playerid, InformacionJugador_[playerid][pChaleco]); GetPlayerPos(playerid, InformacionJugador_[playerid][pPosX], InformacionJugador_[playerid][pPosY], InformacionJugador_[playerid][pPosZ]); InformacionJugador_[playerid][pInterior] = GetPlayerInterior(playerid), InformacionJugador_[playerid][pVirtualWorld] = GetPlayerVirtualWorld(playerid); InformacionJugador_[playerid][pSkin] = GetPlayerSkin(playerid); new PlayerAccountData[60], Archivo[MAX_PLAYERS]; format(Archivo, sizeof(Archivo), "Cuentas/%s.ini", NombreJugador(playerid)); new INI:PlayerStatsData = INI_Open(PlayerAccountData); INI_WriteString(PlayerStatsData, "Password", InformacionJugador_[playerid][pPassword]); INI_WriteFloat(PlayerStatsData, "Pos_X", InformacionJugador_[playerid][pPosX]); INI_WriteFloat(PlayerStatsData, "Pos_Y", InformacionJugador_[playerid][pPosY]); INI_WriteFloat(PlayerStatsData, "Pos_Z", InformacionJugador_[playerid][pPosZ]); INI_WriteFloat(PlayerStatsData, "Vida", InformacionJugador_[playerid][pVida]); INI_WriteFloat(PlayerStatsData, "Chaleco", InformacionJugador_[playerid][pChaleco]); INI_WriteInt(PlayerStatsData, "Interior", InformacionJugador_[playerid][pInterior]); INI_WriteInt(PlayerStatsData, "World", InformacionJugador_[playerid][pVirtualWorld]); for(new i; i < 13; i ++) { GetPlayerWeaponData(playerid, i, InformacionJugador_[playerid][pArmas][i], InformacionJugador_[playerid][pMuniciones][i]); format(LoopArmas[0], 13, "Armas[%i]", i), INI_WriteInt(PlayerStatsData , LoopArmas[0], InformacionJugador_[playerid][pArmas][i]); format(LoopArmas[1], 13, "Municiones[%i]", i), INI_WriteInt(PlayerStatsData , LoopArmas[1], InformacionJugador_[playerid][pMuniciones][i]); } INI_Close(PlayerStatsData); } return 1; }