Suche : O-Chat ein&ausschalten

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 Leute.
    Vor kurzem habe ich mir ein O-Chat gescriptet. Hätte aber nun gerne das (nur) admins diesen ausschalten können (und einschalten).


    Die Adminabfrage sieht bei mir so aus:

    if(!isPlayerAnAdmin(playerid,1332))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    ...
    ...
    ...


    //Oder :
    if(isPlayerAnAdmin(playerid,1332))
    {
    ...
    return 1;
    }


    Danke im Vorraus!

    Liebe Grüße


    Marcel

  • public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/noooc", cmdtext, true, 10) == 0)
    {
    if(!isPlayerAnAdmin(playerid,1332))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    for(new i; i<MAX_PLAYERS; i++)
    {
    SetPVarInt(i,"oocaus",1);
    }
    SendClientMessageToAll(ROT,"Der OOC-Chat wurde von einem Admin ausgeschaltet");
    return 1;
    }
    return 0;
    }



    Musst halt bei deinem ooc command noch abfragen ob der PVar "oocaus" an bzw. aus ist.

  • Also im Grunde ist's ganz einfach.
    Du erstellst eine Globale Variable,
    new OOCChatAktiv = 0;
    z.B. 0 wenn der Chat beim Serverstart 0 also aus sein soll oder 1 wenn an.
    Bei /noooc Prüfst du welchen Wert sie hat, 0 oder 1 und setzt sie dann auf den gegenwert.
    Wenn 0 (Aus) dann auf 1 (Chat ist an) und andersrum.


    Bei /o Fragst du dann halt noch ab ob der Chat an (Auf 1 ) ist, wenn nicht dann kann er ihn nicht benutzen.


    Das darfste jez üben :D Sind nur if und if-else Abfragen und man braucht auch keine Schleife :huh:

  • Habs so. Geht das auch?:

    ocmd:o(playerid,i,params[])
    {
    new string[128],text[128];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,GRAU,"[INFO]: /cnn [Text]");
    format(string,sizeof(string),"(( %s sagt : %s ))",SpielerName(playerid),text);
    if(!isOocaus(i,0))return SendClientMessage(playerid,ROT,"Der O-Chat ist deaktiviert!");
    SendClientMessageToAll(0xFFFFFFFF,string);
    return 1;
    }


    stock isOocaus(i,nummer)
    {
    if(GetPVarInt(i,"oocaus")==nummer)return 1;
    return 0;
    }
    public OnPlayer DingensKirchen :D
    {
    if (strcmp("/noooc", cmdtext, true, 10) == 0)
    {
    if(!isPlayerAnAdmin(playerid,1332))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    for(new i; i<MAX_PLAYERS; i++)
    {
    SetPVarInt(i,"oocaus",1);
    }
    SendClientMessageToAll(ROT,"Der OOC-Chat wurde von einem Admin ausgeschaltet");
    return 1;
    }

    if (strcmp("/nooc", cmdtext, true, 10) == 0)
    {
    if(!isPlayerAnAdmin(playerid,1332))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    for(new i; i<MAX_PLAYERS; i++)
    {
    SetPVarInt(i,"oocaus",0);
    }
    SendClientMessageToAll(ROT,"Der OOC-Chat wurde von einem Admin angeschaltet");
    return 1;
    }
    }

    Liebe Grüße


    Marcel


  • //ganz Oben
    new OChatAktiv;
    ocmd:o(playerid,params[])
    {
    new string[128],text[128];
    if(OChatAktiv == 0) { return SendClientMessage(playerid,ROT,"Der OOC Chat ist Deaktiviiert"); }
    if(sscanf(params,"s",text))return SendClientMessage(playerid,GRAU,"[INFO]: /cnn [Text]");
    format(string,sizeof(string),"(( %s sagt : %s ))",SpielerName(playerid),text);
    SendClientMessageToAll(0xFFFFFFFF,string);
    return 1;
    }
    ocmd:oaktiv(playerid,params[])
    {
    if(AdminAbfrageund so weiter)
    OChatAktiv = 1;
    return 1;
    }
    Den Anderen Command kannst du dir denken..
    Aber habe ka. ob das funzt

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen