Exemplo n.º 1
0
        public void OnPlayerExitVehicle(Client Player, Vehicle vehicle)
        {
            AutoLokal auto = new AutoLokal();

            auto = Funktionen.AutoBekommen(Player.Vehicle);

            if (auto.FahrzeugJob == 1 && vehicle.GetData("GeradeGespawnt") == 0)
            {
                NAPI.Notification.SendNotificationToPlayer(Player, "~y~Info~w~: Fertig mit jobben? /beenden");
            }
            else
            {
                Funktionen.FahrzeugSpeichern(vehicle);
                Funktionen.FahrzeugMotor(vehicle);
            }
        }
Exemplo n.º 2
0
        public void RollerMieten(Client Player)
        {
            //Das Fahrzeug greifen
            AutoLokal auto = new AutoLokal();

            auto = Funktionen.AutoBekommen(Player.Vehicle);

            if (Funktionen.AccountGeldBekommen(Player) < auto.FahrzeugMietpreis)
            {
                NAPI.Notification.SendNotificationToPlayer(Player, "~y~Info~w~: Du hast nicht genug Geld.");
                Player.TriggerEvent("rollermietenpopupschliessen");
            }
            else
            {
                NAPI.Notification.SendNotificationToPlayer(Player, "~y~Info~w~: Du hast das Fahrzeug gemietet.");
                Funktionen.AccountGeldSetzen(Player, 2, auto.FahrzeugMietpreis);
                Player.TriggerEvent("rollermietenpopupschliessen");
            }
        }
Exemplo n.º 3
0
        public static void TachoUpdaten()
        {
            //Schleife für alle Autos
            foreach (var Player in NAPI.Pools.GetAllPlayers())
            {
                //Abfrage ob eingeloggt und im Auto und auf dem Fahrersitz ist
                if (Player.IsInVehicle && Player.GetData("Eingeloggt") == 1 && NAPI.Player.GetPlayerVehicleSeat(Player) == -1 && Player.Vehicle.EngineStatus == true)
                {
                    //Benötigte Definitionen
                    float Distanz = 0.0f;
                    float nX, nY, nZ, aX, aY, aZ;

                    //Fahrzeug abprüfen
                    AutoLokal auto = new AutoLokal();
                    auto = Funktionen.AutoBekommen(Player.Vehicle);

                    if (auto.TankInhalt <= 0)
                    {
                        Player.Vehicle.EngineStatus = false;
                        FahrzeugMotor(Player.Vehicle, 0);
                        if (auto.TankInhalt < 0)
                        {
                            auto.TankInhalt = 0.0f;
                        }
                        return;
                    }

                    //Fahrzeug Position zuweisen
                    auto.FahrzeugNeuePositionX = Player.Vehicle.Position.X;
                    auto.FahrzeugNeuePositionY = Player.Vehicle.Position.Y;
                    auto.FahrzeugNeuePositionZ = Player.Vehicle.Position.Z;

                    //Neue Koordinaten an die Variablen geben
                    nX = Player.Vehicle.Position.X;
                    nY = Player.Vehicle.Position.Y;
                    nZ = Player.Vehicle.Position.Z;

                    //Alte Koordinaten an die Variablen geben
                    aX = auto.FahrzeugAltePositionX;
                    aY = auto.FahrzeugAltePositionY;
                    aZ = auto.FahrzeugAltePositionZ;

                    //Distanz mit der Vector3 Distance Funktion errechnen
                    Distanz = Vector3.Distance(new Vector3(nX, nY, nZ), new Vector3(aX, aY, aZ));

                    //Damit wir wissen ob der Spieler steht oder nicht
                    if (Distanz > 2)
                    {
                        Player.SetData("BewegtSichMitFahrzeug", 1);
                    }
                    else
                    {
                        Player.SetData("BewegtSichMitFahrzeug", 0);
                    }

                    //Kilometer und Tank aufsummieren
                    float Kilometer = auto.Kilometerstand + Distanz;

                    //Verbrauch errechnen
                    float Verbraucht = Distanz * GlobaleSachen.Verbrauch;

                    //Wenn er nicht fährt
                    if (Distanz == 0)
                    {
                        Verbraucht = 0.2f;
                    }

                    //Verbrauch subtrahieren
                    float Tank = auto.TankInhalt - Verbraucht;

                    //Dem Fahrzeug den Kilometerstand und Tank setzen
                    auto.Kilometerstand = Kilometer;
                    auto.TankInhalt     = Tank;

                    //Für das Tacho den Kilometerstand runterteilen damit die Zahl lesbar ist
                    float KilometerFloat   = auto.Kilometerstand / 10 / 100;
                    float TankFloat        = auto.TankInhalt / 10 / 100;
                    float TankVolumenFloat = auto.TankVolumen;

                    //Client Event vom Tacho triggern (Tacho/index.js)
                    Player.TriggerEvent("TachoUpdaten", NAPI.Util.ToJson(Math.Round(KilometerFloat, 2)), NAPI.Util.ToJson(Math.Round(TankFloat, 2)), NAPI.Util.ToJson(Math.Round(TankVolumenFloat, 2)));

                    //Vom Fahrzeug die alte Position auf die neue updaten
                    auto.FahrzeugAltePositionX = auto.FahrzeugNeuePositionX;
                    auto.FahrzeugAltePositionY = auto.FahrzeugNeuePositionY;
                    auto.FahrzeugAltePositionZ = auto.FahrzeugNeuePositionZ;

                    auto.FahrzeugGeändert = true;
                }
            }
        }
