Einsteigen in Bus verbieten

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 Leute. :)


    Ich möchte gerne das Einsteigen in einen anderen Bus als Fahrer verbieten, wenn man bereits mit einem anderen gefahren ist.
    Das ganze funktioniert auch, allerdings kann man dann mit keinem Fahrzeug (bspw. Infernus, NRG-500, ..) fahren.



    if(!(Spieler[playerid][pBusID] == INVALID_VEHICLE_ID) && !(vehicleid == Spieler[playerid][pBusID])) // BEHEBEN
    {
    SendClientMessage(playerid, COLOR_GREY, "** Du hast vor kurzem einen anderen Bus verwendet. Bitte warte ein paar Minuten!");
    FreezePlayer(playerid);
    RemovePlayerFromVehicle(playerid);
    UnfreezePlayer(playerid);
    }


    Kann da jemand helfen? :)

  • Am besten ist es, wenn du bei "OnPlayerEnterVehicle" eine Variable setzt, namens "EnteredBus[MAX_PLAYERS]" oder so. Und diese dann beim nächsten "OnPlayerEnterVehicle" abfragst, ob sie auf ist. Wenn 1, dann -> "Du bist schon mit einem Bus losgefahren" oder so.


    LG lolcooper

  • Am besten ist es, wenn du bei "OnPlayerEnterVehicle" eine Variable setzt, namens "EnteredBus[MAX_PLAYERS]" oder so. Und diese dann beim nächsten "OnPlayerEnterVehicle" abfragst, ob sie auf ist. Wenn 1, dann -> "Du bist schon mit einem Bus losgefahren" oder so.


    LG lolcooper


    Und als Aktion dann den Spieler auf seine aktuelle Position zurückporten. Dann steigt er nicht ein und bleibt neben dem Bus stehen.


  • RemovePlayerFromVehicle()
    ist doch da ziemlich simpler? xD


    LG lolcooper

  • Am besten ist es, wenn du bei "OnPlayerEnterVehicle" eine Variable setzt, namens "EnteredBus[MAX_PLAYERS]" oder so. Und diese dann beim nächsten "OnPlayerEnterVehicle" abfragst, ob sie auf ist. Wenn 1, dann -> "Du bist schon mit einem Bus losgefahren" oder so.


    LG lolcooper


    if(!(Spieler[playerid][pBusID] == INVALID_VEHICLE_ID) && !(vehicleid == Spieler[playerid][pBusID])) // BEHEBEN




    @Mr.Reese:
    Ich will ihn aber normal aussteigen lassen, was ja auch so ansich funktioniert. (Kein Porten oderso. ;))


    Und GetModel brauch ich ja sogesehen nicht, müsste ja auch ohne klappen.o0


  • new vehModel = GetVehicleModel(GetPlayerVehicleID(playerid));
    if(!(Spieler[playerid][pBusID] == INVALID_VEHICLE_ID) && !(vehicleid == Spieler[playerid][pBusID]) && (vehModel == 431 || vehModel == 437))
    {
    SendClientMessage(playerid, COLOR_GREY, "** Du hast vor kurzem einen anderen Bus verwendet. Bitte warte ein paar Minuten!");
    FreezePlayer(playerid);
    RemovePlayerFromVehicle(playerid);
    UnfreezePlayer(playerid);
    }


    #easygame


    Danke :)