Problem beim Kickbfehl

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,
    ich bin derzeit dabei ein Kickbefehl zu erstellen(Noch kein Adminsystem oderso), leider bekomme ich es nicht hin.
    ocmd:kick(playerid, params[]) {
    new:kickid, kickgrund
    if(sscanf(params, "d", kickid, kickgrund) return SendClientMessage(playerid, Red, "Verwendung: /kick [ID] [Grund]");
    kick(playerid, kickid);
    new str[146];
    format(str, sizeof(str), "%d wurde gekickt. Grund:(( Kommt noch ))"));
    SendClientMessageToAll(Red, str);
    return 1;
    }


    Hier die errorcodes:

    Code
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(126) : error 001: expected token: "-identifier-", but found ":"
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(127) : error 017: undefined symbol "kickid"
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(127) : error 001: expected token: ")", but found "return"
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(127) : error 037: invalid string (possibly non-terminated string)
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(127) : fatal error 107: too many error messages on one line


    Wäre nett wenn mir jemand helfen könnte :)


    //e
    Habe nochmal selber Klammerfehler behoben:
    ocmd:kick(playerid, params[]) {
    new:kickid, kickgrund
    if(sscanf(params, "d", kickid, kickgrund)) return SendClientMessage(playerid, Red, "Verwendung: /kick [ID] [Grund]");
    kick(playerid, kickid);
    new str[146];
    format(str, sizeof(str), "%d wurde gekickt. Grund:(( Kommt noch ))"));
    SendClientMessageToAll(Red, str);
    return 1;
    }

  • Versuchs mal so




    ocmd:kick(playerid, params[]) {
    new:kickid, kickgrund[128];
    if(sscanf(params, "d", kickid, kickgrund) return SendClientMessage(playerid, Red, "Verwendung: /kick [ID] [Grund]");
    kick(playerid, kickid);
    new str[146];
    format(str, sizeof(str), "%d wurde gekickt. Grund:(( Kommt noch ))"));
    SendClientMessageToAll(Red, str);
    return 1;
    }

  • Bei deinem Code bekomme ich diese Errorcodes

    Code
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(126) : error 001: expected token: "-identifier-", but found ":"
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(127) : error 017: undefined symbol "kickid"
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(127) : error 001: expected token: ")", but found "return"
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(128) : error 017: undefined symbol "kick"
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(130) : error 001: expected token: ";", but found ")"
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(130) : error 029: invalid expression, assumed zero
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(130) : warning 215: expression has no effect
  • So sollte es gehen


    ocmd:kick(playerid, params[]) {
    new kickid, kickgrund[128],kname[MAX_PLAYER_NAME];
    GetPlayerName(kickid,kname,sizeof(kname));
    if(sscanf(params,"uS",kickid,kickgrund))return SendClientMessage(playerid,Red,"INFO: /kick [playerid] [Grund]");
    Kick(kickid);
    format(kickgrund, sizeof(kickgrund), "%d wurde gekickt. Grund:(( Kommt noch ))",kname);
    SendClientMessageToAll(Red, kickgrund);
    return 1;
    }

  • ocmd:kick(playerid, params[]) {
    new kickid, kickgrund[100], playername[MAX_PLAYER_NAME];
    if(sscanf(params, "ds[100]", kickid, kickgrund)) return SendClientMessage(playerid, Red, "Verwendung: /kick [ID] [Grund]");
    GetPlayerName(kickid, playername, sizeof(playername));
    Kick(kickid);
    new str[146];
    format(str, sizeof(str), "%s wurde gekickt. Grund: %s",playername,kickgrund);
    SendClientMessageToAll(Red, str);
    return 1;
    }

    Hyper Code

    Wir entwickeln professionelle Ressourcen für FiveM, die auf verschiedenste Bedürfnisse zugeschnitten sind

    und stellen dabei stets die Kundenzufriedenheit in den Mittelpunkt.

    Mit einer Vielzahl von Ressourcen hast du zahlreiche Anpassungsmöglichkeiten, um sie zu deinem eigenen Projekt zu machen. Jede Ressource ist etwas Besonderes, da wir viel Liebe und Sorgfalt in alles stecken, was wir erschaffen.


    Besucht uns unter

    https://hyper-code.eu oder im Discord unter discord.gg/hypercode

  • ocmd:kick(playerid, params[]) {
    new kickid, kickgrund[128];
    if(sscanf(params, "ds[128]", kickid, kickgrund) return SendClientMessage(playerid, Red, "Verwendung: /kick [ID] [Grund]");
    kick(playerid, kickid);
    new str[146];
    format(str, sizeof(str), "%d wurde gekickt. Grund: %s",kickgrund);
    SendClientMessageToAll(Red, str);
    return 1;
    }


    new ohne : + ; vergessen.
    Grund habe ich dir richtig hinzugefügt, wenn du bei der sscanf Funktion 1 Parameter und 2 Variablen angibst geht es nicht
    Das heißt grund ist ein string ^^
    Naja so sollte es klappen :)

  • ocmd:kick
    new grund[64],pID; // Kein ":"
    //..
    if(sscanf(params,"us[64]",pID,grund))return ...// u = spieler, s = Grund
    //...
    new kickstr[128];
    format(kickstr,sizeof(kickstr)," ...wurde gekickt. Grund: %s", grund);
    SendClientMessageToAll(...,kickstr);



    Spielername ist KEIN double(d), sondern ein string (s).

  • Spielername ist KEIN double(d), sondern ein string (s).

    Das d steht in SAMP Leider nicht für Double, sondern Integer!
    http://wiki.sa-mp.com/wiki/Format

    Hyper Code

    Wir entwickeln professionelle Ressourcen für FiveM, die auf verschiedenste Bedürfnisse zugeschnitten sind

    und stellen dabei stets die Kundenzufriedenheit in den Mittelpunkt.

    Mit einer Vielzahl von Ressourcen hast du zahlreiche Anpassungsmöglichkeiten, um sie zu deinem eigenen Projekt zu machen. Jede Ressource ist etwas Besonderes, da wir viel Liebe und Sorgfalt in alles stecken, was wir erschaffen.


    Besucht uns unter

    https://hyper-code.eu oder im Discord unter discord.gg/hypercode

  • Das ist leider falsch.


    Integer = Ganze zahl zwischen -2,147,483,648 und2,147,483,647
    Double = Ganze zahl oder Dezimalzahl zwischen -(9.223×10¹⁸×10¹⁹) und+(9.223×10¹⁸ -1).


    In SAMP ist das jedoch irrelevant.

  • Mir ist bewusst das ein Double eine Dezimalzahl darstellen kann, jedoch zeigt der "d" Specifier in SAMP keine Kommastellen an.

    Hyper Code

    Wir entwickeln professionelle Ressourcen für FiveM, die auf verschiedenste Bedürfnisse zugeschnitten sind

    und stellen dabei stets die Kundenzufriedenheit in den Mittelpunkt.

    Mit einer Vielzahl von Ressourcen hast du zahlreiche Anpassungsmöglichkeiten, um sie zu deinem eigenen Projekt zu machen. Jede Ressource ist etwas Besonderes, da wir viel Liebe und Sorgfalt in alles stecken, was wir erschaffen.


    Besucht uns unter

    https://hyper-code.eu oder im Discord unter discord.gg/hypercode