dWeb - Internetsystem

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
  • Ich kann das ja nicht einfach mitten in die Schleife tuen.


    Wieso sollte das nicht gehen ? Das muss sogar in die Schleife,sonst bewirkt es ja nichts. Die Funktion soll ja die ausgelesene Zeile bearbeiten. Ein besserer Zeitpunkt als in der Schleife gibt es in diesem Beispiel doch gar nicht,da bei jedem Durchgang der Schleife eine neue Zeile ausgelesen wird.


    Und ja,pastebin fehlt trotzdem. Steht ja in der Regel.

  • Zitat von Goldkiller

    Wieso sollte das nicht gehen ?


    Dachte ich erst, da Fehler aufkamen.
    Hab mir aber den Error genauer angeschaut.
    Fehler war: Habe eine Klammer bei der Funktion StripNewLine vergessen.
    Muss ich diese eigentlich beim schreiben auch verwenden.


    Pastebin kommt gleich.

  • Leider ist es jetzt immernoch nicht richtig. Du hast dir die Funktion StripNewLine wohl nicht so ganz genau angesehen. Sie entfernt das überflüsse "\r\n" ( Nicht direkt \r\n ), fügt es nicht hinzu !
    Ich weiss nicht wieso du glaubst,StripNewLine müsstest du anwenden bevor du in die Datei schreibst. Ich habe doch geschrieben du sollst sie anwenden,nachdem du eine Zeile ausgelesen hast.
    Damit du nicht weiterhin wie wild drauf rum rätst, so war es von Anfang an gemeint und beschrieben :
    public OnPlayerConnect(playerid)
    {
    // ...
    while(fread(internet,derstring))
    {
    StripNewLine( derString );
    if(strcmp(derstring,Name,true) == 0)
    {
    HatPC[playerid] = true;
    break;
    }
    }
    fclose(internet);
    return 1;
    }
    //..
    format(ausgabe,30,"%s\r\n",Name);
    //..
    new File:internet = fopen("internetnutzer.txt",io_append);
    if(internet)
    {
    fwrite(internet,ausgabe);
    fclose(internet);
    }


    Im übrigen sind da noch ein paar weitere Fehler.
    Im Dialog "case DIALOG_EDIT:" schreibst du in die Datei hinein. Du speicherst sie nachdem du sie geschlossen hast.Das funktioniert aber nicht.Du musst sie erst speichern,danach schließen. Bei /pdelete löschst du eine Zeile, speicherst und schließt die Datei aber nicht ( schließen ist nicht ganz so schlimm ). Du solltest die Datei mit INI_Close auch lieber immer manuell löschen,hast du an noch ein oder zwei weiteren Stellen im Code auch nicht gemacht.

  • Tatsächlich war mir die Funktion StripNewLine nicht ganz klar.
    Habe ich es jetzt richtig verstanden? Entfernt sie beim auslesen das \r\n?


    Das mit dem vergessenen Schließen bei SII habe ich auch gerade bemerkt.
    Ist nun behoben. Auch das mit dem erst schließen - dann speichern war nur ein unachtsamkeitsfehler.


    Zum löschen einer Zeile:
    Eigentlich wollte ich die ganze Datei löschen und nicht einen Eintrag 8|
    Zum entfernen eines Eintrages muss ich doch INI_RemoveEntry anwenden, dies ist aber garnicht mein Ziel.

  • Kann mir bitte jemand die beiden Includes als .ini Geben Ich weiß nicht genau wie ich die Umwandeln soll!

  • So,
    ich hab mir das FS angesehen und muss sagen es gefällt mir.
    Ich hab bisjetzt so ziemlich alles zum Laufen bekommen,
    aber dieses FS bereitet mir ehrlichgesagt etwas Probleme....
    Ich hab mir die Includes als .text gemacht und dann mit der Funktion SPeichern unter zur .inc gemacht,wird auch als .inc erkannt.
    So,
    compiled und auf den 0.3e Server geworfen.
    Es funzt allerdings nur der /computer Befehl,bei allen anderen kommt SERVER: Unkown command..
    Der Ordner Webseiten ist erstellen und die Datei internetbenutzer.txt wurde auch vom Script erfolgreich erstellt.
    Weiß jemand woran das liegen kann ?
    Danke im Vorraus,
    MfG
    Das Brot