Problem mit Adminmeldung

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
  • Guten Tag Breadfish


    Ich habe ein kleines Problem Ich hatte vor gehabt das wenn man ein Support angenommen hat das eine Adminmeldung kommt das der Support angenommen wurde, Aber nun kommt keine Meldung :(


    Hier mein Befehl


    if(strcmp(cmd, "/achat", true) == 0 || strcmp(cmd, "/ac", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (SpielerInfo[playerid][pAdmin] >= 1)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, GRAU, "/achat [Spielerid]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(AdminSchreiben[giveplayerid]<500)
    {
    SendClientMessage(playerid,COLOR_RED,"Der Spieler schreibt schon mit einem anderen Supporter!");
    return 1;
    }
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    AdminSchreiben[giveplayerid]=playerid;
    SpielerSchreiben[playerid]=giveplayerid;
    SendClientMessage(playerid,COLOR_RED,"Sie haben den Report angenommen!");
    return 1;
    }
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    format(string, 256, "Admin: %s hat das Supportticket von %s Angenommen",sendername, giveplayer);
    AdminNachricht(COLOR_RED,string,1);
    }
    }
    else
    {
    format(string, sizeof(string), "** %d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, GRAU, string);
    }
    }
    }
    return 1;
    }

  • if(IsPlayerConnected(playerid))


    Wieso fragst du das ab?
    Wenn jemand den Befehl ausführt muss er ja connected sein ?(


    Ps.: Außerdem musst du das
    tmp = strtok(cmdtext, idx);


    zu dem ändern:
    new idx;
    new tmp = strtok(cmdtext, idx);

  • Hab das nun so und geht auch aber dort steht immer Admin: Keviin hat das Supportticket von 0 Angenommen!


    if(giveplayerid != INVALID_PLAYER_ID)
    {
    AdminSchreiben[giveplayerid]=playerid;
    SpielerSchreiben[playerid]=giveplayerid;
    SendClientMessage(playerid,COLOR_RED,"Sie haben den Report angenommen!");
    format(string, 256, "{A82DA0}Admin: %s hat das Supportticket von %d Angenommen!",sendername, giveplayer);
    AdminNachricht(COLOR_RED,string,1);
    return 1;
    }

  • Für den Code, den du gepostet hast, ist es auch ganz richtig.
    Du gibst nämlich die ID des Users aus und nicht den Namen.
    Mach vor dem format eine neue Variable, da speicherst du den Namen des Users rein.

    Professioneller Webentwickler.

  • format(string, 256, "{A82DA0}Admin: %s hat das Supportticket von %d Angenommen!",sendername, giveplayer);


    durch


    format(string, 256, "{A82DA0}Admin: %s hat das Supportticket von %s Angenommen!",sendername, giveplayer);


    ersetzen.

  • Das ist aber Falsch z.b bei einem GiveMoney befehl wenn die pID also die PlayerID offline sit in dem fall benutze ich IsPlayerConnect also if(IsPlayerConnected(pID)) nur wenn die pid on ist wird der befehl ausgefürt denn die playerid macht den befehl und die pid kriegt das geld also frag IsPlayerConnected ab ob der spieler mit dem server verbunden ist was redjoker sagte ist falsch und lass dich net davon irritieren glaub mir ;)