Befehl nur mit ID oder exaktem Namen

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 Breadfisher,


    Ich habe hier einen Command mit dcmd /sscanf geschrieben :


    dcmd_kick(playerid,params[])
    {
    new zielid;
    new grund[256];


    if(sscanf(params, "ds",zielid,grund))
    {
    return SendClientMessage(playerid,weiß,"Benutzung: /kick [ID] [Grund]");
    }

    if(IsInAdmin[playerid] == 1)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerConnected(zielid))
    {
    SendClientMessage(playerid,rot,"Es existiert kein Spieler mit dieser ID");
    return 1;
    }
    else
    {
    if(zielid == playerid)
    {
    SendClientMessage(playerid,rot,"Du solltest dich besser nicht selber kicken");
    return 1;
    }
    else
    {
    new admin[MAX_PLAYER_NAME];
    new string[256];
    GetPlayerName(playerid,admin,sizeof(admin));
    format(string,sizeof(string),"Du wurdest von Admin %s gekickt. Grund: %s",admin,grund);
    SendClientMessage(zielid,braun,string);


    new string2[256];
    new gekickt[MAX_PLAYER_NAME];
    GetPlayerName(zielid,gekickt,sizeof(gekickt));
    format(string2,sizeof(string),"Admin-Command: Admin %s hat %s gekickt. Grund: %s",admin,gekickt,grund);


    Kick(zielid);

    SendClientMessageToAll(braun,string2);


    print("-----");
    print(string2);

    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid,rot,"Du besitzt nicht die nötige Einstufung zur Ausführung dieses Befehls");
    return 1;
    }
    }


    Mein Problem ist nun, dass man zwar mit der ID auch die gewünschte ID kicken kann.
    Aber wenn man einen Namen benutzt geht es immer auf ID 0.


    Nun möchte ich wissen, wie man sagen kann, dass nur ID's benutzt werden können. Oder noch besser man auch den Namen benutzen und damit auch den richtigen kicken kann.


    Ich hoffe das ist verständlich ausgedrückt.


    MFG


    Hagi


    Ich hoffe auf eine, oder mehrere, gute Antwort(en)

  • Pack das mal zusätzlich mit rein,



    Kick GetPlayerName(zielid);


    oder


    GetPlayerName(Kick(zielid))



    ist jetzt ungetestet aber eigentlich müsste eines davon funktionieren wenn ich jetzt gerade nicht ganz auf dem Holzweg bin.

    2 Mal editiert, zuletzt von Traxter ()