Busticket als Beifahrer

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
  • Hallo,


    Ich habe mich entschlossen meinen eigenen Reallife Server zu scripten um es zu lernen und scripten zu können wie ein echter Profi^^


    Nun habe ich ein Problem ich hab heute angefangen mit meinem RL Server und habe Busbot´s gemacht. Ich will nun so machen das wenn man in ein Bus einsteigt den ein Bot fährt das man , wenn man kein Ticket hat aus dem Fahrzeug gekickt wird oder wenn man ein Ticket hat das man dann weiterfahren kann. Jeoch kommt garkeine Nachricht wenn man in den Bus einsteigt und Error ist auch keiner.
    Hier einmal der Public:


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new vehicle;
    vehicle = GetPlayerVehicleID(playerid);
    if(vehicle == 431)
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
    {
    if(HatBusTicket[playerid] == true)
    {
    SendClientMessage(playerid,grün,"Busfahrer: Ich habe dein Ticket gestanzt, Viel Spaß bei der Fahrt.");
    HatBusTicket[playerid] = false;
    }
    else if(HatBusTicket[playerid] == false)
    {
    SendClientMessage(playerid,rot,"Busfahrer: Es tut mir Leid ich kann dich leider nicht mitnehmen.");
    SendClientMessage(playerid,rot,"Busfahrer: Kaufe dir zuerst ein Busticket am Automat mit /busticket!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    return 1;
    }


    Ich hoffe ihr könnt mir helfen.

  • Du hast es so definiert,dass das ganze in jedem Bus passiert!
    Aber wenn es nur bei den BusBot's passieren soll,musst du z.b if(vehicle== NameVomBusBotCar) machen!
    Und du musst if(newstate == PLAYER_STATE_PASSENGER)
    Machen!


    Beispiel:



    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new vehicle;
    vehicle = GetPlayerVehicleID(playerid);
    if(vehicle == NameVomBusBotCar)//Wie du das Car vom Bot genannt hast.Z.b CarBotCar
    {
    if(newstate == PLAYER_STATE_PASSENGER)
    {
    if(HatBusTicket[playerid] == true)
    {
    SendClientMessage(playerid,grün,"Busfahrer: Ich habe dein Ticket gestanzt, Viel Spaß bei der Fahrt.");
    HatBusTicket[playerid] = false;
    }
    else if(HatBusTicket[playerid] == false)
    {
    SendClientMessage(playerid,rot,"Busfahrer: Es tut mir Leid ich kann dich leider nicht mitnehmen.");
    SendClientMessage(playerid,rot,"Busfahrer: Kaufe dir zuerst ein Busticket am Automat mit /busticket!");
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,true);
    }
    }
    }
    return 1;
    }



    Hoffe ich konnte helfen.
    Lg
    Hardcore

  • Danke!!!
    Es funktioniert einwandfrei.


    Sry wegen solchen Noob Fehlern aber wie gesagt bin ja noch Anfänger ;)


    Tut mir Leid das Script hat trotzdem noch Fehler und zwar wenn man in ein anderes Fahrzeug einsteigt als Beifahrer kommt das man nicht kann wegen kein Ticket also wie beim Bot


    Habe es jetzt so:


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new vehicle;
    vehicle = GetPlayerVehicleID(playerid);
    if(vehicle == busblau || busrot)
    {
    if(newstate == PLAYER_STATE_PASSENGER)
    {
    if(HatBusTicket[playerid] == true)
    {
    SendClientMessage(playerid,grün,"Busfahrer: Ich habe dein Ticket gestanzt, Viel Spaß bei der Fahrt.");
    HatBusTicket[playerid] = false;
    }
    else if(HatBusTicket[playerid] == false)
    {
    SendClientMessage(playerid,rot,"Busfahrer: Es tut mir Leid ich kann dich leider nicht mitnehmen.");
    SendClientMessage(playerid,rot,"Busfahrer: Kaufe dir zuerst ein Busticket am Automat mit /busticket!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    else if(!vehicle == busblau || busrot)
    {

    }
    return 1;
    }

    Einmal editiert, zuletzt von RezZ ()