[+] Add Driving License to Interaction Menu and as 'Object' to show other Players via the Interaction menu

This commit is contained in:
Lukas Moungos
2019-11-02 18:36:17 +01:00
parent e3c3949f1b
commit c46c778a47
14 changed files with 296 additions and 26 deletions

View File

@@ -99,6 +99,54 @@ namespace ReallifeGamemode.Server.Managers
}
}
}
[RemoteEvent("CLIENT:InteractionMenu_EndShow")]
public void InteractionMenuEndShow(Client client)
{
client.ResetData("ShowActive");
}
[RemoteEvent("CLIENT:InteractionMenu_Show")]
public void InteractionMenuShow(Client player, string type, string nameOrId)
{
if (type != "License")
return;
Client target = ClientService.GetClientByNameOrId(nameOrId);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
return;
}
User targetUser = target.GetUser();
User playerUser = player.GetUser();
if (type == "License")
{
if (!playerUser.DriverLicenseBike && !playerUser.DriverLicenseVehicle && !playerUser.FlyingLicensePlane)
{
ChatService.ErrorMessage(player, "Sie besitzen keine Scheine");
return;
}
if (player.Position.DistanceTo(target.Position) > 5)
{
ChatService.ErrorMessage(player, "Spieler zu weit entfernt");
return;
}
if (target.HasData("ShowActive"))
{
ChatService.ErrorMessage(player, "Spieler ist beschäftigt");
return;
}
target.SetData("ShowActive", true);
List<bool> licenses = new List<bool>();
licenses.Add(playerUser.DriverLicenseVehicle);
licenses.Add(playerUser.DriverLicenseBike);
licenses.Add(playerUser.FlyingLicensePlane);
target.TriggerEvent("ShowLicenses", player.Name, licenses.ToArray());
}
}
[RemoteEvent("CLIENT:InteractionMenu_Invite")]
public void InteractionMenuInviteFaction(Client player, string type, string nameOrId)