SERVER: Unknown Command bei for- Schleife

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 Abend,


    ich verwende ocmd und habe mit ocmd einen Befehl Namens /jobstart erstellt. Das ist nicht mein erster Befehl.


    Der Befehl ist wie folgt aufgebaut:

    ocmd:jobstart (playerid, params[])
    {
    new jobname[30];

    GetPVarString(playerid, "jobname", jobname, sizeof(jobname));

    if (!strcmp("pizzaboy", jobname, false))
    {
    if (GetPVarInt(playerid, "JobStarted") == 1)
    {
    SetPVarInt(playerid, "JobStarted", 0);
    DisablePlayerCheckpoint(playerid);

    SendClientMessage(playerid, lightblue, "* Du hast gerade das Pizza austragen beendet. Du bekommst nun kein Geld.");
    }
    else
    {
    if (!IsPlayerInAnyVehicle(playerid))
    {
    SendClientMessage(playerid, grey, "Du musst auf einem Pizzaroller sitzen!");
    }
    else
    {
    if (!IsVehicleJobVehicle(GetPlayerVehicleID(playerid)))
    {
    SendClientMessage(playerid, grey, "Du musst auf einem Pizzaroller sitzen!");
    }
    else
    {
    ShowPlayerDialog(playerid, PIZZA_JOBSTART_DIALOG, DIALOG_STYLE_LIST, "Linie auswählen", ""white_i"Linie 1 (Los Santos)\nLinie 2 (Los Santos)", "Starten", "Abbrechen");
    }
    }
    }
    }
    else if (!strcmp("pilot", jobname, false))
    {
    if (GetPVarInt(playerid, "JobStarted") == 1)
    {
    SetPVarInt(playerid, "JobStarted", 0);
    DisablePlayerCheckpoint(playerid);


    SendClientMessage(playerid, lightblue, "* Du hast gerade dich als Pilot abgemeldet. Du bekommst nun kein Geld für diesen Flug.");
    }
    else
    {
    if (!IsPlayerInAnyVehicle(playerid))
    {
    SendClientMessage(playerid, grey, "Du musst in einem Job-Flugzeug sitzen!");
    }
    else
    {
    if (IsVehicleJobVehicle(GetPlayerVehicleID(playerid)))
    {
    SendClientMessage(playerid, lightblue, "* Du hast den Job Pilot nun begonnen. Bitte fliege die Checkpoints ab (auf jedem Airport sind 2).");
    }
    else
    {
    SendClientMessage(playerid, grey, "Du musst in einem Job-Flugzeug sitzen!");
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, grey, "Diesen Befehl kannst du nicht benutzen!");
    }

    return 1;
    }


    Das Problem ist das wenn ich IsVehicleJobVehicle(GetPlayerVehicleID(playerid)) weglasse, funktioniert der Befehl ohne Probleme. Ist aber IsVehicleJobVehicle(GetPlayerVehicleID(playerid)) dabei, so wird der Befehl nicht ausgeführt und es kommt die Meldung "SERVER: Unknown Command".


    Warum ist das so ?


    Befehl: IsVehicleJobVehicle

    stock IsVehicleJobVehicle(vehicleid)
    {
    new find = 0;

    for (new i = 0; i <= MAX_VEHICLES; i++)
    {
    if (PizzaBoyCars1[i] == vehicleid)
    {
    find = 1;
    }


    if (PizzaBoyCars2[i] == vehicleid)
    {
    find = 1;
    }


    if (PizzaBoyCars3[i] == vehicleid)
    {
    find = 1;
    }


    if (PilotJobCars1[i] == vehicleid)
    {
    find = 1;
    }


    if (PilotJobCars2[i] == vehicleid)
    {
    find = 1;
    }


    if (PilotJobCars3[i] == vehicleid)
    {
    find = 1;
    }


    if (PilotJobCars4[i] == vehicleid)
    {
    find = 1;
    }


    if (TaxiJobVehicles1[i] == vehicleid)
    {
    find = 1;
    }


    if (TaxiJobVehicles2[i] == vehicleid)
    {
    find = 1;
    }


    if (TaxiJobVehicles3[i] == vehicleid)
    {
    find = 1;
    }
    }

    return find;
    }


    Habe das ganze was in IsVehicleJobVehicle steht auch direkt im Befehl eingebunden, was aber keinen Unterschied machte. Immer wenn ich die Überprüfung rausnehme, funktioniert es...


    Kennt jemand das Problem ?