ZCMD Unknown 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
  • Hey,
    Meine ZCMD Befehle geben alle Unknown Command weiter
    Dabei habe ich schon einige sachen ausprobiert
    Unter anderem
    Function OnPlayerCommandPerformed(playerid, cmdtext[], success)
    {
    new string[124];
    if(!success)
    {
    format(string,sizeof(string),""#SERVERTAG" : Der Befehl existiert nicht! %s (/hilfe)",cmdtext);
    SendClientMessage(playerid,WEISS,string);
    }
    return 0;
    }


    Einer der befehle
    COMMAND:veh(playerid,params[])
    {
    new Car,model,farbe1,farbe2,Float:x,Float:y,Float:z,Float:Angle;
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,GRAU,"Du bist kein "#SERVERTAG" Teammitglied./Du hast nicht den jeweiligen Adminrang.");
    if(IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,GRAU,"Du bist bereits in einem Fahrzeug.");
    if(sscanf(params,"iii",model,farbe1,farbe2))return SendClientMessage(playerid,ROT,"BENUTZE: /veh [Model][Farbe1][Farbe2]");
    if(model<400||model>611)return SendClientMessage(playerid,ROT,"BENUTZE: /veh [Model 400-611][Farbe1][Farbe2]");
    GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid,Angle);
    SendClientMessage(playerid,GELB,"Benutze '/delveh' um ein Adminfahrzeug zu zerstören.");
    Car = CreateVehicle(model,x,y,z,Angle,farbe1,farbe2,-1);
    SetVehicleNumberPlate(Car,""#SERVERFARBE"["#SERVERTAG"]");
    SetVehicleVirtualWorld(Car,GetPlayerVirtualWorld(playerid));
    LinkVehicleToInterior(Car,GetPlayerInterior(playerid));
    PutPlayerInVehicle(playerid,Car,0);
    CreatedCars[CreatedCar] = Car;
    CreatedCar++;
    Gas[Car] = GetGasMax(Car);
    return 1;
    }
    Danke im Vorraus

  • Das hat nichts direkt mit dem Befehl zu tun,sondern mit OnPlayerCommandPerformed.
    Ich zitiere:

    Zitat

    OnPlayerCommandPerformed(playerid, cmdtext[], success)
    And this one gets called after command execution, here if you do "return 0" the player will see standard "Unknown command" message. The "success" parameter is equal to value returned by command function returns (if it doesn't exist success will be 0).


    Möglichkeit wäre als Rückgabewert immer 1 einzustellen oder 1 zurück zu geben, außer success ist falsch/0.

  • Function OnPlayerCommandPerformed(playerid, cmdtext[], success)
    {
    new string[124];
    if(!success)
    {
    format(string,sizeof(string),""#SERVERTAG" : Der Befehl existiert nicht! %s (/hilfe)",cmdtext);
    SendClientMessage(playerid,WEISS,string);
    return 0;
    }
    return 1;
    }
    ?

  • Das kann man doch viel kürzer schreiben.


    public OnPlayerCommandPerformed(playerid, cmdtext[], success)
    {
    if(!success) SendClientMessage(playerid, COLOR_RED, "[FEHLER] Dieser Befehl existiert nicht! Benutze /hilfe.");
    return 1;
    }


    Da brauchst du nicht extra nen String erstellen und das Zeugs formatieren...