Exemplo n.º 4
0
        public static void HelmutFahrzeugErstellen(Client Player)
        {
            //Definitionen
            uint AutoCode = NAPI.Util.GetHashKey("mk7");

            RandomSpawns rs = new RandomSpawns();

            rs = Funktionen.RandomSpawnObjektBekommen(Funktionen.RandomSpawnBekommen("Helmut"));

            //Ein neues Objekt erzeugen
            var veh = new Auto
            {
                FahrzeugBeschreibung  = "Nicos Auto",
                FahrzeugName          = Funktionen.ErsterBuchstabeGroß("mk7"),
                FahrzeugTyp           = 2,
                FahrzeugFraktion      = 0,
                FahrzeugJob           = 0,
                FahrzeugSpieler       = Player.GetData("Id"),
                FahrzeugMietpreis     = 0,
                FahrzeugKaufpreis     = 0,
                FahrzeugAutohaus      = 0,
                FahrzeugMaxMietzeit   = 120,
                FahrzeugMietzeit      = 0,
                FahrzeugX             = rs.PosX,
                FahrzeugY             = rs.PosY,
                FahrzeugZ             = rs.PosZ,
                FahrzeugRot           = rs.RotZ,
                FahrzeugFarbe1        = 0,
                FahrzeugFarbe2        = 0,
                TankVolumen           = Funktionen.TankVolumenBerechnen("mk7"),
                TankInhalt            = Funktionen.TankVolumenBerechnen("mk7") * 10 * 100,
                Kilometerstand        = 0.0f,
                KraftstoffArt         = 3,
                FahrzeugHU            = DateTime.Now.AddMonths(+1),
                FahrzeugAbgeschlossen = 0,
                FahrzeugMotor         = 1,
                FahrzeugGespawnt      = 1
            };

            //Query absenden
            ContextFactory.Instance.srp_fahrzeuge.Add(veh);
            ContextFactory.Instance.SaveChanges();


            //Objekt für die Liste erzeugen
            AutoLokal auto = new AutoLokal();

            //Das Fahrzeug spawnen
            auto.Fahrzeug = NAPI.Vehicle.CreateVehicle(AutoCode, new Vector3(rs.PosX, rs.PosY, rs.PosZ), rs.RotZ, 0, 0, numberPlate: "Nico");

            auto.Fahrzeug.NumberPlate = "Nico";
            auto.Fahrzeug.Dimension   = 0;

            //Dem Fahrzeug die Werte lokal übergeben
            auto.Id = ContextFactory.Instance.srp_fahrzeuge.Max(x => x.Id);
            auto.FahrzeugBeschreibung  = "Nicos Auto";
            auto.FahrzeugName          = Funktionen.ErsterBuchstabeGroß("mk7");
            auto.FahrzeugTyp           = 2;
            auto.FahrzeugFraktion      = 0;
            auto.FahrzeugJob           = 0;
            auto.FahrzeugSpieler       = Player.GetData("Id");
            auto.FahrzeugMietpreis     = 0;
            auto.FahrzeugKaufpreis     = 0;
            auto.FahrzeugAutohaus      = 0;
            auto.FahrzeugMaxMietzeit   = 120;
            auto.FahrzeugMietzeit      = 0;
            auto.FahrzeugX             = rs.PosX;
            auto.FahrzeugY             = rs.PosY;
            auto.FahrzeugZ             = rs.PosZ;
            auto.FahrzeugRot           = rs.RotZ;
            auto.FahrzeugFarbe1        = 0;
            auto.FahrzeugFarbe2        = 0;
            auto.TankVolumen           = Funktionen.TankVolumenBerechnen("Golf");
            auto.TankInhalt            = Funktionen.TankVolumenBerechnen("Golf") * 10 * 100;
            auto.Kilometerstand        = 0;
            auto.KraftstoffArt         = 3;
            auto.FahrzeugHU            = DateTime.Now.AddMonths(+1);
            auto.FahrzeugAbgeschlossen = 0;
            auto.FahrzeugMotor         = 1;
            auto.FahrzeugGespawnt      = 1;

            //Diese Sachen nur lokal
            auto.FahrzeugAltePositionX = rs.PosX;
            auto.FahrzeugAltePositionY = rs.PosY;
            auto.FahrzeugAltePositionZ = rs.PosZ;
            auto.FahrzeugNeuePositionX = 0;
            auto.FahrzeugNeuePositionY = 0;
            auto.FahrzeugNeuePositionZ = 0;

            //Fahrzeug in der Liste ablegen
            Funktionen.AutoListe.Add(auto);

            //Dem Auto die DB Id lokal geben
            auto.Fahrzeug.SetData("Id", ContextFactory.Instance.srp_fahrzeuge.Max(x => x.Id));
            auto.Fahrzeug.EngineStatus = true;

            NAPI.Notification.SendNotificationToPlayer(Player, "~y~Info~w~: Das Auto von Helmuts Enkel steht gleich hier auf dem Parkplatz.");
            NAPI.Notification.SendNotificationToPlayer(Player, "~y~Nachricht~w~: GPS Coordinaten von Helmut.");
            var MannImBlumenFeld = new Vector3(1331.05, -2458.33, 0);

            Player.TriggerEvent("Navigation", MannImBlumenFeld.X, MannImBlumenFeld.Y);
        }
