Beiträge von birdfreeyahoo

    Ich brauche Hilfe bei meinem Script.
    Da passiert etwas was ich nicht verstehe. Ich habe folgenden ocmd:



    ocmd:notruf(playerid,params[])
    {
    new available = 0;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(Dispos[i] == 1)
    {
    available = 1;
    SendClientMessage(i,0xFF0000AA,"Neuer Notruf. /nannehmen verwenden");

    }
    }

    if(available == 0)
    {
    SendClientMessage(playerid,0xFF0000AA,"Leitstelle nicht verfügbar");
    }
    else
    {
    printf("Notruf");
    OpenCalls[FindEmptySlot(OpenCalls)] = playerid;
    SendClientMessage(playerid, 0xFF0000AA,"Dein Notruf wird gleich angenommen.");
    }

    return 1;

    }



    Neuer Notruf... wird zum Spieler gesendet. Somit wird available auch 1.
    Jetzt kommt das Problem. Beim ausführenden Spieler wird nicht angezeigt: Dein Notruf wird gleich angenommen.
    Außerdem kommt: SERVER: UNKNOWN COMMAND, d.h. dass return 1 nicht erreicht wird.


    printf("Notruf") funktioniert aber.


    Ich werde daraus nicht wirklich schlau, ich hoffe jemand kann mir dabei helfen.

    Ich benutze ocmd für eine Taxi-Funktion.
    Die sieht momentan folgendermaßen aus:



    enum Duties
    {
    D_NONE,
    D_TAXI,
    };


    new Duties:PlayerDuties[MAX_PLAYERS] = D_NONE;


    ...


    ocmd:taxiduty(playerid, params[])
    {
    PlayerDuties[playerid] = D_TAXI;
    SendClientMessage(playerid,0xFFFF00AA,"Du bist nun als Taxifahrer OnDuty");
    }


    ocmd:taxi(playerid, params[])
    {
    new message[64];
    format(message,sizeof(message),"Spieler %s hat ein Taxi angefordert! Benutze /annehmen",GetPlayerName(playerid));
    new available = 0;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(PlayerDuties[i] == D_TAXI)
    {
    printf("Spieler gefunden");
    available = 1;
    SendClientMessage(i,0x0000FFAA,message);


    }
    }

    if(available == 0)
    {
    SendClientMessage(playerid,0xFF0000AA,"Kein Taxifahrer im Dienst!");
    printf("Kein Taxi!");
    }
    else
    {
    printf("Taxis informiert!");
    SendClientMessage(playerid,0x0000FFAA,"Die Taxifahrer wurden informiert!");
    }
    }



    Obwohl kein Taxifahrer onduty ist, kommt immer: Die Taxifahrer wurden informiert.


    Die Serverkonsole zeigt nur: Taxis informiert, nicht aber "Spieler gefunden".


    Es ist mir unklar warum available nicht 0 ist, obwohl es nach der Initialisierung nicht verändert wurde.


    Ich hoffe jmd kann mir helfen.
    mfg