#include <a_samp>
#include <YSI\y_ini>
new c4[MAX_PLAYERS];
stock user_ini_file(playerid)
{
new string[ 128 ],user_name[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, user_name, MAX_PLAYER_NAME );
format( string, sizeof ( string ), "/C4/%s.ini", user_name );
return string;
}
forward @load_user_c4( playerid, name[], value[] );
@load_user_c4( playerid, name[], value[] )
{
INI_Int( "c4", c4[ playerid ] );
return ( 1 );
}
public OnPlayerConnect( playerid )
{
new INI:File = INI_Open( user_ini_file( playerid ) );
INI_WriteInt( File, "c4", c4[playerid] );
INI_ParseFile( user_ini_file( playerid ), "load_user_%s", .bExtra = true, .extra = playerid );
return ( 1 );
}
public OnPlayerDisconnect( playerid, reason )
{
new INI:File = INI_Open( user_ini_file( playerid ) );
INI_WriteInt( File, "c4", c4[playerid] );
INI_Close( File );
return ( 1 );
}
format( string, sizeof ( string ), "/C4/%s.ini", user_name );
//change it to
format( string, sizeof ( string ), "C4\%s.ini", user_name ); or format( string, sizeof ( string ), "\C4\%s.ini", user_name );
enum pInfo { c4 } new PlayerInfo[MAX_PLAYERS][pInfo]; forward LoadUser_data(playerid,name[],value[]); public LoadUser_data(playerid,name[],value[]) { INI_Int("c4",PlayerInfo[playerid][c4]); return 1; } stock UserPath(playerid) { new string[128],playername[MAX_PLAYER_NAME]; GetPlayerName(playerid,playername,sizeof(playernam e)); format(string,sizeof(string),PATH,playername); return string; } stock udb_hash(buf[]) { new length=strlen(buf); new s1 = 1; new s2 = 0; new n; for (n=0; n<length; n++) { s1 = (s1 + buf[n]) % 65521; s2 = (s2 + s1) % 65521; } return (s2 << 16) + s1; } public OnPlayerConnect(playerid) { if(fexist(UserPath(playerid))) { INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid); return 1; } else if(!fexist(UserPath(playerid))) { new INI:File = INI_Open(UserPath(playerid)); INI_SetTag(File,"data"); INI_WriteInt(File,"c4",0); INI_Close(File); } return 1; } public OnPlayerDisconnect(playerid, reason) { new INI:File = INI_Open(UserPath(playerid)); INI_SetTag(File,"data"); INI_WriteInt(File,"c4",PlayerInfo[playerid][c4]); INI_Close(File); return 1; } |
stock UserPath(playerid)
{
new string[128],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),PATH,playername);
return string;
}
GetPlayerName(playerid,playername,sizeof(playernam e));
because in this line :
pawn Код:
|
#define PATH "/c4/%s.ini"
enum pInfo
{
pC4
}
new PlayerInfo[MAX_PLAYERS][pInfo];
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
INI_Int("C4",PlayerInfo[playerid][pC4]);
return 1;
}
stock UserPath(playerid)
{
new string[35], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
format(string,sizeof(string),"c4/%s.ini",playername);
return string;
}
public OnPlayerConnect(playerid)
{
if(fexist(UserPath(playerid)))
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
}
else if(!fexist(UserPath(playerid)))
{
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"C4",0);
INI_Close(File);
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
if(fexist(UserPath(playerid)))
{
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"C4",PlayerInfo[playerid][pC4]);
INI_Close(File);
}
return 1;
}