Exemplo n.º 5
0
        public static List <AutoLokal> AlleAutosLadenDB()
        {
            List <AutoLokal> AutoListe = new List <AutoLokal>();

            foreach (var Fahrzeuge in ContextFactory.Instance.srp_fahrzeuge.Where(x => x.Id > 0).ToList())
            {
                AutoLokal auto = new AutoLokal();

                //Definitionen
                uint   AutoCode     = NAPI.Util.GetHashKey(Fahrzeuge.FahrzeugName);
                String VerkaufsText = null;

                //Die eigentliche Erstellung des Fahrzeuges
                auto.Fahrzeug = NAPI.Vehicle.CreateVehicle(AutoCode, new Vector3(Fahrzeuge.FahrzeugX, Fahrzeuge.FahrzeugY, Fahrzeuge.FahrzeugZ), Fahrzeuge.FahrzeugRot, Fahrzeuge.FahrzeugFarbe1, Fahrzeuge.FahrzeugFarbe2);

                //ID Lokal setzen damit man das Fahrzeug erkennen kann
                auto.Fahrzeug.SetData("Id", Fahrzeuge.Id);

                auto.Fahrzeug.Dimension = 0;

                auto.Id = Fahrzeuge.Id;
                auto.FahrzeugBeschreibung  = Fahrzeuge.FahrzeugBeschreibung;
                auto.FahrzeugName          = Fahrzeuge.FahrzeugName;
                auto.FahrzeugTyp           = Fahrzeuge.FahrzeugTyp;
                auto.FahrzeugFraktion      = Fahrzeuge.FahrzeugFraktion;
                auto.FahrzeugJob           = Fahrzeuge.FahrzeugJob;
                auto.FahrzeugSpieler       = Fahrzeuge.FahrzeugSpieler;
                auto.FahrzeugMietpreis     = Fahrzeuge.FahrzeugMietpreis;
                auto.FahrzeugKaufpreis     = Fahrzeuge.FahrzeugKaufpreis;
                auto.FahrzeugAutohaus      = Fahrzeuge.FahrzeugAutohaus;
                auto.FahrzeugMaxMietzeit   = Fahrzeuge.FahrzeugMaxMietzeit;
                auto.FahrzeugMietzeit      = Fahrzeuge.FahrzeugMietzeit;
                auto.FahrzeugX             = Fahrzeuge.FahrzeugX;
                auto.FahrzeugY             = Fahrzeuge.FahrzeugY;
                auto.FahrzeugZ             = Fahrzeuge.FahrzeugZ;
                auto.FahrzeugRot           = Fahrzeuge.FahrzeugRot;
                auto.FahrzeugFarbe1        = Fahrzeuge.FahrzeugFarbe1;
                auto.FahrzeugFarbe2        = Fahrzeuge.FahrzeugFarbe2;
                auto.TankVolumen           = Fahrzeuge.TankVolumen;
                auto.TankInhalt            = Fahrzeuge.TankInhalt * 10 * 100;
                auto.Kilometerstand        = Fahrzeuge.Kilometerstand * 10 * 100;
                auto.KraftstoffArt         = Fahrzeuge.KraftstoffArt;
                auto.FahrzeugHU            = Fahrzeuge.FahrzeugHU;
                auto.FahrzeugAbgeschlossen = Fahrzeuge.FahrzeugAbgeschlossen;
                auto.FahrzeugMotor         = Fahrzeuge.FahrzeugMotor;

                //Nur lokal
                auto.FahrzeugAltePositionX = Fahrzeuge.FahrzeugX;
                auto.FahrzeugAltePositionY = Fahrzeuge.FahrzeugY;
                auto.FahrzeugAltePositionZ = Fahrzeuge.FahrzeugZ;
                auto.FahrzeugNeuePositionX = 0;
                auto.FahrzeugNeuePositionY = 0;
                auto.FahrzeugNeuePositionZ = 0;

                //Zur Liste hinzufügen
                AutoListe.Add(auto);

                //Zuweisungen für das Auto
                auto.Fahrzeug.NumberPlate = Fahrzeuge.FahrzeugBeschreibung;

                if (auto.FahrzeugMotor == 0)
                {
                    auto.Fahrzeug.EngineStatus = false;
                }
                else
                {
                    auto.Fahrzeug.EngineStatus = true;
                }

                //Schauen ob es ein Verkaufs Auto ist
                if (auto.FahrzeugAutohaus > 0)
                {
                    VerkaufsText  = "~r~[~w~Zu verkaufen~r~]~n~";
                    VerkaufsText += "Name~w~: " + auto.FahrzeugName + "~n~~r~";
                    VerkaufsText += "Autohaus~w~: " + auto.FahrzeugAutohaus + "~n~~r~";
                    VerkaufsText += "Preis:~w~ " + Funktionen.GeldFormatieren(auto.FahrzeugKaufpreis);

                    auto.AutohausTextLabel = NAPI.TextLabel.CreateTextLabel(VerkaufsText, new Vector3(Fahrzeuge.FahrzeugX, Fahrzeuge.FahrzeugY, Fahrzeuge.FahrzeugZ), 18.0f, 1.00f, 4, new Color(255, 255, 255), false, 0);
                }
                if (auto.FahrzeugAutohaus < 0)
                {
                    VerkaufsText  = "~r~[~w~Manufaktur~r~]~n~";
                    VerkaufsText += "Name~w~: " + auto.FahrzeugName + "~n~~r~";
                    VerkaufsText += "Preis:~w~ " + Funktionen.GeldFormatieren(auto.FahrzeugKaufpreis);

                    auto.AutohausTextLabel = NAPI.TextLabel.CreateTextLabel(VerkaufsText, new Vector3(Fahrzeuge.FahrzeugX, Fahrzeuge.FahrzeugY, Fahrzeuge.FahrzeugZ), 18.0f, 1.00f, 4, new Color(255, 255, 255), false, 0);
                }
            }
            return(AutoListe);
        }
