OOC Chat geht für User auch wenn er ausgeschaltet ist

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
  • Sorry, meine Glaskugel ist kaputt.


    Ohne Code geht nichts.



    höhö, Zitat billig geklaut :D

  • ocmd:o(playerid,params[])
    {
    new otext[256];
    if(sscanf(params, "s", otext))
    {
    return SendClientMessage(playerid,COLOR_RED,"Benutzung: /o(oc) [Text]");
    }
    if (PlayerInfo[playerid][pAdmin] < 0)
    {
    return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
    }
    else
    {
    new ostring[256];
    new aname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, aname, sizeof(aname));
    format(ostring, sizeof(ostring), "((%s: %s))", aname, otext);
    SendClientMessageToAll(COLOR_WHITE,ostring);
    }
    return 1;
    }


  • ocmd:o(playerid,params[])return ocmd_ooc(playerid,params);
    ocmd:ooc(playerid,params[])
    {
    if(oocstate == true) {
    new string[256],text[64],name[MAX_PLAYER_NAME];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,0xFFA300FF,"Benutzung: /o(oc) <Text>");
    if(PlayerInfo[playerid][pMuted] == 1)return SendClientMessage(playerid,COLOR_RED,"Du bist gemutet, daher kannst du nichts schreiben!");
    GetPlayerName(playerid,name,sizeof(name));
    if(PlayerInfo[playerid][pRank] > 0) {
    format(string,sizeof(string),"(( %s: %s ))",name,text);
    SendClientMessageToAll(0x0099CCFF,string);
    print(string);
    } else {
    format(string,sizeof(string),"(( %s: %s ))",name,text);
    SendClientMessageToAll(0xE0FFFFFF,string);
    print(string);
    }
    } else {
    if(PlayerInfo[playerid][pRank] > 0) {
    new string[256],text[256],name[MAX_PLAYER_NAME];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,0xFFA300FF,"Benutzung: /o(oc) <Text>");
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"(( %s: %s ))",name,text);
    SendClientMessageToAll(0x0099CCFF,string);
    print(string);
    } else {
    SendClientMessage(playerid,COLOR_RED,"Der OOC-Chat wurde von einem Administrator ausgeschaltet!");
    }
    }
    return 1;
    }


    ocmd:togooc(playerid,params[])
    {
    if(PlayerInfo[playerid][pRank] > 1) {
    if(oocstate == true) {
    oocstate = false;
    new string[256],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Teammitglied %s hat den OOC-Chat deaktiviert.",name);
    SendClientMessageToAll(0xFFA300FF,string);
    printf("[togooc] %s hat den OOC-Chat deaktiviert.",name);
    } else {
    oocstate = true;
    new string[256],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Teammitglied %s hat den OOC-Chat aktiviert!",name);
    SendClientMessageToAll(0xFFA300FF,string);
    printf("[togooc] %s hat den OOC-Chat aktiviert.",name);
    }
    } else {
    SendClientMessage(playerid,COLOR_RED,"Du besitzt nicht die benötigten Rechte für diese Aktion!");
    }
    return 1;
    }

  • if(strcmp(cmd, "/noooc", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerInfo[playerid][pAdmin] >= 3 && (!noooc))
    {
    noooc = 1;
    SendClientMessage(playerid, COLOR_GRAD2, "OOC Channel Ausgeschaltet");
    }
    else if (PlayerInfo[playerid][pAdmin] >= 3 && (noooc))
    {
    noooc = 0;
    BroadCast(COLOR_GRAD2, "OOC Channel Eingeschaltet ");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt diesen Befehl zu benutzen!");
    }
    }
    return 1;
    }

  • Das Problem bei deinem Code ist einfach das wenn ein Spieler ein Admin Level hat was tiefer als 0 ist die Nachricht kommt: Du bist kein Admin.
    Unter 0 ist aber etwas merkwürdig^^, wenn du jetzt aus der 0 ne 1 machst kommt die Nachricht dann auch wirklich nur wenn der Spieler kein Admin (Level 1 oder höher) ist.


    Und mit dem An-/Ausschalten musst du noch abfragen ob der O chat an oder aus ist, das habe ich da nicht gesehen.

  • i-wie geht das immernoch nicht


    Kann mal einer mein Befehl durchschauen ob ich i-was falsch gemacht habe:


    Das is der Befehl um im OOC Chat zu schreiben:


    ocmd:o(playerid,params[])
    {
    if(ooc == 0) return SendClientMessage(playerid,COLOR_RED,"Der Globaler Chat ist deaktiviert!");
    new text[128];
    new string[128];
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_RED,"Benutzung /o [text]!");
    format(string,sizeof(string),"[Globaler-Chat] %s: %s",Name,text);
    SendClientMessageToAll(COLOR_WHITE,string);
    return 1;
    }


    Das ist der befhel um den OOC an und auszuschalten:


    if(strcmp(cmd, "/ooc", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerInfo[playerid][pAdmin] >= 6 && (!noooc))
    {
    noooc = 1;
    BroadCast(COLOR_YELLOW, "Der öffentliche Chat wurde eingeschaltet.");
    }
    else if (PlayerInfo[playerid][pAdmin] >= 1337 && (noooc))
    {
    noooc = 0;
    BroadCast(COLOR_YELLOW, "Der öffentliche Chat wurde ausgeschaltet.");
    }
    else
    {
    SendClientMessage(playerid, COLOR_YELLOW, " Tu das Lieber nicht!");
    }
    }
    return 1;
    }

  • Ok, die Lösung ist denkbar einfach!


    ocmd:o(playerid,params[])
    {
    if(ooc == 0) // <-- nicht ooc sondern noooc return SendClientMessage(playerid,COLOR_RED,"Der Globaler Chat ist deaktiviert!");
    new text[128];
    new string[128];
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_RED,"Benutzung /o [text]!");
    format(string,sizeof(string),"[Globaler-Chat] %s: %s",Name,text);
    SendClientMessageToAll(COLOR_WHITE,string);
    return 1;
    }
    Wenn die Admins den Chat deaktivieren, wird die Variable noooc
    aus false gesetzt und NICHT die Variable ooc.


    Also löst Du Dein Problem wie folgt und änderst die Kleinigkeit:


    ocmd:o(playerid,params[])
    {
    if(!noooc) return SendClientMessage(playerid,COLOR_RED,"Der Globaler Chat ist deaktiviert!");
    new text[128];
    new string[128];
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_RED,"Benutzung /o [text]!");
    format(string,sizeof(string),"[Globaler-Chat] %s: %s",Name,text);
    SendClientMessageToAll(COLOR_WHITE,string);
    return 1;
    }

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