Ein kleines problem

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.
    Ich hab eine problem.
    ich habe hier ein support system gescriptet.
    aber ich hab es getestet wenn man /support text macht,sieht man den text ,wo eigendlich nur die supporter sehen sollten.
    Wie mache ich,dass er nur /support machen kann?
    und dann der supporter macht ja dann /as (answer support)

    Hier der Code:



    Code 2 :


    hoffe ihr könnt mir helfen.

  • Also ich habe es jetzt so verstanden , dass wenn jemand ein Ticket abgibt , das das Ticket jeder sieht .
    Aber schau mal . Oben hast du "SendClientMessageToAll" , also kein Wunder das es alle sehen ;)

  • errors sind weg^^.
    aber wenn ich jetzt /supüport text mache kommt die meldung,wo eig. nur die supporter sehen sollten.
    und wenn ich /answersupport (/as) kommt du bist kein admin,obwohl ich 1337 admin bin^^.
    hier der neue code:


    1 code:


    2:
    [/code]
    if(strcmp(cmd, "/support", true) ==0 || strcmp(cmd, "/sup", true) == 0) //db
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " You havent logged in yet!");
    return 1;
    }
    if ((nonewbie) && PlayerInfo[playerid][pAdmin] < 1)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " The Support channel has been disabled by an admin!");
    return 1;
    }
    if(PlayerInfo[playerid][pNMuted] == 1)
    {
    SendClientMessage(playerid, TEAM_CYAN_COLOR, " You are muted from the Support chat, Can't speak.");
    return 1;
    }
    new str[160];
    GetPlayerName(playerid, str, MAX_PLAYER_NAME);
    for (new i = 0; i < MAX_PLAYER_NAME; i++)
    if (str[i] == '_')
    str[i] = ' ';
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /support [text]");
    return 1;
    }
    format(str, sizeof(str), "[ID:%d]%s Support: %s",playerid, str, result);
    for (new n=0; n<MAX_PLAYERS; n++)
    {
    if (IsPlayerConnected(n))
    {
    SendClientMessage(n, COLOR_ORANGE, str);
    }
    }
    printf("%s", str);
    }
    return 1;
    }
    [/code]

  • Mit dem ersten verstehe ich nicht was du meinst du du fragst mit if(IsPlayerAdmin(playerid)) ab damit wird gefragt ob der Spieler RCON Admin is falls du GF hast



    if(PlayerInfo[playerid][pAdmin] >= 1337)


    //edit Ich drücke nochmal ein Auge zu eigentlich müsste ich dich wegen Doppel Posting verwarnen.

    RFT

  • Im /support Command:


    {
    if (IsPlayerConnected(n))
    {
    SendClientMessage(n, COLOR_ORANGE, str);
    }
    }
    Da solltest du eine Abfrage machen (ob der Spieler Admin ist)


    BTW: Warum SendClientMessageToAll(COLOR_GREEN, "** To answer this player, /as [ID] [Answer]");