16.06.2012, 07:46
Hello friends!I have on problem here...Y_ini system makes file on playerdisconnect but the file is blank.Nothing saves.
here is my code :
here is my code :
Код:
#include < a_samp > #include < YSI\y_ini > #define FAILAI "Zaidejai/%s.ini" enum pData { Slaptazodis[ 24 ], Pinigai, Taskai } new PlayerData[ MAX_PLAYERS ][ pData ]; new Statusas[ MAX_PLAYERS ]; public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerConnect(playerid) { Statusas[ playerid ] = 0; if( fexist( Zaideju_failai( playerid ) ) ) { INI_ParseFile( Zaideju_failai( playerid ), "Krauti_domenis", .bExtra = true, .extra = playerid ); ShowPlayerDialog( playerid, 1, DIALOG_STYLE_PASSWORD, "Prisijugimas", "Бveskite prisijungimo slaptaюodб", "Prisijungti", "Iрeiti" ); } else { ShowPlayerDialog( playerid, 2, DIALOG_STYLE_INPUT, "Registracija", "Бveskite naujа slaptaюodб", "Registruotis", "Iрeiti" ); } return 1; } public OnPlayerDisconnect(playerid, reason) { Saugome_Duomenis( playerid ); return 1; } public OnPlayerSpawn(playerid) { if( Statusas[ playerid ] == 1 ) // uюsiregistravжs katik { /* SetPlayerPos( playerid, X, Y, Z ); */ GivePlayerMoney( playerid, 3000 ); SetPlayerScore( playerid, 200 ); } else if( Statusas[ playerid ] == 2 ) // Jei katik бvedл slaptaюodб teisingai duodame uюkrautus domenis { GivePlayerMoney( playerid, PlayerData[ playerid ][ Pinigai ] ); SetPlayerScore( playerid, PlayerData[ playerid ][ Taskai ] ); } else if( Statusas[ playerid ] == 3 ) // Tuриia. { } return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if( dialogid == 2 ) { if ( !response ) { Kick( playerid ); return 1; } if( response ) { if( !strlen( inputtext ) ) return ShowPlayerDialog( playerid, 2, DIALOG_STYLE_PASSWORD, "Klaida", "Slaptaюodyje turi bыti raidлs arba skaiиiai", "Registruotis", "Iрeiti" ); new INI: Failas = INI_Open( Zaideju_failai( playerid ) ); INI_WriteString( Failas, "Slaptazodis", inputtext ); INI_Close( Failas ); SendClientMessage( playerid, -1, "Registracija sлkimga. Jыs automatiрkai prijungtas prie sаskaitos." ); Statusas[ playerid ] = 1; return 1; } return 1; } if( dialogid == 1 ) { if( !response ) { Kick( playerid ); return 1; } if( strcmp( inputtext, PlayerData[ playerid ][ Slaptazodis ], false ) ) { ShowPlayerDialog( playerid, 1, DIALOG_STYLE_PASSWORD, "Klaida", "Jыsш бvestas sаskaitos slaptaюodis yra neteisingas\nVeskite dar kartа.", "Tжsti", "Iрeiti" ); } else { INI_ParseFile( Zaideju_failai( playerid ), "Krauti_domenis", .bExtra = true, .extra = playerid ); SendClientMessage( playerid, -1, "Sлkimingai prisijungлte" ); Statusas[ playerid ] = 2; } } return 1; } forward Krauti_domenis( playerid, name[ ], value[ ] ); public Krauti_domenis( playerid, name[ ], value[ ] ) { INI_String( "Slaptazodis", PlayerData[ playerid ][ Slaptazodis ], 24 ); INI_Int( "Pinigai", PlayerData[ playerid ][ Pinigai ] ); INI_Int( "Taskai", PlayerData[ playerid ][ Taskai ] ); Statusas[ playerid ] = 3; return 1; } stock Saugome_Duomenis( playerid ) { new INI: Failas = INI_Open( Zaideju_failai( playerid ) ); INI_WriteInt( Failas, "Pinigai", GetPlayerMoney( playerid ) ); INI_WriteInt( Failas, "Taskai", GetPlayerScore( playerid ) ); INI_Close( Failas ); return 1; } stock Zaideju_failai( playerid ) { new string[128],playername[MAX_PLAYER_NAME]; GetPlayerName(playerid,playername,sizeof(playername)); format(string,sizeof(string),"Zaidejai/%s.ini",playername); return string;