hilfe mit dcmd befehl

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
  • Guten tag ich habe da mal eine frage ich habe den kick befehl gemacht er funktioniert zwa aber nur wen ich als grund eien zahl eintrage kan mir jemadn helfen das dort buchstaben rein können ??


    new pID, grund, string[128];
    if(sscanf(params,"ui",pID,grund))return SendClientMessage(playerid,Orange,"Benutzung: /kick [SpielerID] [Grund]");
    format(string,sizeof(string),"%s wurde von %s vom Server gekickt. Grund: %i.",GetSpielerName(pID),GetSpielerName(playerid),grund);
    if(IsPlayerConnected(pID))

  • Schau doch mal deinen Code genau an.
    new pID, grund, string[128];
    if(sscanf(params,"ui",pID,grund))return SendClientMessage(playerid,Orange,"Benutzung: /kick [SpielerID] [Grund]");

    Du hast die Variable grund nicht als Array angelegt und auch nicht per sscanf nach einem Text suchen lassen ( "ui" ) .
    Schau mal hier wie du einen Grund angeben kannst und verarbeitest.

  • Schau doch mal deinen Code genau an.
    new pID, grund, string[128];
    if(sscanf(params,"ui",pID,grund))return SendClientMessage(playerid,Orange,"Benutzung: /kick [SpielerID] [Grund]");

    Du hast die Variable grund nicht als Array angelegt und auch nicht per sscanf nach einem Text suchen lassen ( "ui" ) .
    Schau mal hier wie du einen Grund angeben kannst und verarbeitest.



    Jetzt geht mein server aus wen ich den befehl nutze


    soist er immoment


    dcmd_kick(playerid,params[])
    {
    if(Spieler[playerid][Adminlevel] >= 3)
    {
    new pID, grund, string[128];
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,Orange,"Benutzung: /kick [SpielerID] [Grund]");
    format(string,sizeof(string),"%s wurde von %s vom Server gekickt. Grund: %s.",GetSpielerName(pID),GetSpielerName(playerid),grund);
    if(IsPlayerConnected(pID))
    {
    Kick(pID);
    SendClientMessageToAll(Orange,string);


    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Sie haben nicht die nötigen Rechte um diesen Befehl nutzen zu können.");
    return 1;
    }
    }

  • dcmd_kick(playerid,params[])
    {
    if(Spieler[playerid][Adminlevel] >= 3)return SendClientMessage(playerid,Rot,"Sie haben nicht die nötigen Rechte um diesen Befehl nutzen zu können."); // SendClientMessage oben angefügt
    new pID, grund[128], string[128]; // Der grund ist ein string, du hast aber keine stringgröße zugewiesen
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,Orange,"Benutzung: /kick [SpielerID] [Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, Orange, "Falscher Name / Falsche ID!"); // Wenn der Spieler nicht on ist, wird die SendClientMessage wiedergegeben
    format(string,sizeof(string),"%s wurde von %s vom Server gekickt. Grund: %s.",GetSpielerName(pID),GetSpielerName(playerid),grund);
    SendClientMessageToAll(Orange,string);
    Kick(pID);
    return 1;
    }


    Ich habe den Befehl mal kompakter gemacht und die Fehler die du gemacht hast, habe ich dir kommentiert.
    Sollte so funktionieren, habs aber nicht getestet.