Maske Unbekannt sagt: Compiler Stürzt ab.

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
  • Liebe SAMP Scripter / Spieler und der Rest :D
    Ich habe ein Problem mit einem Masken System, also mir stürtzt mein Compiler ab, bei den Code, wo ich aus den Forum habe Aber iwie anders nicht auskenne.
    Der Gefundene Code:



    if(Maske[playerid] >= 1)
    {
    new string[128], text[64];
    new sendername[MAX_PLAYER_NAME];
    format(string,sizeof(string),"Unbekannt:%s",text);
    }


    Aber wenn ich das hier eingebe


    if(strcmp(cmdtext, "/armymaske", true) == 0)
    {
    if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
    {
    if(Maske[playerid] == 1)
    {
    for(new i = 0; i < MAX_PLAYERS; i++) ShowPlayerNameTagForPlayer(i, playerid, 1);
    Maske[playerid] = 0;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du hast deine Maske abgenommen.");
    }
    else if(Maske[playerid] == 0)
    {
    new string[128], text[64];
    new sendername[MAX_PLAYER_NAME];
    format(string,sizeof(string),"Unbekannt:%s",text);
    }
    for(new i = 0; i < MAX_PLAYERS; i++) ShowPlayerNameTagForPlayer(i, playerid, 0);
    Maske[playerid] = 1;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du hast deine Maske aufgesetzt.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du kannst die Maske wieder mit (( /maskeaus )) Abschalten*");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keine Maske aufsetzen!");
    }
    return 1;
    }
    Stürzt der Compiler ab, wo ist denn da das Problem :D


    LG :thumbup:

  • Was willst du mit diesem Abschnitt erreichen?

    new string[128], text[64];
    new sendername[MAX_PLAYER_NAME];
    format(string,sizeof(string),"Unbekannt:%s",text);

    außerdem befindet sich folgender Code außerhalb deiner Abfrage (else if(Maske[playerid] == 0)):

    for(new i = 0; i < MAX_PLAYERS; i++) ShowPlayerNameTagForPlayer(i, playerid, 0);
    Maske[playerid] = 1;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du hast deine Maske aufgesetzt.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du kannst die Maske wieder mit (( /maskeaus )) Abschalten*");
    was dazu führt, dass du eine Klammer zuviel schließt. Ich denke daran liegt es, dass der Compiler abstürzt.

  • Das müsstest du unter OnPlayerText machen (logisch, da OnPlayerText aufgerufen wird wenn ein Spieler etwas im Chat schreibt :D):

    public OnPlayerText(playerid, text[])
    {
    //...
    if(Maske[playerid] == 1)
    {
    new msg[128 + 11];
    format(msg,sizeof(msg),"Unbekannt:%s",text);
    SendClientMessageToAll(0xFF0000FF,msg); //Sendet die Nachricht an alle Spieler
    return 0;
    }
    //...
    }
    den Code musst du noch einrücken.
    Danach kannst du

    new string[128], text[64];
    new sendername[MAX_PLAYER_NAME];
    format(string,sizeof(string),"Unbekannt:%s",text);
    }
    entfernen, dann müsste es auch von den Klammern her wieder passen.