Unknow command

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 Brotefische
    HAbe ein /setrank gemacht aber ghet irgedwie net
    wieso geht der cmd nicht wie ich will
    if(strcmp(cmdtext, "/setrank", true) == 0)
    {
    new person = ReturnUser(strget(cmdtext,1));
    new rank = strval(strget(cmdtext,2));
    if(pDaten[playerid][leader] == 16)
    {
    tmp = strget(cmdtext,1);
    if(!strlen(tmp) || !strlen(strget(cmdtext,2)))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /setrank [ID] [Rank 1-6]");
    return 1;
    }
    }
    if(pDaten[playerid][leader] == 16)
    {
    if(IsPlayerConnected(person))
    {
    if(pDaten[person][Team] == 16)
    {
    format(string, sizeof(string), "* Du wurdest von %s auf Rank %d gemacht.", sendername,rank);
    SendClientMessage(person, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Du hast %s auf Rank %d gemacht.", person,rank);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    pDaten[person][fRank] = rank;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Spieler ist nicht in deiner Fraktion");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Spieler ist nicht Online");
    }
    }
    SaveandUpdatePlayer(playerid);
    SaveandUpdatePlayer(person);
    return 1;
    }
    Was habe ich flasch gemacht

  • Fehler keine warnings keine.
    Wie mache ich das jetzt das er das überprüft


  • das returnt dann was. Es ist ja nur wenn du genau /setrank eingibst oder?


  • Wozu strlen die Funktion wird nur benötigt um die Anzahl von Buchstaben wieder zu geben.



    if(!tmp[0])return SendClientMessage( playerid, 0xFF0000FF, "Verwendung: /Befehl [Rank].");


    ist da doch viel schonender.

    RFT

  • hm hab es gemacht jetzt schaut es so aus und es geht immer noch net
    if(strcmp(cmdtext, "/setrank", true) == 0)
    {
    new tmp3[128];
    new tmp2[128];
    tmp3 = strget(cmdtext,2);
    tmp2 = strget(cmdtext,1);
    new rank = strval(tmp);
    new person = strval(tmp2);
    if(pDaten[playerid][leader] == 16)
    {
    if(!strlen(tmp3) || !strlen(tmp2)) return SendClientMessage(playerid, COLOR_WHITE, "Benutze: /setrank [ID] [Rank 1-6]");
    if(!strlen(tmp3)) return SendClientMessage( playerid, 0xFF0000FF, "Keinen Rang angegeben.");
    if(!strlen(tmp2)) return SendClientMessage( playerid, 0xFF0000FF, "Keinen Spieler angegeben.");
    }
    if(pDaten[playerid][leader] == 16)
    {
    if(IsPlayerConnected(person))
    {
    if(pDaten[person][Team] == 16)
    {
    format(string, sizeof(string), "* Du wurdest von %s auf Rank %d gemacht.", sendername,rank);
    SendClientMessage(person, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Du hast %s auf Rank %d gemacht.", person,rank);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    pDaten[person][fRank] = rank;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Spieler ist nicht in deiner Fraktion");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Spieler ist nicht Online");
    }
    }
    SaveandUpdatePlayer(playerid);
    SaveandUpdatePlayer(person);
    return 1;
    }

  • Der Befehl muss am anfang auch per strget gesplittet werden.
    Setz mal an jedem Ende des Befehls ein "return 1;". Damit ein Wert zurück gegeben wird.
    Sprich wo der Rank gesetzt wird oder wo die Narrichten kommen das man den Befehl nicht ausführen kann.

    RFT

  • Geht irgend wie nicht kann mir mal einer ein befehl machen

  • nur /setrank geht mache ich /setrank 1 1 ist unknow...