Exemplo n.º 6
0
        public static void JobFahrzeugLöschen(Client Player, Vehicle Fahrzeug)
        {
            if (Funktionen.AccountJobFahrzeugBekommen(Player) != null)
            {
                if (Player.GetData("BerufskraftfahrerDieselTanke") != 0 || Player.GetData("BerufskraftfahrerE10Tanke") != 0 || Player.GetData("BerufskraftfahrerSuperTanke") != 0)
                {
                    if (Player.GetData("BerufskraftfahrerDieselTanke") != 0)
                    {
                        foreach (TankstelleLokal tanke in Funktionen.TankenListe)
                        {
                            if (tanke.Id == Player.GetData("BerufskraftfahrerDieselTanke"))
                            {
                                tanke.TankstelleJobSpieler = 0;
                            }
                        }
                    }
                    else if (Player.GetData("BerufskraftfahrerE10Tanke") != 0)
                    {
                        foreach (TankstelleLokal tanke in Funktionen.TankenListe)
                        {
                            if (tanke.Id == Player.GetData("BerufskraftfahrerE10Tanke"))
                            {
                                tanke.TankstelleJobSpieler = 0;
                            }
                        }
                    }
                    else if (Player.GetData("BerufskraftfahrerSuperTanke") != 0)
                    {
                        foreach (TankstelleLokal tanke in Funktionen.TankenListe)
                        {
                            if (tanke.Id == Player.GetData("BerufskraftfahrerSuperTanke"))
                            {
                                tanke.TankstelleJobSpieler = 0;
                            }
                        }
                    }
                }

                AutoLokal auto = new AutoLokal();
                auto = Funktionen.AutoBekommen(Fahrzeug);
                NAPI.Notification.SendNotificationToPlayer(Player, "~y~Info~w~: Dein Job wurde beendet.");
                //Berufskraftfahrer
                Player.SetData("BerufskraftfahrerFahrzeug", 0);
                Player.SetData("BerufskraftfahrerHolz", 0);
                Player.SetData("BerufskraftfahrerHolzGeladen", 0);
                Player.SetData("BerufskraftfahrerJobAngenommen", 0);
                Player.SetData("BerufskraftfahrerKraftstoffTyp", 0);
                Player.SetData("BerufskraftfahrerDieselTanke", 0);
                Player.SetData("BerufskraftfahrerE10Tanke", 0);
                Player.SetData("BerufskraftfahrerSuperTanke", 0);
                Player.SetData("BerufskraftfahrerVerdienst", 0);
                Player.SetData("BerufskraftfahrerAmAbladen", 0);

                //Busfahrer
                Player.SetData("BusfahrerFahrzeug", 0);
                Player.SetData("BusfahrerJobAngenommen", 0);
                Player.SetData("BusfahrerRoute", 0);
                Player.SetData("BusfahrerRoutePosition", 0);

                auto.Fahrzeug.Delete();

                Funktionen.AutoListe.Remove(auto);

                Funktionen.AccountJobFahrzeugSetzen(Player, null);

                //Navi resetten
                var EigenerPunkt = new Vector3(Player.Position.X, Player.Position.Y, 0);
                Player.TriggerEvent("Navigation", EigenerPunkt.X, EigenerPunkt.Y);
            }
        }