Error beim versuch mit dcmd /kick zu machen

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


    ich hab mich mal dran versucht nen Adminsystem auf die beine zu stellen (Selfmade, und ich bin ANfänger).


    nu wollt ich mit dcmd /kick machen, aber ich bekomm da nen Error und weiß nich wie beheben ^^


    dcmd_kick(playerid,params[])
    {
    new pname[MAX_PLAYERS];
    new sGrund[50];


    if(sscanf(params, "dz",pname,sGrund))
    {
    return SendClientMessage(playerid,Blau,"Benutze /kick [playerid] ([grund],optional)");
    }
    if(!IsPlayerConnected(pname))
    {
    return SendClientMessage(playerid,KRot,"Kein Spieler mit angegebener ID Online");
    }
    new string[128];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"%s wurde vom Server gekickt,Grund: %s",pname,sGrund[0] ? sGrund : "Grund wird nicht genannt!");
    SendClientMessageToAll(Rot,string);
    Kick(pname);
    return 1;
    }


    (162) : error 035: argument type mismatch (argument 1)
    (170) : error 035: argument type mismatch (argument 1)


    Die fehlerhaften Zeilen sind die


    -if(!IsPlayerConnected(pname))
    und
    -Kick(pname);


    wäre nett wenn mir da vllt jm sagen kann was da falsch is .... ich weiß es jedenfalls nich xD


    /Edit:


    Unter OnPlayerCommandText das dcmd(kick,4,cmdtext); is auch vorhanden ^^

  • Ich hab dir den Befehl dich umgeschrieben, sondern kommentiert und ausgebesserst, damit du deine Fehler siehst...
    dcmd_kick(playerid,params[])
    {
    new pname; //Ohne [MAX_PLAYERS] Array...
    new sGrund[50];
    if(sscanf(params, "uz",pname,sGrund)) //Bitte statt dem Charakter 'd', 'u' nützen, da er dann den SpielerNamen auch erkennt damit...
    {
    return SendClientMessage(playerid,Blau,"Benutze /kick [playerid] ([grund],optional)");
    }
    if(!IsPlayerConnected(pname))
    {
    return SendClientMessage(playerid,KRot,"Kein Spieler mit angegebener ID Online");
    }
    new string[128];
    new playername[MAX_PLAYER_NAME]; //Ein Array für den Spielernamen machen...
    GetPlayerName(pname,playername,sizeof(playername)); //'playername' ersetzt durch 'pname' und 'playerid' durch 'pname'
    format(string,sizeof(string),"%s wurde vom Server gekickt,Grund: %s",playername,sGrund[0] ? sGrund : "Grund wird nicht genannt!"); //Statt 'pname' wird 'playername' verwendet
    SendClientMessageToAll(Rot,string);
    Kick(pname);
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!