[*] Pilot License improvements
This commit is contained in:
@@ -13,6 +13,7 @@ export default function checkpointHandle(globalData: GlobalData) {
|
||||
var markerID;
|
||||
var event;
|
||||
var checkPointsDone = 0;
|
||||
var activeBlip = null;
|
||||
|
||||
mp.events.add('setCheckPoint', (position, player, checkPointID, nDelay, nMarkerID, nEvent) => {
|
||||
inCheckpoint = false;
|
||||
@@ -29,9 +30,16 @@ export default function checkpointHandle(globalData: GlobalData) {
|
||||
dimension: 0
|
||||
});
|
||||
|
||||
activeBlip = mp.blips.new(1, posCp,
|
||||
{
|
||||
color: 33,
|
||||
alpha: 255,
|
||||
shortRange: false,
|
||||
});
|
||||
|
||||
clearInterval(myVar);
|
||||
//mp.events.call("SERVER:Util_setWaypoint", posCp.X, posCp.Z);
|
||||
mp.game.ui.setNewWaypoint(posCp.x, posCp.y);
|
||||
//mp.game.ui.setNewWaypoint(posCp.x, posCp.y);
|
||||
myVar = setInterval(myTimer, 100);
|
||||
});
|
||||
|
||||
@@ -55,6 +63,7 @@ export default function checkpointHandle(globalData: GlobalData) {
|
||||
|
||||
if (delayCounter >= delay) {
|
||||
activeCheckpoint.destroy();
|
||||
activeBlip.destroy();
|
||||
clearInterval(myVar);
|
||||
mp.events.callRemote("playerInCheckpoint");
|
||||
if (event != "") {
|
||||
|
||||
@@ -52,7 +52,35 @@ export default function planeSchoolHandle(globalData: GlobalData) {
|
||||
timer = setInterval(timerPlayerInVehicle1, 3000);
|
||||
});
|
||||
|
||||
var renderedText = null;
|
||||
var textTime;
|
||||
var render = false;
|
||||
var massage;
|
||||
|
||||
function ClearText() {
|
||||
render = false;
|
||||
clearInterval(textTime);
|
||||
}
|
||||
|
||||
mp.events.add('render', () =>{
|
||||
if (render) {
|
||||
renderedText = mp.game.graphics.drawText(massage, [0.5, 0.85], {
|
||||
font: 4,
|
||||
centre: true,
|
||||
color: [255, 255, 145, 185],
|
||||
scale: [0.5, 0.5],
|
||||
outline: true
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
mp.events.add('renderTextOnScreen', (msg) => {
|
||||
clearInterval(textTime);
|
||||
massage = msg;
|
||||
render = true;
|
||||
textTime = setInterval(ClearText, 7000)
|
||||
});
|
||||
mp.events.add('stopTimer', () => {
|
||||
timerSet = false;
|
||||
clearInterval(timer);
|
||||
|
||||
@@ -8,6 +8,7 @@ using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
|
||||
namespace ReallifeGamemode.Server.DrivingSchool
|
||||
{
|
||||
@@ -68,9 +69,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
if (user.FlyingLicensePlane)
|
||||
return;
|
||||
|
||||
ChatService.SendMessage(client, "Du hast die Flugscheinprüfung gestartet.");
|
||||
ChatService.SendMessage(client, "Steige nun in eines der Flugzeuge ein.");
|
||||
|
||||
user.TriggerEvent("renderTextOnScreen", "Du hast die Flugscheinprüfung gestartet. Steige nun in eines der Flugzeuge ein.");
|
||||
client.TriggerEvent("waitPlayerEntersVehicle1");
|
||||
}
|
||||
|
||||
@@ -85,7 +84,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
}
|
||||
else
|
||||
{
|
||||
ChatService.SendMessage(user, "Gut nun kann die Prüfung losgehen.");
|
||||
user.TriggerEvent("renderTextOnScreen", "Fahren Sie langsam und sicher zur Roten Markierung.");
|
||||
user.TriggerEvent("stopTimer");
|
||||
CheckPointHandle.StartCheckPointRoute(user, planeRoute, 0, 6, "planeSchoolEvent");
|
||||
}
|
||||
@@ -94,28 +93,58 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
[RemoteEvent("planeSchoolEvent")]
|
||||
public void planeSchoolEvent(Client user, int checkpoint)
|
||||
{
|
||||
if(checkpoint == 6 || checkpoint ==13)
|
||||
if(checkpoint == 0)
|
||||
{
|
||||
ChatService.SendMessage(user, "Beschleunige um abzuheben.");
|
||||
user.TriggerEvent("renderTextOnScreen", "Achten Sie darauf dass Sie mittig durch jeder Markierung fahren/fliegen.");
|
||||
}
|
||||
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)
|
||||
{
|
||||
ChatService.SendMessage(user, "Setze zum landeflug an.");
|
||||
|
||||
user.TriggerEvent("renderTextOnScreen", "Setze zum landeflug an. Drücke 'G' um ihr Fahrwerk auszufahren.");
|
||||
}
|
||||
else if (checkpoint == 15)
|
||||
{
|
||||
ChatService.SendMessage(user, "Du hast deinen Flugschein bestanden.");
|
||||
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;
|
||||
drivingUser.FlyingLicensePlane = false;
|
||||
ServerVehicle sVeh = VehicleManager.GetServerVehicleFromVehicle(user.Vehicle);
|
||||
ServerVehicleExtensions.Spawn(sVeh, user.Vehicle);
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
user.Position = new Vector3(-1083.96, -2476.96, 13.07);
|
||||
/*user.Vehicle.Position = new Vector3(); Hier die Funktion zum Fahrzeug respawnen */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -418,7 +418,7 @@ namespace ReallifeGamemode.Server.Events
|
||||
User u = player.GetUser();
|
||||
if (u == null) return;
|
||||
|
||||
if (NAPI.Entity.GetEntityVelocity(v).Length() > 1)
|
||||
if (NAPI.Entity.GetEntityVelocity(v).Length() > 1 && v.Class != 16)
|
||||
{
|
||||
player.SendNotification("~r~Der Motor kann nur im Stand betätigt werden.", true);
|
||||
return;
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace ReallifeGamemode.Server.Events
|
||||
User u = player.GetUser();
|
||||
if (u == null) return;
|
||||
|
||||
if (NAPI.Entity.GetEntityVelocity(v).Length() > 1)
|
||||
if (NAPI.Entity.GetEntityVelocity(v).Length() > 1 && v.Class != 16)
|
||||
{
|
||||
player.SendNotification("~r~Der Motor kann nur im Stand betätigt werden.", true);
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user