stock fremoveline( filename[ ], line[ ] )
{
if( fexist( filename ) )
{
new
szTmp[ 256 ],
File: fHandle = fopen( filename, io_read ),
File: fBullshit = fopen( "loltmp.ini", io_write )
;
while( fread( fHandle, szTmp ) )
{
if( strfind( szTmp, line ) == -1 )
{
fwrite( fBullshit, szTmp );
}
}
fclose( fHandle );
fclose( fBullshit );
fremove( filename );
fHandle = fopen( filename, io_append );
fBullshit = fopen( "loltmp.ini", io_read );
while( fread( fBullshit, szTmp ) ) {
fwrite( fHandle, szTmp );
}
fclose( fHandle );
fclose( fBullshit );
fremove( "loltmp.ini" );
return 1;
}
return 0;
}
new playerName[24];
new str[128], pname[24];
new File:gstats=fopen("passed.ini", io_append);
GetPlayerName(playerid, pname, 24); // The name of the player
format(str, sizeof(str), "%s\r\n",pname); // format
while(fread(gstats, string))
{
if(strcmp(string, pname, false, strlen(pname))==0)
{
fremoveline("passed.ini", str);
}
}
new pname[24];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME); // The name of the player
fremoveline("passed.ini", pname);
if( strfind( szTmp, line, true ) == -1 )
|
I tested it, and it works fine.
Although I can only recommend changing this part: pawn Код:
All so, make sure the name in the file and the player's name are case sensitive. Otherwise, you can change the 'strfind' line to this: pawn Код:
|
if(GetPVarInt(playerid, "Denied") == 1 && PlayerInfo[playerid][pPosted] == 1)
{
new playerName[24], Reason[128];
new str[128], pname[24];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME); // The name of the player
format(str, sizeof(str), "%s\r\n", pname); // format
new File:handle = fopen("passed.ini", io_append);
if(handle)
{
while(fread(handle, str))
{
if(strcmp(string, pname, false, strlen(pname))==0)
{
fremoveline("passed.ini", str);
}
}
fclose(handle);
}
format(string, sizeof(string), "users/%s.ini", PlayerName(playerid));
DOF2_RemoveFile(string);
KickEx(playerid);
}
if(GetPVarInt(playerid, "Denied") == 1 && PlayerInfo[playerid][pPosted] == 1)
{
new pname[MAX_PLAYER_NAME], string[35];
GetPlayerName(playerid, pname, sizeof(pname)); // The name of the player
fremoveline("passed.ini", pname);
format(string, sizeof(string), "users/%s.ini", pname);
DOF2_RemoveFile(string);
KickEx(playerid);
}
|
Give me an example, what is the player's name, what does it say in the file?
|
stock SavePlayerList(playerid)
{
new str[50], pname[MAX_PLAYER_NAME];
new File:gstats=fopen("passed.txt", io_append);
GetPlayerName(playerid, pname, sizeof(pname));
if(!gstats) fcreate("passed.txt");
format(str, sizeof(str), "%s\r\n",pname);
fwrite(gstats, str);
fclose(gstats);
}
fremoveline(file[],line[])
{
new string[256], File:Temp = fopen("Temp.ini",io_append), File:Main = fopen(file,io_read);
while(fread(Main,string))
{
if(strcmp(string,line,false) != 0) fwrite(Temp,string);
}
fclose(Main);
fclose(Temp);
fremove(file);
Main = fopen(file, io_append);
Temp = fopen("Temp.ini",io_read);
while(fread(Temp,string)) fwrite(Main,string);
fclose(Main);
fclose(Temp);
fremove("Temp.ini");
return 1;
}
new playerName[MAX_PLAYER_NAME], pname[31], string[256];
if(GetPVarInt(playerid, "Denied") == 1 && PlayerInfo[playerid][pPosted] == 1)
{
GetPlayerName(playerid, pname, sizeof(pname));
fremoveline("passed.txt", pname);
new Reason[128];
format(string, sizeof(string), "users/%s.ini", PlayerName(playerid));
DOF2_RemoveFile(string);
GetPVarString(playerid, "DeniedBy" ,playerName, sizeof(playerName));
SendClientMessage(playerid, 0xCCEEFF96, "Status: {F81414}Denied");
format(string, sizeof(string), "Your account was denied by %s.", playerName);
SendClientMessage(playerid,COLOR_LIGHTRED,string);
GetPVarString(playerid, "DeniedReason" ,Reason, sizeof(Reason));
format(string, sizeof(string), "Reason: %s.", Reason);
SendClientMessage(playerid,COLOR_LIGHTRED,string);
KickEx(playerid);
}