So... Ich nochmal mit meinem log-Sytsem
Also vorher sah es bei mir so aus (is jetzt nur ein beispiel):
#define ADMWARN_LOG_FILE "M_Logs/AdmWarnLog.ini"
#define AdmWarnLogEx(%0,%1) do{new _string[256]; format(_string,sizeof(_string),%0,%1); AdmWarnLog(_string);} while(FALSE)
stock AdmWarnLog(Log[])
{
if(dini_Exists(ADMWARN_LOG_FILE))
{
new string[256];
format(string, sizeof(string), "%s | %s | %s\r\n",M_ReturnDate(),M_ReturnTime(),Log);
new File:f=fopen(ADMWARN_LOG_FILE,io_append);
fwrite(f,string);
return fclose(f);
}
else
{
printf("[M_LOG] - %s wurde nicht gefunden!",ADMWARN_LOG_FILE);
printf("[M_LOG] - %s wurde erstellt!",ADMWARN_LOG_FILE);
dini_Create(ADMWARN_LOG_FILE);
return AdmWarnLog(Log);
}
}
Das hatte/habe ich bei mir in der Include. Somit kann ich im Gamemode dann z.b halt da wo adm warnings entstehen entweder
AdmWarnLog(string)
//oder dierekt
AdmWarnLogEx("%s war ganz dolle böse blabla^^",SpielerName);
Benutzen...
So jetzt mein problem xD
Ich hab das ganze jetzt so gestaltet das ich keine vorher definierten Namen mehr benutzen muss.
stock SaveIn(filename[],text[])
{
new File:Lfile;
new filepath[256];
new string[256];
if(dini_Exists(filename))
{
format(filepath,sizeof(filepath),"Logs/%s.txt",filename);
Lfile = fopen(filepath,io_append);
format(string,sizeof(string),"[%s | %s] %s\r\n",M_ReturnDate(),M_ReturnTime(),text);
fwrite(Lfile,string);
fclose(Lfile);
return 1;
}
else
{
printf("[LOG] - %s wurde nicht gefunden und deshalb erstellt!",filename);
dini_Create(filename);
return SaveIn(filename,text);
}
}
Somit kann ich dierekt im GM z.b mit
new string[128];
format(string,sizeof(string),"%s war ganz dolle böse blabla^^",SpielerName);
SaveIn("BeispielLogName",string);
Die datei dierekt erstellen lassen(falls nicht vorhanden) und somit den String drin speichern.
Soweit auch so gut. Nur wie mache ich es jetzt das ich die BlablablablaLogEx - Funktion wieder benutzen kann ohne vorher die datein im script zu definieren?
Ich hoffe jemand versteht was ich meine und kann mir da helfen...^^
Mfg.