Hallo Community, frage

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
  • Du darfst in dem ganzen Callback "OnPlayerCommandText" nichts returnen.
    Und dann hängst du ganz unten an:

    new string[100],nam[MAX_PLAYER_NAME];
    for(new i=0;i<MAX_PLAYERS;i++) // Schleife, jeder Spieler wird durchgegangen
    {
    if(!IsPlayerConnected(i)) continue; // Wenn der Spieler nciht online ist, braucht an ihn auch ncihts versendet werden
    if(SpielerInfo[i][Admin]==0) continue; // Adminabfrage
    GetPlayerName(playerid,nam,sizeof(name)); // Name des Spielers wird gecheckt
    format(string,sizeof(string),"%s hat den Befehle %s gesendet.",nam,cmdtext); // Zeichenkette wird formatiert
    SendClientMessage(i,FARBE,string); // Nachricht wird gesendet
    }
    return 1;

  • Folgendes "Schnippsel" in Deinem Befehl hinzufügen und anpassen:


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(isACop || isAAdmin || isAetc...)
    {
    new plName[MAX_PLAYERS_NAME], string[100];
    GetPlayerName(playerid, plName, sizeof(plName));
    format(string, sizeof(string), "%s hat gerade den Befehl XYZ ausgeführt.", plName);
    SendClientMessage(i, -1, string);
    }
    }

  • Bei diesen Befehl


    if (strcmp("/alka",cmdtext,true) == 0)
    {
    if(PlayerInfo[playerid][pMember] == 22 || PlayerInfo[playerid][pLeader] == 22 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
    {
    if(alkatorvar == 0)
    {
    MoveObject(alkator,2045.8000488281, 8.8000001907349, 13.299999237061,6.0);
    PlaySoundForPlayer(playerid,1035);
    SetTimerEx("PlaySoundForPlayer",2000,0,"id",playerid,1036);
    alkatorvar = 1;
    }
    else
    {
    MoveObject(alkator,2045.8000488281, 8.8000001907349, 23.299999237061,6.0);
    PlaySoundForPlayer(playerid,1035);
    SetTimerEx("PlaySoundForPlayer",2000,0,"id",playerid,1036);
    alkatorvar = 0;
    }
    }
    else SendClientMessage(playerid,COLOR_RED," Du bist kein S.W.A.T/Army Mitglied !");
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • // anzuwenden mit:
    //
    // SendCMDtoAdmin(playerid, cmdtext[]);


    forward SendCMDtoAdmin(playerid, cmd[]);
    public SendCMDtoAdmin(playerid, cmd[])
    {
    new string[100], playerName[MAX_PLAYERS_NAME];
    GetPlayerName(playerid, playerName, sizeof(playerName));
    format(string, sizeof(string), "%s hat den Befehl '%s' gerade ausgeführt.", playerName, cmd);

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerAdmin(i)) // <-- anpassen
    {
    SendClientMessage(i, -1, string);
    return 1;
    }
    }

    return 1;
    }

  • Gehts nicht Einfacher?


    Klar geht es vom Code her einfacher, aber ressourcensparend und halbwegs professionell ist es nur so.
    Ich erklär dir eben einfach mal die Funktion:


    Code
    for(new i = 0; i < MAX_PLAYERS; i++)//an alle Online-Player
    [
       if(isACop || isAAdmin || isAetc...)//hier die Definierungen eintragen, an welche Fraktion die Nachricht gehen soll
       {
      	new plName[MAX_PLAYERS_NAME], string[100];//Stringdefinierungen
      	GetPlayerName(playerid, plName, sizeof(plName));//Name des Players wird für die Ausgabe abgefragt
      	format(string, sizeof(string), "%s hat gerade den Befehl XYZ ausgeführt.", plName);//Hier bekommt der Player diese Nachricht
      	SendClientMessage(i, -1, string);//Die Nachricht wird gesendet
       }
    }


    Hier der fertige Befehl:


    mfG

  • So nochmal "politisch" korrekt...


    Die Funktion kannst Du nun in jedem Befehl
    einfügen, der an die Admins gesendet werden soll.


    // anzuwenden mit:
    //
    // SendCMDtoAdmin(playerid, cmdtext[]);
    //


    forward SendCMDtoAdmin(playerid, cmd[]);
    public SendCMDtoAdmin(playerid, cmd[])
    {
    new string[100], playerName[MAX_PLAYERS_NAME];
    GetPlayerName(playerid, playerName, sizeof(playerName));
    format(string, sizeof(string), "%s hat den Befehl '%s' gerade ausgeführt.", playerName, cmd);

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerAdmin(i)) // <-- anpassen
    {
    SendClientMessage(i, -1, string);
    return 1;
    }
    }

    return 1;
    }



    //



    if (strcmp("/alka",cmdtext,true) == 0)
    {
    if(PlayerInfo[playerid][pMember] == 22 || PlayerInfo[playerid][pLeader] == 22 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
    {
    if(alkatorvar == 0)
    {
    MoveObject(alkator,2045.8000488281, 8.8000001907349, 13.299999237061,6.0);
    PlaySoundForPlayer(playerid,1035);
    SetTimerEx("PlaySoundForPlayer",2000,0,"id",playerid,1036);
    alkatorvar = 1;
    }
    else
    {
    MoveObject(alkator,2045.8000488281, 8.8000001907349, 23.299999237061,6.0);
    PlaySoundForPlayer(playerid,1035);
    SetTimerEx("PlaySoundForPlayer",2000,0,"id",playerid,1036);
    alkatorvar = 0;
    }

    SendCMDtoAdmin(playerid, cmdtext[]); // <-- hier ist es an der richtigen Stelle
    }
    else SendClientMessage(playerid,COLOR_RED," Du bist kein S.W.A.T/Army Mitglied !");
    }