[+] Add SchoolVehicle Class for Driving and Flight School

[*] Fixed and Improved Flight School
This commit is contained in:
Lukas Moungos
2019-11-01 18:24:02 +01:00
parent 1ec473a2d1
commit a211e23d37
12 changed files with 1550 additions and 54 deletions

View File

@@ -68,7 +68,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
User user = client.GetUser();
if (user.FlyingLicensePlane)
return;
client.SetData("ActiveSchool", 1);
client.TriggerEvent("renderTextOnScreen", "Du hast die Flugscheinprüfung gestartet. Steige nun in eines der Flugzeuge ein.");
client.TriggerEvent("waitPlayerEntersVehicle1");
}
@@ -93,56 +93,73 @@ namespace ReallifeGamemode.Server.DrivingSchool
[RemoteEvent("planeSchoolEvent")]
public void planeSchoolEvent(Client user, int checkpoint)
{
if(checkpoint == 0)
switch (checkpoint)
{
user.TriggerEvent("renderTextOnScreen", "Achten Sie darauf dass Sie mittig durch jeder Markierung fahren/fliegen.");
case 0:
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.");
break;
case 3:
user.TriggerEvent("renderTextOnScreen", "Achten Sie darauf dass Sie nicht stark abbremsen in der Luft sonst geht der Motor aus.");
break;
case 4:
user.TriggerEvent("renderTextOnScreen", "Falls Sie eine Landung durchführen fliegen Sie mit max. 150km/h.");
break;
case 5:
user.TriggerEvent("renderTextOnScreen", "Der Pfeil auf dem gelben Punkt zeigt ihnen ob Sie über oder unter dem Punkt seid.");
break;
case 6:
user.TriggerEvent("renderTextOnScreen", "Beschleunige nun auf mind. 80km/h um abzuheben.");
break;
case 13:
user.TriggerEvent("renderTextOnScreen", "Beschleunige nun auf mind. 80km/h um abzuheben.");
break;
case 7:
user.TriggerEvent("renderTextOnScreen", "Sobald Sie sicher in der Luft sind drücken Sie 'G' um ihr Fahrwerk einzufahren.");
break;
case 10:
user.TriggerEvent("renderTextOnScreen", "Setze zum landeflug an. Drücke 'G' um ihr Fahrwerk auszufahren.");
break;
case 14:
user.TriggerEvent("renderTextOnScreen", "Setze zum landeflug an. Drücke 'G' um ihr Fahrwerk auszufahren.");
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;
}
else if(checkpoint == 1)
{
user.TriggerEvent("renderTextOnScreen", "Für die Flugprüfung haben Sie 15min Zeit.");
}
else if(checkpoint == 2)
{
user.TriggerEvent("renderTextOnScreen", "Wenn Sie aus dem Flugzeug aussteigen sind Sie aus der Prüfung durchgefallen.");
}
else if(checkpoint == 3)
{
user.TriggerEvent("renderTextOnScreen", "Achten Sie darauf dass Sie nicht stark abbremsen in der Luft sonst geht der Motor aus.");
}
else if (checkpoint == 4)
{
user.TriggerEvent("renderTextOnScreen", "Falls Sie eine Landung durchführen fliegen Sie mit max. 150km/h.");
}
else if (checkpoint == 5)
{
user.TriggerEvent("renderTextOnScreen", "Folgen Sie den Gelben Punkte auf der Karte. Der Pfeil auf den Punkt zeigt ihnen ob Sie über oder unter dem Punkt seid.");
}
else if(checkpoint == 7)
{
user.TriggerEvent("renderTextOnScreen", "Sobald Sie sicher in der Luft sind drücken Sie 'G' um ihr Fahrwerk einzufahren.");
}
else if(checkpoint == 6 || checkpoint ==13)
{
user.TriggerEvent("renderTextOnScreen", "Beschleunige nun auf mind. 100km/h um abzuheben.");
}
else if(checkpoint == 10 || checkpoint == 14)
{
user.TriggerEvent("renderTextOnScreen", "Setze zum landeflug an. Drücke 'G' um ihr Fahrwerk auszufahren.");
}
else if (checkpoint == 15)
{
user.TriggerEvent("renderTextOnScreen", "Du hast deinen Flugschein bestanden!");
User spieler = user.GetUser();
using (var dbContext = new DatabaseContext())
{
User drivingUser = dbContext.Users.Where(u => u.Id == spieler.Id).FirstOrDefault();
drivingUser.FlyingLicensePlane = true;
ServerVehicle sVeh = VehicleManager.GetServerVehicleFromVehicle(user.Vehicle);
ServerVehicleExtensions.Spawn(sVeh, user.Vehicle);
dbContext.SaveChanges();
}
user.Position = new Vector3(-1083.96, -2476.96, 13.07);
}
}