Beiträge von Jeffry

    Eventuell wird der Befehl gar nicht aufgerufen.
    Debugge es bitte mal so, was steht im Server Log, wenn du den Befehl ausführst?
    printf("cmdtext: %s", cmdtext);
    if(strcmp(cmdtext, "/maske", true, 6) == 0)
    {
    printf("Im Befehl");
    new mID, name[MAX_PLAYER_NAME];
    if(PlayerInfo[playerid][pMember] == 25 || PlayerInfo[playerid][pLeader] == 25)
    {
    printf("Ist Member");
    if(sscanf(cmdtext[7],"d",mID)) return SendClientMessage(playerid,COLOR_RED,"Benutze: /maske [ID]");
    printf("mID: %d", mID);
    if(Maske[playerid] == 1)
    {
    printf("Abgenommen.");
    GetPVarString(playerid,"RealName",name,sizeof(name));//Laden des Originalen Namen wenn die Maske abgenommen wird
    SetPlayerName(playerid,name);
    Maske[playerid] = 0;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du hast deine Maske abgenommen.");
    }
    else
    {
    printf("Aufgesetzt.");
    GetPlayerName(playerid,name,sizeof(name));
    SetPVarString(playerid,"RealName",name);
    format(name, sizeof(name), "Unbekannter_%d", mID);
    printf("name: %s", name);
    SetPlayerName(playerid,name);
    Maske[playerid] = 1;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du hast deine Maske aufgesetzt.");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keine Maske aufsetzen!");
    }
    return 1;
    }

    Datei anlegen, Inhalt rein schreiben und dann speichern.
    Dann die pawno.exe öffnen und den Gamemode auswählen.
    Kompilieren.
    Server beenden und neu starten.
    Dann den Fehler reproduzieren und dann steht im Server Log die Meldung mit Zeilenangabe.

    if(strcmp(cmdtext, "/maske", true) == 0)
    zu:
    if(strcmp(cmdtext, "/maske", true, 6) == 0)


    if(sscanf(cmdtext,"d",mID))
    zu:
    if(sscanf(cmdtext[7],"d",mID))


    Wobei es eventuell besser ist einen Command Prozessor zu nutzen, z.B. ocmd.

    Da haben wir doch den Grund, du musst den Index und nicht die vehicleid als Index nutzen.
    Ändere:
    Update3DTextLabelText(busline[vID],COLOR_WHITE,"Leerfahrt");
    zu:
    new i = 0;
    for(i = 0; i < sizeof(busline); i++) if(busline[i] == vID) break;
    if(i < sizeof(busline)) Update3DTextLabelText(busline[i],COLOR_WHITE,"Leerfahrt");

    sodass bei der "if(cpID >= sizeof(bsInfo) || bsInfo[cpID][lid] != linie)" nur noch "if(cpID >= sizeof(bsl1Info)" stehen muss

    Mache das nicht, das ist schon korrekt so wie es ist.



    Poste wie gesagt bitte die Deklaration von "busline", die fehlt noch immer. Ich frage aus dem Grund danach, da dort ein Array gesprengt wird, und ich dieses Array in seiner Deklaration nicht kenne.


    Zudem:
    Das ganze mit der "Station"-Variable und stID kannst du dir sparen, das kannst du komplett entfernen und:
    format(text,sizeof(text),"Nächste Haltestelle: %s",bsInfo[stID][stationname]);
    zu:
    format(text,sizeof(text),"Nächste Haltestelle: %s",bsInfo[cpID][stationname]);


    Sonst zeigt es dir immer nur die Namen von Linie 1 an.