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); } }
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"); } }
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; } } }
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); } }