[*] Improvements on both Driving and Flight School
This commit is contained in:
@@ -36,9 +36,15 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
new Vector3(2134.13, 4782.7, 41.9),
|
||||
new Vector3(2098.9, 4792.94, 41.98),
|
||||
new Vector3(-869.77, -1424.05, 133),
|
||||
}.AsReadOnly();
|
||||
|
||||
|
||||
private readonly IReadOnlyCollection<Vector3> planeRouteEnd = new List<Vector3>
|
||||
{
|
||||
new Vector3(-1164.29, -2351.52, 14.88),
|
||||
}.AsReadOnly();
|
||||
|
||||
|
||||
public static void Setup()
|
||||
{
|
||||
|
||||
@@ -65,8 +71,20 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
[RemoteEvent("startplaneSchool")]
|
||||
public void StartplaneSchool(Client client)
|
||||
{
|
||||
if (user.Handmoney < 5000)
|
||||
{
|
||||
client.SendNotification("~r~Du brauchst ~g~$5000~r~ auf der Hand um die Prüfung zu starten.", true);
|
||||
return;
|
||||
}
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
User payer = client.GetUser(dbContext);
|
||||
payer.Handmoney -= 2500;
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
|
||||
User user = client.GetUser();
|
||||
if (user.FlyingLicensePlane)
|
||||
if (user.FlyingLicensePlane || client.HasData("ActiveSchool"))
|
||||
return;
|
||||
client.SetData("ActiveSchool", 1);
|
||||
client.TriggerEvent("renderTextOnScreen", "Du hast die Flugscheinprüfung gestartet. Steige nun in eines der Flugzeuge ein.");
|
||||
@@ -86,10 +104,32 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
{
|
||||
user.TriggerEvent("renderTextOnScreen", "Fahren Sie langsam und sicher zur Roten Markierung.");
|
||||
user.TriggerEvent("stopTimer");
|
||||
CheckPointHandle.StartCheckPointRoute(user, planeRoute, 0, 6, "planeSchoolEvent");
|
||||
CheckPointHandle.StartCheckPointRoute(user, planeRoute, 0, 6, 12, "planeSchoolEvent");
|
||||
}
|
||||
}
|
||||
|
||||
[RemoteEvent("planeSchoolEventEnd")]
|
||||
public void planeSchoolEventEnd(Client user, int checkpoint)
|
||||
{
|
||||
Vehicle veh = user.Vehicle;
|
||||
user.WarpOutOfVehicle();
|
||||
ServerVehicle sVeh = VehicleManager.GetServerVehicleFromVehicle(veh);
|
||||
VehicleStreaming.SetEngineState(veh, false);
|
||||
VehicleStreaming.SetLockStatus(veh, false);
|
||||
NAPI.Entity.SetEntityVelocity(veh.Handle, new Vector3(0, 0, 0));
|
||||
veh.Position = sVeh.Position;
|
||||
veh.Rotation = new Vector3(0, 0, sVeh.Heading);
|
||||
|
||||
user.TriggerEvent("renderTextOnScreen", "Du hast deinen Flugschein bestanden!");
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
User drivingUser = user.GetUser(dbContext);
|
||||
drivingUser.FlyingLicensePlane = true;
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
user.ResetData("ActiveSchool");
|
||||
user.Position = new Vector3(-1083.96, -2476.96, 13.07);
|
||||
}
|
||||
[RemoteEvent("planeSchoolEvent")]
|
||||
public void planeSchoolEvent(Client user, int checkpoint)
|
||||
{
|
||||
@@ -99,12 +139,8 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
user.TriggerEvent("renderTextOnScreen", "Achten Sie darauf dass Sie mittig durch jeder Markierung fahren/fliegen.");
|
||||
break;
|
||||
|
||||
case 1:
|
||||
user.TriggerEvent("renderTextOnScreen", "Für die Flugprüfung haben Sie 15min Zeit.");
|
||||
break;
|
||||
|
||||
case 2:
|
||||
user.TriggerEvent("renderTextOnScreen", "Wenn Sie aus dem Flugzeug aussteigen sind Sie aus der Prüfung durchgefallen.");
|
||||
user.TriggerEvent("renderTextOnScreen", "Falls Sie aus dem Flugzeug aussteigen sind Sie aus der Prüfung durchgefallen.");
|
||||
break;
|
||||
|
||||
case 3:
|
||||
@@ -137,28 +173,10 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
|
||||
case 14:
|
||||
user.TriggerEvent("renderTextOnScreen", "Setze zum landeflug an. Drücke 'G' um ihr Fahrwerk auszufahren.");
|
||||
CheckPointHandle.StartCheckPointRoute(user, planeRouteEnd, 5000, 6, 12, "planeSchoolEventEnd");
|
||||
break;
|
||||
case 15:
|
||||
|
||||
Vehicle veh = user.Vehicle;
|
||||
user.WarpOutOfVehicle();
|
||||
ServerVehicle sVeh = VehicleManager.GetServerVehicleFromVehicle(veh);
|
||||
VehicleStreaming.SetEngineState(veh, false);
|
||||
VehicleStreaming.SetLockStatus(veh, false);
|
||||
NAPI.Entity.SetEntityVelocity(veh.Handle, new Vector3(0,0,0));
|
||||
veh.Position = sVeh.Position;
|
||||
veh.Rotation = new Vector3(0, 0, sVeh.Heading);
|
||||
|
||||
user.TriggerEvent("renderTextOnScreen", "Du hast deinen Flugschein bestanden!");
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
User drivingUser = user.GetUser(dbContext);
|
||||
drivingUser.FlyingLicensePlane = true;
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
user.ResetData("ActiveSchool");
|
||||
user.Position = new Vector3(-1083.96, -2476.96, 13.07);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user