Params fehler

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
  • //------------------ Kick --------------------------------------
    dcmd_kick(playerid,params[])
    {
    new pID, str[64];
    if(sscanf(params, "uz",pID,str))return SendClientMessage(playerid,0xFF0000FF,"USAGE: /kick ID Grund");
    //Falls nur /Kick eingegeben wurde
    if (pID == INVALID_PLAYER_ID)return SendClientMessage(playerid,0xFF0000FF,"Kein Spieler mit angegebener ID Online!");
    //Falsche Id
    if (pID == playerid)return SendClientMessage(playerid,0xFF0000FF,"Du kannst dich nicht selber kicken!");
    // Falls man seine eigene ID angegeben hat ;)
    if(PlayerInfo[playerid][pAdmin] > 0) // Wenn das Level größer ist als 0
    {
    new ThePlayer[MAX_PLAYER_NAME], str2[128];
    GetPlayerName(pID,ThePlayer,sizeof(ThePlayer));
    format(str2,sizeof(str2),"%s wurde vom Server gekickt!(Grund: %s)",ThePlayer,str[0] ? str : "<Kein Grund>");
    // Falls kein Grund angegeben wird als Grund <Kein Grund> angegeben
    SendClientMessageToAll(0xFF0000FF,str);
    Kick(pID);
    }
    else return SendClientMessage(playerid, 0xFF0000FF, "Dein Level reicht nicht aus!");
    return 1;
    }


    Wenn ich jetzt /kick ID GRUND eingebe steht da aber immer:

    Zitat

    USAGE: /kick ID Grund


    warum??

    Du brauchst eine Website?

    Du hast ein Layout angefertigt und willst es gecoded sehen?

    DANN SCHREIB MICH AN.

    Kostenlos und für euch.

  • Benutz mal als parameter ein großes S da z eigentlich eine veraltete version des optionalen strings ist.
    Dürfte jedoch eigentlich nicht damit zusammen hängen aber ein versuch ist es wert.


    Also so


    if(sscanf(params, "uS()[64]",pID,str))return SendClientMessage(playerid,0xFF0000FF,"USAGE: /kick ID Grund");


    //edit Kleiner Fehler unterlaufen


    man benötigt noch die zwei klammern () dort kannst du auch was rein schreiben zum beispiel
    S(*)


    was man jedoch noch abfragen muss
    (str[0] == '*')
    je nach belieben

    Einmal editiert, zuletzt von IPrototypeI ()

  • dcmd_kick(playerid,params[])
    {
    new pID, str[64];
    if(sscanf(params, "us",pID,str))return SendClientMessage(playerid,0xFF0000FF,"USAGE: /kick ID Grund"); //Falls nur /Kick eingegeben wurde
    if (pID == INVALID_PLAYER_ID)return SendClientMessage(playerid,0xFF0000FF,"Kein Spieler mit angegebener ID Online!");
    //Falsche Id
    if (pID == playerid)return SendClientMessage(playerid,0xFF0000FF,"Du kannst dich nicht selber kicken!");
    // Falls man seine eigene ID angegeben hat ;)
    if(PlayerInfo[playerid][pAdmin] > 0) // Wenn das Level größer ist als 0
    {
    new ThePlayer[MAX_PLAYER_NAME], str2[128];
    GetPlayerName(pID,ThePlayer,sizeof(ThePlayer));
    format(str2,sizeof(str2),"%s wurde vom Server gekickt!(Grund: %s)",ThePlayer,str[0] ? str : "<Kein Grund>");
    // Falls kein Grund angegeben wird als Grund <Kein Grund> angegeben
    SendClientMessageToAll(0xFF0000FF,str);
    Kick(pID);
    }
    else return SendClientMessage(playerid, 0xFF0000FF, "Dein Level reicht nicht aus!");
    return 1;
    }


    Funktioniert immernochnicht

    Du brauchst eine Website?

    Du hast ein Layout angefertigt und willst es gecoded sehen?

    DANN SCHREIB MICH AN.

    Kostenlos und für euch.