/mute Befehl

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
  • Hallo Community,
    ich habe folgendes Problem. Ich möchte einen /mute Befehl scripten und habe das Problem, dass ich ein Anfänger bin und es nicht hinbekomme, dass der Spieler nichts schreiben kann wenn er gemutet ist.
    Folgendes habe ich schon:



    if(strcmp(cmd,"/mute",true) == 0)
    {
    if(pInfo[playerid][admin] >= 2)
    {
    if(!strlen(strget(cmdtext,1)) || !strlen(strget(cmdtext,2)))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Verwendung: /mute [spielerid][Grund]");
    return 1;
    }
    new msg1[200];
    format(msg1,sizeof(msg1),"** %s wurde von %s gemutet (Grund: %s)",opfer,spieler,cmdtext[8]);
    SendClientMessageToAll(COLOR_LIGHTRED,msg1);
    muted[ziel] = 1;
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du darfst diesen Command nicht nutzen!");
    }
    return 1;
    }
    if(strcmp(cmd,"/unmute",true) == 0)
    {
    if(pInfo[playerid][admin] >= 2)
    {
    if(!strlen(strget(cmdtext,1)))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Verwendung: /unmute [spielerid]");
    return 1;
    }
    new msg1[200];
    format(msg1,sizeof(msg1),"* Du hast %s erlaubt, wieder zu chatten.",opfer);
    SendClientMessage(playerid,COLOR_RED,msg1);
    SendClientMessage(ziel,COLOR_RED,"Du kannst nun wieder chatten.");
    muted[ziel] = 0;
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du darfst diesen Command nicht nutzen!");
    }
    return 1;
    }


    Wenn er gemutet ist, soll eine Nachricht kommen, dass er gemutet ist und nichts schreiben kann.

  • Mach es so:


    public OnPlayerText(playerid, text[])
    {
    if(muted[playerid] == 1)
    {
    SendClientMessage(playerid,FARBE,"Du bist gemuted!");
    return 0;
    }
    return 1;
    }


    Sollte eigentlich gehen, außer die abfrage anpassen.


    MfG

    Back to the roots!

  • Du musst mal das muted[ziel] auch benutzen.


    z.B. du fragst unter onplayertext ab ob das muted auf 1 ist, und wenn ja, returnst du seinen wert und gibst ihm einen nachricht wieder "Du bist gemuted"


    /edit - Text - OnPlayerTEXT

  • @ iAIR
    Wäre es sicht sinnvoller das beo OnplayerText zu machen? Bin nicht so erfahren, aber bei OnPlayerConnect hat das doch wenig Sinn, ausser, dass er erfährt, dass er gemuted ist?

    MFG MrTadäus

  • ups sry, die Nacht macht mich verrückt. Habs editiert. ^^