Kleine CMD Frage :')

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
  • if(strcmp(cmd, "/acceptkick", true) == 0)
    {
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    new akick[200];
    format(akick,sizeof(akick), "[ADMIN CMD] %s wurde von %s und %s gekickt. Grund: (( ))", GetPlayerNameEx(kname_safe), GetPlayerNameEx(playerid), GetPlayerName(aname_safe)); // Zeile 11154
    SendClientMessageToAll(COLOR_ADMIN, akick);
    Kick(kname_safe); // Zeile 11156
    return 1;
    }
    }


    Fehlercode kommt folgender...:S
    (11154) : error 035: argument type mismatch (argument 1)
    (11156) : error 035: argument type mismatch (argument 1)


    Ich komm da grad iwie nicht weiter :D
    /Edit: Ja ich erweiter den CMD noch ein bisschen - Hänge nur an der Stelle grad...
    /Edit2: Das ich den Grund frei gelassen habe ist auch Absicht...zu dem wollte ich später kommen ^^

  • (11154)
    (11156)


    Die zeilen mal bitte aus dem oberen code kann man nicht draus schliesen wo der fehler sein sollte

  • Fehlercode kommt folgender...



    (11154) : error 035: argument type mismatch (argument 1)
    (11156) : error 035: argument type mismatch (argument 1)


    Ich wollte nur diese zeilen wissen da es ja um den obrigen code gging

  • Okay sry ... :D
    ALso ich seh in der zeile kein Fehler ..


    vllt liegts an den vielen %s's?

  • format(akick,sizeof(akick), "[ADMIN CMD] %s wurde von %s und %s gekickt. Grund: (( ))", GetPlayerNameEx(kname_safe), GetPlayerNameEx(playerid), GetPlayerName(aname_safe))


    Und was ist mit dem Grund ? der soll doch bestimmt nicht leer stehen oder ?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ist "kname_safe" ein intenger? Ich seh da keine Definition.. Soweit ich das sehe liegt es an dieser Variabel..

  • ich nehme an das kname_safe durch einen vorherigen code definiert wird..

  • Naja aber wenn man sich schon den Namen der Variablen anguckt, könnte man davon ausgehen, dass kname_safe einen Namen abspeichern soll. Nur dumm, dass man Namen nicht ohne weiteres kicken kann.


    Wenn ich mich irre editier ich das



    Maddin is my Lord and Master :D
    Musel my one and only b0wm
    Bisafloah is the pokemon that pwns a lot of goddamn ponys.

  • vllt ist aber auch die string definition zu lang
    new akick[200] // 200 ist doch die anzahl der zeichen oder ?
    setz es mal auf
    new akick[60];

  • Also kname_safe und aname_safe sind als Global Variabeln gespeichert
    new kname_safe[MAX_PLAYER_NAME];
    new aname_safe[MAX_PLAYER_NAME];


    Ich benötige Sie für folgenden CMD:
    if(strcmp(cmd, "/kick", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(strlen(tmp) == 0) return SendClientMessage(playerid, COLOR_ADMIN, "Benutzung: /kick [Spieler] [Grund]");
    giveplayerid = strval(tmp);
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' ')) {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    result = "Kein Grund";
    }
    format(string, sizeof(string), "[ADMIN CMD] %s wurde von %s gekickt. Grund: (( %s ))", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), result);
    SendClientMessageToAll(COLOR_ADMIN, string);


    GetPlayerName(giveplayerid, kname_safe, sizeof(kname_safe));
    GetPlayerName(playerid, aname_safe, sizeof(aname_safe));
    format(string, sizeof(string), " ", GetPlayerNameEx(playerid), result);
    SendClientMessage(giveplayerid, COLOR_SYSTEM, string);
    Kick(giveplayerid);
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 1)
    {
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
    format(string, sizeof(string), "{91E480}Supporter {FF3244}%s braucht die Bestätigung zum Kick von Spieler %s (/acceptkick)", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
    Fadminmsg(string);
    return 1;
    }
    }
    else if(PlayerInfo[playerid][pAdmin] <= 1)
    {
    SendClientMessage(playerid, COLOR_ADMIN, "Kein: {91E480}Supporter");
    return 1;
    }
    }
    }

  • Um es nochmal zusammen zu fassen:


    Oben im Script:
    new name_safe[MAX_PLAYER_NAME];
    new aname_safe[MAX_PLAYER_NAME];



    Unten bei OnPlayerCommandText:
    if(strcmp(cmd, "/kick", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(strlen(tmp) == 0) return SendClientMessage(playerid, COLOR_ADMIN, "Nutze: /kick [Spieler] [Grund]");
    giveplayerid = strval(tmp);
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' ')) {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    result = "No reason";
    }


    new playa;
    format(string, sizeof(string), "[ADMIN CMD] %s wurde von %s gekickt. Grund: (( %s ))", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), result);
    SendClientMessageToAll(COLOR_ADMIN, string);


    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), " ", GetPlayerNameEx(playerid), result);
    SendClientMessage(giveplayerid, COLOR_SYSTEM, string);
    Kick(giveplayerid);
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 1)
    {
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
    format(string, sizeof(string), "{34B480}Supporter {FF3244}%s braucht die Bestätigung zum Kick von Spieler %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
    Fadminmsg(string);
    GetPlayerName(giveplayerid,name_safe, sizeof(name_safe));
    GetPlayerName(playerid,aname_safe, sizeof(aname_safe));
    return 1;
    }
    }
    }
    else if(PlayerInfo[playerid][pAdmin] <= 1)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_ADMIN, "Falscher Rang {34B480}Supporter");
    return 1;
    }
    }
    }
    if(strcmp(cmd, "/acceptkick", true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 4)
    {
    format(string, sizeof(string), "%s und %s sind cool!", GetPlayerNameEx(name_safe), GetPlayerNameEx(aname_safe));
    SendClientMessageToAll(COLOR_ADMIN,string);
    }
    }




    Error:
    (11154) : error 035: argument type mismatch (argument 1) // bezieht sich auf Zeile 63

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen