Hey Leute,
nach langem rumtrödeln, muss ich euch jetzt mal fragen.
Warum funktioniert in diesem Public das "fremove(string)" nicht ? Ich hab den String in SendClientMessage mal gesetzt, um zu sehen, ob der String auch richtige Zeichenwerte ausgibt, und ja, das passt alles (string gibt "ABCD.ini" aus):
public DeleteOldAccounts(playerid)
{
new idx;
new string[256];
new Data[MAX_PLAYER_NAME], val[256], key[256];
new year, month, day;
getdate(year, month, day);
new File: cFile = fopen("NewAccounts.cfg", io_read);
if(cFile)
{
while(fread(cFile, Data, sizeof(Data)))
{
StripNewLine(Data);
format(string, sizeof(string), "%s.ini", Data);
SCM(playerid, COLOR_YELLOW, string);
if(fexist(string))
{
new savedyear, savedmonth;
new File: hFile = fopen(string, io_read);
if(hFile)
{
while(fread(hFile, Data, sizeof(Data)))
{
key = ini_GetKey(Data);
if(strcmp(key, "MemberYear", true) == 0) { val = ini_GetValue(Data); savedyear = strval(val); }
if(strcmp(key, "MemberMonth", true) == 0) { val = ini_GetValue(Data); savedmonth = strval(val); }
}
fclose(hFile);
}
if(savedyear == year)
{
if((month - savedmonth) >= 6)
{
fremove(string);
idx ++;
SCM(playerid, COLOR_GREY, "1. Löschvorgang");
}
}
else if(savedyear == 0)
{
fremove(string);
idx ++;
}
else
{
if(((12 - savedmonth) + month) >= 6)
{
fremove(string);
idx ++;
}
}
}
}
fclose(cFile);
}
format(string, sizeof(string), "** AdmCmd: %s hat %d alte Accounts gelöscht, die ihren letzten Login vor länger als 6 Monaten hatten.", ReturnPlayerName(playerid), idx);
SCMToAll(COLOR_LIGHTRED, string);
return true;
}
Wenn ich aber diesen Public ausführe, wird die .ini Datei nicht gelöscht. Ich kanns mir nicht erklären