Hi,
ich wüsste gerne wie ich machen kann, dass es nicht nur den Chat in den Server-Logs speichert sondern auch alle Commands die die User eingeben, wie Teleports, Kill-Befehl usw. !!
Kann mir jemand sagen wie das geht ??
Danke im Vorraus
Gruß
Colin
Hi,
ich wüsste gerne wie ich machen kann, dass es nicht nur den Chat in den Server-Logs speichert sondern auch alle Commands die die User eingeben, wie Teleports, Kill-Befehl usw. !!
Kann mir jemand sagen wie das geht ??
Danke im Vorraus
Gruß
Colin
von MoNtI|SpEaRrOw
new File:log = fopen("file.txt",io_append);
new string[128],name[18];
GetPlayerName(playerid,name,18);
format(string,sizeof string,"Datum und Zeit musste selber machen^^ | %s | %s",name,cmdtext[0]);
fwrite(log,string);
fclose(log);
hier: getippte commands saven
neh geht nicht habs versucht bei mir der speichert nur die commands dies nicht giebt zb /deinemuddiwitze
Ijo, ich schließ mich a-day an
Gruß
Colin
printf( "Command (ID:%d): %s", playerid, cmdtext );
und sowas?
check ich nicht was is damit ?
printf = schreibe in die Serverlog
Und das einfach bei OnPlayerCommandText dranhängen, oder bei jedem einelnen Command, dass /gibtsnich weg sidn...
Also wie lautet jetzt die Zeile bzw. die Zeilen die ich einfügen muss ?!?
Gruß
Colin
printf( "Command (ID:%d): %s", playerid, cmdtext );
Dieses einfach i-wo in OnPlayerCommandText einfügen (und keinen cmd dabei unterbrechen)
Perfekt funzt, genauso wollte ich das
Aber ich hätte gerne noch, dass es anstatt der ID den Nickname anzeigt Was muss ich da dementsprechend abändern ??
Gruß
Colin
new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name));
printf( "Command (%s): %s", name, cmdtext );
PS: 900. Post
Jou perfekt genauso wollte ich das, vielen dank
Und nun noch eine letzte Frage Ist es möglich in den Logs nicht nur die Uhrzeit sondern auch das Datum zu speichern, an dem die Commands eingegeben wurden ??
Gruß
Colin
new name[MAX_PLAYER_NAME], j, m, t; GetPlayerName(playerid,name,sizeof(name)); getdate(j,m,t);
printf( "[%d.%d.%d]Command (%s): %s",t,m,j, name, cmdtext );
Wooooooooooooooah du bist echt der King, ein Mann ein Wort hammer einfach nur, danke danke danke
Hast du eig. einen eigenen Server auch ??
Gruß
Colin
Sorry wegen Doppelpost, aber ein neues Problem in der Sache ist aufgetaucht
Also ich habe jetzt folgende Zeile auch in mein Admin-Script eingefügt:
new name[MAX_PLAYER_NAME], j, m, t; GetPlayerName(playerid,name,sizeof(name)); getdate(j,m,t);
printf( "[%d.%d.%d]ADMIN-COMMAND (%s): %s",t,m,j, name, cmdtext );
Und in mein Gamemode hab ich ja diese Zeile:
new name[MAX_PLAYER_NAME], j, m, t; GetPlayerName(playerid,name,sizeof(name)); getdate(j,m,t);
printf( "[%d.%d.%d]COMMAND (%s): %s",t,m,j, name, cmdtext );
Sprich ich wollte das gleiche einfach auch nur noch für die Admin-Commands. Nur speichert es nun die Commands vom Gamemode folgendermaßen:
[10:57:17] [23.2.2009]ADMIN-COMMAND ([OCC]xxxxx): /kill
[10:57:17] [23.2.2009]COMMAND ([OCC]xxxxx): /kill
Also beide male, obwohl der Command nur im Gamemode ist.
Weiß jemand Rat ?!?
Gruß
Colin
Was daran falsch ?
Es zeigt in den Logs Commands die nur im Gamemode sind als Admin-Commands an, sprich Teleports usw.
Allerdings sollen nur die Commands im Adminscript, wie z.B. /kick, /ban usw. als Admin-Commands in den Logs abgespeichert werden.
Gruß
Colin
Lösche einfach die zeile im GM. Und die Zeile im FS soll bleiben
Ich möchte doch aber, dass die Commands aus dem Gamemode mit "COMMAND" angezeigt werden und die Commands aus dem Admin-Script mit "ADMIN-COMMAND", da kann ich denke ich schwer die Zeile im Gamemode einfach löschen, da ich denke, dass mir dann die Commands aus dem Gamemode überhaupt nichtmehr angezeigt werden.
Gruß
Colin
Wenn ich das richtig verstanden habe, müsstest du dann ne ellenlange if Bedingung machen, dass alle Adminbefehle definiert.
Oder du schreibst ans Ende jedes Adminbefehls sowas wie admincmd = true und machst damit dann deine Bedingung, womit du am Ende von OnPlayerCommandText die printf Zeilen hast.
Beides sind aber ziemlich arbeitsintensive Wege, also überlege, ob es das wert ist.