SERVER: Unknown Command bei bestimmter Zeile

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
  • Guten Tag


    Bei einer bestimmten Zeile kommt immer die bereits in der überschrift stehende Nachricht. Diese Nachricht wird normalerweise gesendet, wenn er den COmmand nicht finden kann.
    Jedoch funktionieren alle commands wunderbar, nur bei einer abfrage kommt diese Nachricht.


    Zeile: if(login[pID] == 0 || IsPlayerNPC(pID)) return SendClientMessage(playerid,grau,"Ungültige Id!");


    Ich verstehe nur noch warum es ausgerechnet bei dieser Zeile geschieht. die Zeilen darunter funktionieren wieder wunderbar.


    Hier mal ein bsp command:


    dcmd_giverank(playerid,params[])
    {
    new pID,rang;
    if(sscanf(params, "ud", pID, rang)) return SendClientMessage(playerid,grau,"Benutzung: /giverank [playerid] [Rang]");
    if(login[pID] == 0 || IsPlayerNPC(pID)) return SendClientMessage(playerid,grau,"Ungültige Id!");
    if(Spieler[playerid][Leader] < 0) return 0;
    if(GetPlayerFrak(pID) != Spieler[playerid][Leader]) return SendClientMessage(playerid,grau,"Dieser Spieler ist kein Member ihrer Fraktion!");
    if(rang < 0 || rang > Fraktionen[Spieler[playerid][Leader]][MaxRangs]) return SendClientMessage(playerid,grau,"Ungültiger Rang!");
    new str1[75],str2[75],name1[MAX_PLAYER_NAME],name2[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name1,sizeof(name1));
    GetPlayerName(pID,name2,sizeof(name2));
    format(str1,sizeof(str1),"Du hast %s Rang %d gegeben!", name2, rang);
    format(str2,sizeof(str2),"%s hat dir Rang %d gegeben!", name1, rang);
    SendClientMessage(playerid,green,str1);
    SendClientMessage(pID,gelb,str2);
    Spieler[pID][Rang] = rang;
    return 1;
    }


    Es werden immer die entsprechenden nachrichten gesendet, jedoch bei der einen Zeile kommt anstelle von "Ungültige Id" "SERVER: Unknown Command".


    Ich verstehe den fehler nicht so ganz.


    Ich hoffe ihr könnt mir dabei weiterhelfen


    LG
    Simon :thumbup:

  • könnte es mir jetzt eigentlich nich erklären, aber bei mir wars in dcmd bisher immer so, dass unknown command kommt wenn ich mich verzählt habe bei onplayercommandtext bzw. der hook

  • ich glaub auch dass es an der IsPlayerConnected abfrage liegt, weil der Script ja bevor er guckt ob der überhaupt login[] hat, zuerst schaut ob der Spieler überhaupt verbunden ist, ist er das nicht return 0 ->Unknown Command!

  • Meine abfrage vorher war: if(!IsPlayerConnected(pID) || login[pID == 0 || IsPlayerNPC(pID))


    Das beduetet soviel wie: wenn er garnichtaufm Server ist, wenn er nicht eingeloggt ist order wenn er ein Bot ist, wird diese ID Als ungültig erkannt und "Ungültige ID" wird gesendet.
    Jedoch kommt "SERVER: Unknown Command". Die abfrage ob er überhaupt aufm server ist, fand ich unnötig, da er selbst wenn, eingeloggt sein muss.


    Also der befehl funktioniert super, wenn man die falschen parameter nutzt, kommt die nachricht: "Benutzung: bla..." die andeen abfragen funktionieren auch, es wird immer die entsprechende Nachricht gesendet. nur die eine abfrage funktioniert nicht..


    LG
    Simon :thumbup:


    //edit: fehler gelöst.. man muss also doch vorher abfragen ob er überhaupt aufm server ist :S

    Einmal editiert, zuletzt von Simon ()