VehicleID überprüfen bei OnPlayerEnterVehicle

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
  • Hi Com,


    bei meinem SelfMade Reallife Script, wird bei OnPlayerEnterVehicle überprüft, ob man TaxiDuty ist.


    Leider klappt das nicht. Bei jedem Vehicle kommt nun "Du bist nicht im Dienst".


    Mit jedem Vehicle meine ich, alle Vehicles auf dem Server.


    Hier die Abfrage:


    if(vehicleid == bsntaxi[0] || bsntaxi[1] || bsntaxi[2] || bsntaxi[3] || bsntaxi[4] || bsntaxi[5] || bsntaxi[6] || bsntaxi[7] || bsntaxi[8] || bsntaxi[9])
    {
    if(dutytaxi[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GRAY, "Du bist nicht im Dienst!");
    TogglePlayerControllable(playerid, 0);
    TogglePlayerControllable(playerid, 1);
    }
    }
    else {
    //Hier kommt noch was hin
    }



    Muss man die VehicleID anders abfragen?




    Mfg

  • Das selbe Problem habe ich auch! Kann keiner helfen? :)

  • mach es doch via schleife? ist doch einfacher
    for(new i=0; i<vehicleid; i++)
    {
    if(vehicleid == bsntaxi[i])
    {
    // dein Code


    Edit: dann noch deine Abfrage und fertig...

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Wenn, dann poste es bitte auch richtig :huh:



    for(new v = 0; v < sizeof(bsntaxi); v++)
    {
    if(vehicleid == bsntaxi[v])
    {
    if(dutytaxi[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GRAY, "Du bist nicht im Dienst!");
    TogglePlayerControllable(playerid, 0);
    TogglePlayerControllable(playerid, 1);
    return 1;
    }
    }
    }

  • ach fuu... viel mir auch grade auf das da was net stimmte... wenn wir Benjamin nicht hätten...


    Aber eine kurze frage:


    Warum machst du
    TogglePlayerControllable(playerid, 0);
    TogglePlayerControllable(playerid, 1);


    in der einen Sekunde kann es nicht nicht bewegen aber in der nächsten wieder? was hat das für einen Sinn?

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • ah gut man lernt nie aus. dachte bisher immer das es erst aufgerufen wird wenn er drinnen ist bzw die Einsteig anim kommt


    @ Nils mmh zeig ma deinen Duty befehl dafür... weil so ist der code fehlerfrei das liegt wohl wo anderes dran

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Gut.

    Mit OnPlayerStateChange(); funktioniert es auch nicht.

    So ist mein DutyCode:


    if(listitem==0)
    {
    new name[MAX_PLAYER_NAME], string[192+MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "{69FF00}Busfahrer %s ist nun im Dienst.", name);
    SendClientMessageToAll(COLOR_GRAY, string);
    dutybus[playerid] = 1;
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid, 1269.4458,-883.8061,42.8828);
    }


    if(listitem==1)
    {
    new name[MAX_PLAYER_NAME], string[192+MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "{69FF00}Taxifahrer %s ist nun im Dienst.", name);
    SendClientMessageToAll(COLOR_GRAY, string);
    dutytaxi[playerid] = 1;
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid, 1269.4458,-883.8061,42.8828);
    }