Timer fehler und Name aus Datei?

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
  • Moinsen ;)
    Ich habe eine frage:
    Wenn ich folgenden Timer drin habe, crasht der Server in unregelmäßigen abschnitten.


    SetTimer("reporttime",500,1);
    forward reporttime();
    public reporttime()
    {
    new File:hFile3;
    hFile3=fopen("tickets/fragen.ini", io_read);
    if(flength(hFile3) >= 1)
    {
    frageshow(1);
    fclose(hFile3);
    }
    else
    {
    frageunshow(1);
    }
    new File:hFile4;
    hFile4=fopen("tickets/report.ini", io_read);
    if(flength(hFile4) >= 1)
    {
    reportshow(1);
    fclose(hFile4);
    }
    else
    {
    reportunshow(1);
    }
    new File:hFile5;
    hFile5=fopen("tickets/support.ini", io_read);
    if(flength(hFile5) >= 1)
    {
    supportshow(5);
    fclose(hFile5);
    }
    else
    {
    supportunshow(5);
    }
    }



    zweitens will ich einen Namen aus einer datei mit GetPlayerName haben:

    if (strcmp("/areport", cmdtext, true, 10) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    new File:hFile2=fopen("tickets/report.ini", io_read);
    if(flength(hFile2) <= 1)
    {
    SendClientMessage(playerid, COLOR_RED,"Es liegen keine Reports vor!");
    return 1;
    }
    new Reads[256];
    new sstring[256];
    fread(hFile2, Reads);
    new name2[256];
    new string[256];
    new string2[256];
    string = dini_Get("tickets/report.ini", "Report");
    string2 = dini_Get("tickets/report.ini", "Text");
    GetPlayerName(string, giveplayer, sizeof(giveplayer));
    format(sstring, sizeof(sstring), "Der Spieler %s (ID: %d) hat geschrieben:",giveplayer,giveplayer);
    SendClientMessage(playerid,COLOR_YELLOW,sstring);
    SendClientMessage(playerid,COLOR_YELLOW,string2);
    setline(0,"\0","tickets/report.ini");
    setline(0,"\0","tickets/report.ini");
    fclose(hFile2);
    return 1;
    }
    }


    So.
    Da bekomme ich aber errors.
    Und zwar in folgender reihe:
    GetPlayerName(string, giveplayer, sizeof(giveplayer));
    kommen folgene errors:
    argument type mismatch (argument 1)


    kann den wer beheben oder eine andre lösung geben?


    MfG
    Dominik

  • Da werden ja auch jede halbe Sekunde (!) 3 Dateien geöffnet, klar das der Server dann irgendwann abschmiert.

  • ja da ist ein report system^^
    das wir immer benötigt^^
    Könnte mn das i-wie s machen dass man das so einstellt,
    dass der zwar alle halbe sekunde die 3 datein abruft aber in unterschiedlichen abständen also nach der reihe?
    Erst datei 1 dann nach 150ms datei 2 dann nach 150 ms datei 3 u.s.w.


    Hat noch wer ne idee wegen den namen aus datei?


    MfG
    Dominik

  • Weil ich das jetzt so gescriptet habe und das so behalten möchte :D^^

  • Schicke auch den /report Befehl und ich zaubere euch was schöneres ^^

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!