/mute [ID] [Zeit]

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,


    sicherlich kennen viele von euch den Befehl "/mute ID ZEIT" - häufig ist dieser angegeben mit "Minuten".


    Ich allerdings möchte den gerne in Sekunden haben, nur wie bekomme ich das hin? Muss man da was durch 60 teilen wie bei /jail aus dem GF?
    Dort hieß es nämlich


    Zitat

    PlayerInfo [playerid] [pJailTime]/60;


    Hier mein "bisheriger Erfolg" ( :whistling: :(


    if(strcmp(cmd, "/mute", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    new otherplayer = ReturnUser(tmp);
    tmp2 = strtok(cmdtext, idx);
    new time = strval(tmp2);
    new tmp2[256];
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /mute [playerid] [time]");
    return 1;
    }
    new playa;
    playa = ReturnUser(tmp);
    if(PlayerInfo[playerid][pAdmin] < PlayerInfo[otherplayer][pAdmin])
    {
    SendClientMessage(playerid, COLOR_BRIGHTRED, "You can't mute a higher level Admin !");
    }
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    PlayerInfo[otherplayer][pJailTime] = time;
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(PlayerInfo[playa][pMuted] == 0)
    {
    PlayerInfo[playa][pMuted] = 1;
    printf("AdmCmd: %s silenced %s",sendername, giveplayer);
    format(string, sizeof(string), "\"%s\" was muted by Admin \"%s\" for %d seconds.", giveplayer, sendername, PlayerInfo[playerid][pJailTime]);
    ABroadCast(COLOR_LIGHTRED,string,1);
    }
    else
    {
    PlayerInfo[playa][pMuted] = 0;
    printf("AdmCmd: %s unsilenced %s",sendername, giveplayer);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s zum Reden gebracht",giveplayer ,sendername);
    ABroadCast(COLOR_LIGHTRED,string,1);
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Invalid Player ID.");
    }
    return 1;
    }


    Trotzdem sagt der immer folgendes:


    Zitat

    C:\Users\Server\Server #7\Server final\gamemodes\trs.pwn(28074) : error 017: undefined symbol "tmp2"
    C:\Users\Server\Server #7\Server final\gamemodes\trs.pwn(28075) : error 017: undefined symbol "tmp2"
    C:\Users\Server\Server #7\Server final\gamemodes\trs.pwn(28076) : warning 204: symbol is assigned a value that is never used: "tmp2"


    Wer kann das Problem lösen? Jedenfalls steht jetzt schon fest: Derjenige, der es lösen kann, hat was gut bei mir und deshalb bedanke ich mich schon einmal im Voraus :love:

  • du hast
    tmp2 benutzt bevor du es definiert hast, setz new tmp2[256]; ein weiter nach obn