Kein Grund beim Kick

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
  • Hey ich hätte mal eine Frage und zwar ich habe ein kleines Kick Script gemacht, nur leider bekommt der der Kick hat keinen Grund angezeigt.....
    dcmd_kick(playerid,params[])
    {
    new pid, str[64];
    if(sscanf(params, "uS(Kein Grund) [128]", pid, str))
    if(pid ==playerid) return SendClientMessage(playerid,Gelb,"Benutzung: /kick [ID] [Grund]");
    if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,Gelb,"Der Spieler ist nicht Online");
    if(IsPlayerAdmin(playerid))
    {
    new Spieler[MAX_PLAYER_NAME], str2[128];
    GetPlayerName(pid,Spieler,sizeof(Spieler));
    format(str2,sizeof(str2),"%s wurde vom Server gekickt! Grund : %s",Spieler,str);
    SendClientMessageToAll(Gelb,str2);
    Kick(pid);
    }
    else return SendClientMessage(playerid,Gelb,"Du bist kein Admin");
    return 1;




    Würde mich über Hilfe bedanken

  • if(sscanf(params, "uS(Kein Grund) [128]", pid, str))
    Was soll das? Mach das stattdessen:
    if(sscanf(params, "us[128]", pid, str))

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Das muss, wenn ich mich nicht irre einfach nur "us" heißen.


    "u" ist momentan so weit ich weiß verbuggt. Benutz stattdessen i/d


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • "Strings without a size a deprecaded."
    Das sagt sscanf für gewöhnlich in der Konsole wenn man bei s keine Größe angegeben hat. Deshalb gehört nach dem s eigentlich immer noch die Größe des Strings hin.
    Wie es mit u steht weiß ich nicht, ich nutze auch immer nur i. Könnte gut möglich sein.

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • dcmd ist einfach nur der letzte Dreck.
    Nimm Ocmd das ist viel übersichtlicher( Hier eine Beispiel):

    ocmd:kick(playerid,params[])
    {
    new pID, reason[128],string[128];
    if(!IstSpielerAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist nicht im Admin-Team!");
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"Benutzung: /kick [ID/Spielername] [Grund]");
    format(string,sizeof(string),"[AdmCmd] %s wurde von %s vom Server gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(ROT,string);
    Kick(pID);
    return 1;
    }

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • Wenn ich "uS" mache kommt kein Grund. Wenn ich "iS" und "dS" mache kommt ebenfals keiner.
    Wenn ich alles klein Schreibe kommt immer wieder nur Benutzung: /kick [ID] [Grund] genauso wie bei der Großschreibung von den Buchstaben

  • Logan: Wer dcmd nutzen will, nutzt dcmd. Und deine Beispiel verfolgt exakt die gleiche Syntax, die auch dcmd verfolgt... Ersetze den ersten Buchstaben durch ein d - Und du hast einen dcmd-Command (Nicht zu vergessen das : durch ein _)

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Ich habe dir es mal in ocmd gescriptet
    Hier der code
    ocmd:kick(playerid,params[])
    {
    new pID, reason[128], string[128];
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,rot,"Du bist kein Administrator!");
    if(sscanf(params,"us"))return SendClientMessage(playerid,hellblau,"Benutzung: /kick [ID] [Grund]");
    format(string,sizeof(string),"AdminCMD: %s wurde von %s gekickt! Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessage(playerid,rot,string);
    GameTextForPlayer(playerid,"~r~ GEKICKT!",50000,3);
    TogglePlayerControllable(playerid,0);
    Kick(pID);
    return 1;
    }


    Ich Hoffe es hilft dir villt weiter


    MFG
    Sladekillder

  • dcmd_kick(playerid,params[]) {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,rot,"Du bist kein Administrator!");
    new
    sGrund[128],
    kickID;
    if(sscanf(params, "uz",kickID,sGrund)) {
    return SendClientMessage(playerid,rot,"Nutze: /kick [playerid] (Grund[optional])");
    }
    if(!IsPlayerConnected(kickID)) {
    return SendClientMessage(playerid,rot,"Kein Spieler mit angegebener ID Online");
    }
    new
    player[MAX_PLAYER_NAME],
    string[128];
    GetPlayerName(kickID,player,sizeof(player));
    format(string,sizeof(string),"%s (ID %d) wurde vom Server gekickt!(Grund: %s)",player,kickID,sGrund[0] ? sGrund : "<Kein Grund>");
    SendClientMessageToAll(rot,string);
    Kick(kickID);
    return 1;
    }
    probiers mal so


    /: Was ausgebessert

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Versuch mal Anstatt
    if(sscanf(params, "uS(Kein Grund) [128]", pid, str))


    diese Zeile


    if(sscanf(params,"us",pID,Grund))return SendClientMessage(playerid,gelb,"Benutzung: /kick [ID] [Grund]");




    hier nochmal der ganze Befehl


    ocmd:kick(playerid,params[])
    {
    new pID, Grund[128], string[128];
    if(!IstSpielerEinAdmin(playerid,1))return SendClientMessage(playerid,gelb,"Du bist kein Admin!");
    if(sscanf(params,"us",pID,Grund))return SendClientMessage(playerid,gelb,"Benutzung: /kick [ID] [Grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von Admin %s gekickt! Grund : %s",SpielerName(pID),SpielerName(playerid),Grund);
    SendClientMessageToAll(lila,string);
    GameTextForPlayer(playerid,"~r~ GEKICKT!",50000,3);
    TogglePlayerControllable(pID,0);
    Kick(playerid);
    return 1;
    }




  • Hat Prima geklappt Danke :thumbup: