Hallo habe ein kleines System über Dialog das einen Namen in eine Datei schreiben soll dies tut es aber nicht was ist da falsch (die datei besteht bleibt aber immer leer)?
Code
if (strcmp("/melden", cmdtext, true, 10) == 0)
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid,reportname,MAX_PLAYER_NAME);
format(ticketmsg,256,"Herzlich Wilkommen im Cheater Meldungs System\n\nBenutzer:\t%s\n\nBitte teile uns den Cheater mit:",reportname);
ShowPlayerDialog(playerid,200,DIALOG_STYLE_INPUT,"Cheater Melde System",ticketmsg,"Absenden","Verlassen");
return 1;
}
}
Code
if(dialogid == 100)
{
if(response)
{
new string[456];
new idx;
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(inputtext);
while ((idx < length) && (inputtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = inputtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, GREY, "Fehler!");
return 1;
}
format(string, sizeof(string), " * |-| Cheater Meldung von %s: (%s) |-|", sendername, (result));
SendClientMessage(playerid, GREY, string);
cheatersys(string);
GameTextForPlayer(playerid, "Cheater Gespeichert",5000,3);
}
else
{
SendClientMessage(playerid, GREY, "Cheater Melde System Verlassen");
}
return 1;
}
return 1;
}
public cheatersys(string[])
{
new eintragen[256];
format(eintragen, sizeof(eintragen), "%s\n",string);
new File:hFile;
hFile = fopen("cheater.txt", io_append);
fwrite(hFile, eintragen);
fclose(hFile);
}
Alles anzeigen
//code verbessert