[DCMD & Parameter]Denkfehler?

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
  • Ein wunderschönen Guten Tag,
    ich halt es einmal kurz - Ich hab ein Problem.


    Wenn ich bei 'zGrund' als Optimalen String angebe, so kann ich die Dauer freilassen, wenn ich es jedoch als String angebe, dann nicht.
    Außerdem macht er, wenn ich 0 Angebe die Zeit auf 48 (Minuten), 1 = 49 (Minuten), ... .


    Hier ist der Scripteil:

    dcmd_mute(playerid,params[])
    {
    new mutespieler, Dauer, zGrund[128];
    if(sscanf(params,"udz",mutespieler,Dauer,zGrund))
    {
    SendClientMessage(playerid,Orange,"Benutzung: /mute [ID] [ZEIT] >Grund<");
    SendClientMessage(playerid, Orange, "Zeit wird in Minuten angeben! - Ein Grund ist Optimal, jedoch nicht nötig.");
    return 1;
    }
    if(SpielerInfo[playerid][AdminLvL] >= 1)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerConnected(mutespieler))
    {
    return SendClientMessage(playerid,Rot,"Es existiert kein Spieler mit dieser ID!");
    }
    else
    {
    if(playerid == mutespieler)
    {
    return SendClientMessage(playerid,Rot,"Du kannst dir nicht selber ein Sprechverbot geben!");
    }
    else
    {
    new admin[MAX_PLAYER_NAME];
    new sspielername[MAX_PLAYER_NAME];
    new Nachricht[150];
    GetPlayerName(playerid, admin,sizeof(admin));
    GetPlayerName(mutespieler, sspielername, sizeof(sspielername));
    format(Nachricht,sizeof(Nachricht),"Administrator %s hat Spieler %s für %d Minuten ein Sprechverbot auferlegt, Grund: %s", admin,sspielername,Dauer,zGrund[0] ? zGrund : "Kein Grund Angegeben!");
    SendClientMessageToAll(Rot,Nachricht);
    SpielerInfo[mutespieler][Sprechverbot] = 1;
    SpielerInfo[mutespieler][Sprechverbotzeit] = Dauer * 60;
    new pNachricht[100];
    format(pNachricht,sizeof(pNachricht),"Administrator %s hat Spieler %s ein Sprechverbot auferlegt.",admin,sspielername);
    print("-----");
    print(pNachricht);
    return 1;
    }
    }
    }
    else {IstNichtAdmin return 1;}
    }


    Den sscanf Code habe ich vom Tutorial von Goldkiller.


    ich würde mich sehr über Hilfe freuen.


    mit freundlichen Grüßen
    ISAPnP

    Bin weg, Tschau! (Account kann gelöscht werden)