Probleme mit ein bestimmten Dialog

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hi erst mal.
    Ich frage eigentlich ungern, aber ich brauche dringend hilfe.
    Ich bitte jemand mir dabei zu Helfen, wäre sehr nett.



    Also ich versuche einen Dialog zu gestalten, wo man etwas hinenschreiben kann als Administrator. So etwas wie ein Tagebuch.
    Der Zweck soll sein, das z.B. wenn jemand hackt, das es ein Admin aufschreiben kann als mahnung. Dies soll alles gelistet sein aber eben alles nur in EINER datei.
    z.B. das eine Datei namens "hacks.cfg" auf dem Server existiert wo untereinander aufgelistet steht bsp.:




    Admin text: "text den der admin einfügt im inputtext"
    Admin text: "text den der admin einfügt im inputtext"




    So hatte ich mir das vorgestellt. und das soll dann über einen Befehl gehen per ocmd. z.B. ocmd:adminschreibe(playerid,params[])
    Außerdem soll es möglich sein, das es Abgerufen werden kann im game unter z.B. ocmd:adminhacklist(playerid,params[])
    So das NUR den admins das möglich ist alle einträge zu lesen. Normale spieler kennen den befehl dann ja nicht.
    Aber es sollte dann als SendClientMessage abrufbar sein das sogenannte Tagebuuch der Admins. So das jeder admin eine übersicht hat über die spieler und weiß, wo er aufpassen muss und was neu dazu gekommen ist.








    Danke im vorraus

  • Haben sie sich das ca so Vorgestellt:



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/nachicht", cmdtext, true, 10) == 0)
    {
    ShowPlayerDialog(playerid,77887,DIALOG_STYLE_INPUT,"Notiz","Schreine deine Nutiz","Speichern","");
    return 1;
    }
    if (strcmp("/loeschen", cmdtext, true, 10) == 0)
    {
    new Number,File[16];
    Number = dini_Int("report.ini","ReportMenge");
    for(new i; i<Number; i++)
    {
    format(File,sizeof(File),"%d",i);
    dini_Set("report.ini",File,"");
    }
    dini_IntSet("report.ini","ReportMenge", 0);
    return 1;
    }
    if (strcmp("/abfrage", cmdtext, true, 10) == 0)
    {
    new Number,Text[256],File[16];
    Number = dini_Int("report.ini","ReportMenge");
    format(File,sizeof(File),"%d",Number);
    for(new i; i<Number; i++)
    {
    Text = dini_Get("report.ini",File);
    SendClientMessage(playerid,0xFFFFFF00,Text);
    }
    }
    return 0;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 77887)
    {
    if(response)
    {
    new Year,Month,Day,Hour,Minute,Second,Name[126],Text[256],Number,File[16];
    if(!dini_Exists("report.ini"))
    {
    dini_Create("report.ini");
    }
    getdate(Year,Month,Day);
    gettime(Hour,Minute,Second);
    GetPlayerName(playerid,Name,sizeof(Name));
    format(Text, sizeof(Text),"[%d.%d.%d](%d:%d:%d)%s:%s",Year,Month,Day,Hour,Minute,Second,Name,inputtext);
    Number = dini_Int("report.ini", "ReportMenge");
    format(File,sizeof(File),"%d",Number);
    dini_Set("report.ini",File,Text);
    dini_IntSet("report.ini", "ReportMenge", Number+1);
    SendClientMessage(playerid,0xFFFFFFFF,"Nachicht Abgespeichert:");
    SendClientMessage(playerid,0xFFFFFFFF,Text);
    SendClientMessage(playerid,0xFFFFFFFF,"-----------------------");
    }
    if(!response)
    {
    SendClientMessage(playerid,0xFFFFFFFF,"Nachicht nicht Abgespeichert!");
    }
    return 1;
    }
    return 1;
    }


    sorry da hab ich doch wirklich vergessen die datei zu erstellen.... peinlich :S



    Edit: Verbesserung (vergessene zeile eingefügt)

    Einmal editiert, zuletzt von #Franky# ()

  • muss ich da ein Ordener erstellen in Scriptfiles?
    Weil es speichert es irgenwie nicht ab.
    Es steht zwar da, das es gespeichert wurde in game, aber es ist nirgends....
    Bitte hilfe