[+] Add Bikes to Driving School

//Driving School finished
This commit is contained in:
Lukas Moungos
2019-11-01 21:47:08 +01:00
parent 6947fcbc4e
commit 93e672549b
9 changed files with 1563 additions and 9 deletions

View File

@@ -19,6 +19,28 @@ namespace ReallifeGamemode.Server.DrivingSchool
private static ColShape _colShape;
public static Vector3 Position { get; }
private readonly IReadOnlyCollection<Vector3> BikeRoute = new List<Vector3>
{
new Vector3(-741.98, -1283.46, 4.17),
new Vector3(-702.49, -1246.57, 8.89),
new Vector3(-659.88, -1506.23, 9.94),
new Vector3(-423.72, -1770.7, 19.13),
new Vector3(-265.74, -1453.66, 29.74),
new Vector3(51.22, -1370.96, 27.84),
new Vector3(161.51, -1246.64, 36.5),
new Vector3(702.39, -1247.82, 33.98),
new Vector3(779.54, -1245.7, 25.08),
new Vector3(719.58, -1153.01, 31.75),
new Vector3(-233.65, -1133.09, 21.52),
new Vector3(-511.5, -1079.99, 21.37),
new Vector3(-707.52, -1239.48, 8.91),
new Vector3(-788.42, -1318.54, 3.49),
}.AsReadOnly();
private readonly IReadOnlyCollection<Vector3> StopBike = new List<Vector3>
{
new Vector3(-813.57, -1290.37, 4.59),
}.AsReadOnly();
private readonly IReadOnlyCollection<Vector3> DrivingRoute = new List<Vector3>
{
//BEGIN
@@ -59,15 +81,15 @@ namespace ReallifeGamemode.Server.DrivingSchool
new Vector3(-617.66, -1259.34, 9.82),
new Vector3(-758.35, -1285.03, 3.48),
}.AsReadOnly();
private readonly IReadOnlyCollection<Vector3> Stop = new List<Vector3>
private readonly IReadOnlyCollection<Vector3> StopCar = new List<Vector3>
{
new Vector3(-788.66, -1278.75, 5),
new Vector3(-788.66, -1278.75, 4),
}.AsReadOnly();
public static void Setup()
{
informationLabel = NAPI.TextLabel.CreateTextLabel("Fahrschule", new Vector3(-813.17, -1354.5, 5.14), 20.0f, 1.3f, 0, new Color(255, 255, 255));
informationLabel = NAPI.TextLabel.CreateTextLabel("Fahrschule\n~y~Auto ~s~- $~g~2500\n~y~Motorrad ~s~- $~g~3500", new Vector3(-813.17, -1354.5, 5.14), 20.0f, 1.3f, 0, new Color(255, 255, 255));
marker = NAPI.Marker.CreateMarker(MarkerType.VerticalCylinder, new Vector3(-813.17, -1354.5, 4.14), new Vector3(), new Vector3(), 1f, new Color(255, 255, 255));
_colShape = NAPI.ColShape.CreateSphereColShape(new Vector3(-813.17, -1354.5, 5.14), 3f);
@@ -127,6 +149,12 @@ namespace ReallifeGamemode.Server.DrivingSchool
user.TriggerEvent("stopTimer");
CheckPointHandle.StartCheckPointRoute(user, DrivingRoute, 0, 1, 7, "drivingSchoolEvent");
}
if(schoolVehicle.SchoolId == 2)
{
user.TriggerEvent("renderTextOnScreen", "Gut nun kann die Prüfung losgehen.");
user.TriggerEvent("stopTimer");
CheckPointHandle.StartCheckPointRoute(user, BikeRoute, 0, 1, 7, "drivingSchoolEvent");
}
}
}
@@ -174,10 +202,77 @@ namespace ReallifeGamemode.Server.DrivingSchool
else if (checkpoint == 32)
{
user.TriggerEvent("renderTextOnScreen", "Parke nun das Auto an der markierten Stelle.");
CheckPointHandle.StartCheckPointRoute(user, Stop, 5000, 1, 7, "drivingSchoolEventEnd");
CheckPointHandle.StartCheckPointRoute(user, StopCar, 5000, 1, 7, "drivingSchoolEventEnd");
}
}
[RemoteEvent("startBikeSchool")]
public void StartBikeSchool(Client client)
{
User user = client.GetUser();
if (user.DriverLicenseVehicle || client.HasData("ActiveSchool"))
return;
if (user.Handmoney < 3500)
{
client.SendNotification("~r~Du brauchst ~g~$3500~r~ auf der Hand um die Prüfung zu starten.", true);
return;
}
using (var dbContext = new DatabaseContext())
{
User payer = client.GetUser(dbContext);
payer.Handmoney -= 3500;
client.TriggerEvent("SERVER:SET_HANDMONEY", payer.Handmoney);
dbContext.SaveChanges();
}
client.SetData("ActiveSchool", 0);
client.TriggerEvent("renderTextOnScreen", "Sie haben die Führerscheinprüfung gestartet. Steigen Sie in eines der Fahrschulmotorräder ein.");
client.TriggerEvent("waitPlayerEntersVehicle");
}
[RemoteEvent("bikeSchoolEventEnd")]
public void bikeSchoolEventEnd(Client user, int checkpoint)
{
user.TriggerEvent("renderTextOnScreen", "Du hast den Führerschein bestanden. Glückwunsch!");
user.ResetData("ActiveSchool");
using (var dbContext = new DatabaseContext())
{
User drivingUser = user.GetUser(dbContext);
drivingUser.DriverLicenseBike = true;
dbContext.SaveChanges();
}
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.Position = new Vector3(-813.17, -1354.5, 4.14);
}
[RemoteEvent("bikeSchoolEvent")]
public void bikeSchoolEvent(Client user, int checkpoint)
{
if (checkpoint == 0)
{
user.TriggerEvent("renderTextOnScreen", "Sollten Sie aus dem Fahrzeug aussteigen fallen Sie durch.");
}
else if (checkpoint == 13)
{
user.TriggerEvent("renderTextOnScreen", "Parke nun das Auto an der markierten Stelle.");
CheckPointHandle.StartCheckPointRoute(user, StopBike, 5000, 1, 7, "bikeSchoolEventEnd");
}
}
}
}

View File

@@ -48,7 +48,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
public static void Setup()
{
informationLabel1 = NAPI.TextLabel.CreateTextLabel("Flugschule", new Vector3(-1083.96, -2476.96, 14.07), 20.0f, 1.3f, 0, new Color(255, 255, 255));
informationLabel1 = NAPI.TextLabel.CreateTextLabel("Flugschule\n~y~Flugschein ~s~- $~g~5000", new Vector3(-1083.96, -2476.96, 14.07), 20.0f, 1.3f, 0, new Color(255, 255, 255));
marker1 = NAPI.Marker.CreateMarker(MarkerType.VerticalCylinder, new Vector3(-1083.96, -2476.96, 13.07), new Vector3(), new Vector3(), 1f, new Color(255, 255, 255));
_colShape1 = NAPI.ColShape.CreateSphereColShape(new Vector3(-1083.96, -2476.96, 14.07), 3f);