Chatbug?

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
  • Heyho, ich habe einen Fehler in meinem Script, welcher bei manchen Usern auftritt, d.h nicht bei allen und auch nur nach einer bestimmten Zeit, es steht alles im Chat doppelt-3fach, der Rekord war bis jetzt 12fach aber es wird beim anderen User nicht 12fach angezeigt sondern nur bei dem User der diesen "Bug" hat, ich weiß nicht woran das liegt o. was der Fehler ist.
    Hier ist ein Beispiel:


    OnPlayerText: http://pastebin.com/MnL9ARpp


    Hoffe einer von euch kann mir helfen.



    Best Regards.

    Einmal editiert, zuletzt von Synox ()

  • Send mal deinen Befehl.
    Beispielsweise "/ooc"


    if(strcmp("/ooc", cmd, true) == 0 || strcmp("/o", cmd, true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Du hast dich noch nicht eingeloggt !");
    return 1;
    }
    if(OOCClose == 1 && PlayerInfo[playerid][pAdmin] < 1)
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Der /ooc Chat ist deaktiviert !");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[90];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_BENUTZETEXT, "Benutze: (/o)oc [ooc chat]");
    return 1;
    }
    format(string, sizeof(string), "(( {%s}%s {FFFFFF}| %s: %s))", getAFarbeRang(PlayerInfo[playerid][pAdmin]), getAdminRang(PlayerInfo[playerid][pAdmin]), sendername, result);
    OOCOff(COLOR_OOC,string);
    }
    return 1;
    }

  • Also der Code hier ist eig richtig wie sieht denn der OOCOff Code aus

    Es hat nichts mit dem ochat zu tun, alles kommt doppelt zum Beispiel wenn sich jemand einloggt steht bei den Admins immer .. hat sich mit der Ip ....... eingeloggt, dies kommt auch doppelt, bei manchen sogar 3x 4x 5x, Rekord war bei 15x, es kommt aber auch anderes doppelt, /r /d /gov alles. Und wenn jetzt z.b nur ich den Bug habe, zeigt er nur bei mir an. Also nur bei mir kommt alles doppelt was ich schreibe/was die anderen schreiben, bei den anderen die den Bug nicht haben kommt es normal 1x, richtig komisch.

  • Das gleiche Problem hatte ich mal ganz früher auch. Es liegt an 'ForAllPlayers(i)'


    Ersetz mal alle 'ForAllPlayers(i)' mit 'for(new i=0; i<MAX_PLAYERS;i++)' dann sollte alles klappen.


    Also es liegt an dem ForAllPlayers.

  • Das gleiche Problem hatte ich mal ganz früher auch. Es liegt an 'ForAllPlayers(i)'


    Ersetz mal alle 'ForAllPlayers(i)' mit 'for(new i=0; i<MAX_PLAYERS;i++)' dann sollte alles klappen.


    Also es liegt an dem ForAllPlayers.

    Danke, das war der Fehler, weißt du eigentlich wieso?