Mute spinnt

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
  • Sers Leude,
    mein Mute System entmutet den Spieler nicht nach Zeit angeabe:

    ocmd:mute(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,HELLROT,"AdmCmd: Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    {
    new pID;
    new reason[64];
    new time;
    if(sscanf(params,"uis",pID,time,reason))return SendClientMessage(playerid,HELLROT,"AdmCmd: Benutze /mute [SpielerID] [Zeit(Minuten)] [Grund]");
    if(!IsPlayerConnected(pID))return SCM(playerid,HELLROT,"AdmCmd: Der Spieler befindet sich zurzeit nicht auf dem Server!");
    {
    if(isPlayerAnAdmin(pID,1))
    {
    SendClientMessage(playerid,HELLROT,"AdmCmd: Du kannst keine Admins muten!");
    return 1;
    }
    else if(time > 0 && time < 999999)
    {
    new string[128],tmptime = time;
    format(string,sizeof(string),"%s wurde vom Administrator %s für %i Minuten gemutet. Grund: %s",SpielerName(pID),SpielerName(playerid),tmptime,reason);
    SendClientMessageToAll(HELLROT,string);
    SetPVarInt(pID,"Mute",1);
    return 1;
    }
    }
    return 1;
    }
    }

    :) SWAGETTI & YOLONAISE!

  • ocmd:mute(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,HELLROT,"AdmCmd: Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    {
    new pID;
    new reason[64];
    new time;
    if(sscanf(params,"uis",pID,time,reason))return SendClientMessage(playerid,HELLROT,"AdmCmd: Benutze /mute [SpielerID] [Zeit(Minuten)] [Grund]");
    if(!IsPlayerConnected(pID))return SCM(playerid,HELLROT,"AdmCmd: Der Spieler befindet sich zurzeit nicht auf dem Server!");
    {
    if(isPlayerAnAdmin(pID,1))
    {
    SendClientMessage(playerid,HELLROT,"AdmCmd: Du kannst keine Admins muten!");
    return 1;
    }
    else if(time > 0 && time < 999999)
    {
    new string[128],tmptime = time;
    format(string,sizeof(string),"%s wurde vom Administrator %s für %i Minuten gemutet. Grund: %s",SpielerName(pID),SpielerName(playerid),tmptime,reason);
    SendClientMessageToAll(HELLROT,string);
    SetPVarInt(pID,"Mute",1);
    SetTimerEx("PublicName",ZeitInMillisekunden,true = wiederholen false = nicht,"i",pID);
    return 1;
    }
    }
    return 1;
    }
    }
    So mein ich das

  • Ohne Timer bitte...



    UnmutePlayer(playerid, minuten)
    {
    DeletePVar(playerid, "muteTill");
    return 1;
    }


    MutePlayer(playerid, minuten)
    {
    SetPVarInt(playerid, "muteTill", gettime()+(minuten*60));
    return 1;
    }


    public OnPlayerText(playerid, text[])
    {
    if(GetPVarInt(playerid, "muteTill") > gettime())
    {
    new str[128];
    format(str,sizeof(str), "Fehler: Du hast Sprechverbot. %d Sekunden bis du wieder sprechen kannst!", GetPVarInt(playerid, "muteTill")-gettime());
    SendClientMessage(playerid, 0xFF0000FF, str);
    return 0;
    }
    //...
    return 1;
    }


    Dieser kleine Code ist ein vollständig funktionierendes Mute-System inklusive der Angabe wie lange man noch gemutet ist beim Versuch etwas zu schreiben.


    //Edit: UnmutePlayer(playerid) hinzugefügt


  • ocmd:mute(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,HELLROT,"AdmCmd: Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    {
    new pID;
    new reason[64];
    new time;
    if(sscanf(params,"uis",pID,time,reason))return SendClientMessage(playerid,HELLROT,"AdmCmd: Benutze /mute [SpielerID] [Zeit(Minuten)] [Grund]");
    if(!IsPlayerConnected(pID))return SCM(playerid,HELLROT,"AdmCmd: Der Spieler befindet sich zurzeit nicht auf dem Server!");
    {
    if(isPlayerAnAdmin(pID,1))
    {
    SendClientMessage(playerid,HELLROT,"AdmCmd: Du kannst keine Admins muten!");
    return 1;
    }
    else if(time > 0 && time < 999999)
    {
    new string[128],tmptime = time;
    format(string,sizeof(string),"%s wurde vom Administrator %s für %i Minuten gemutet. Grund: %s",SpielerName(pID),SpielerName(playerid),tmptime,reason);
    SendClientMessageToAll(HELLROT,string);
    SetPVarInt(pID,"Mute",1);
    SetTimerEx("MuteTime",6000,false,"i",pID);
    return 1;
    }
    }
    return 1;
    }
    }


    public MuteTime(playerid)
    {
    new pID;
    SetPVarInt(pID,"Mute",0);
    return 1;
    }



    So sieht das aus, leider kann die Person trotzdem was schreiben obwohl siehe hier.

    public OnPlayerText(playerid, text[])
    {
    new pID;
    if(GetPVarInt(pID,"Mute") >= 1) return 0;

    :) SWAGETTI & YOLONAISE!

    Einmal editiert, zuletzt von John_Sanclear ()