Finalize Surgery

This commit is contained in:
VegaZ
2021-05-03 21:33:56 +02:00
81 changed files with 3654 additions and 609 deletions

View File

@@ -1,4 +1,5 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using GTANetworkAPI;
@@ -34,7 +35,7 @@ namespace ReallifeGamemode.Server.Events
[RemoteEvent("keyPress:NUM2")]
public void KeyPressNUM2(Player player)
{
if (!player.IsLoggedIn()) return;
if (!player.IsLoggedIn() || player.GetData<bool>("isDead")) return;
if (player.GetData<bool>("editmode") == true && player.GetUser().IsAdmin(AdminLevel.HEADADMIN) == true)
{
var saveMode = player.GetData<string>("quicksavemode");
@@ -91,7 +92,7 @@ namespace ReallifeGamemode.Server.Events
[RemoteEvent("keyPress:RIGHT_ARROW")]
public void KeyPressRightArrow(Player player)
{
if (!player.IsLoggedIn()) return;
if (!player.IsLoggedIn() || player.GetData<bool>("isDead")) return;
User user = player.GetUser();
if (!player.IsDuty())
@@ -116,10 +117,10 @@ namespace ReallifeGamemode.Server.Events
[RemoteEvent("keyPress:M")]
public void KeyPressM(Player player)
{
if (!player.IsLoggedIn()) return;
using var dbContext = new DatabaseContext();
User u = player.GetUser(dbContext);
if (u == null) return;
if (player.GetData<bool>("isDead")) return;
var vehicles = dbContext.UserVehicles.Where(veh => veh.UserId == u.Id).OrderBy(veh => veh.Id).Select(v => new
{
@@ -135,7 +136,6 @@ namespace ReallifeGamemode.Server.Events
Price = f.BuyPrice
});
Paycheck paycheck = null;
if (Economy.Paychecks.ContainsKey(u.Id)) paycheck = Economy.Paychecks[u.Id];
@@ -189,6 +189,7 @@ namespace ReallifeGamemode.Server.Events
int ticket_amount = 0;
int pay_amount = 0;
bool house = false;
bool hasRentcar = player.GetData<bool>("hasRentcar") == true;
if (u.House != null)
{
@@ -204,13 +205,14 @@ namespace ReallifeGamemode.Server.Events
{
pay_amount = player.GetData<int>("pay_amount");
}
player.TriggerEvent("SERVER:InteractionMenu_OpenMenu", JsonConvert.SerializeObject(accountData), factionleader, JsonConvert.SerializeObject(memberList), JsonConvert.SerializeObject(jobData), faction, group, factionInvite, groupInvite, ticket_boolean, ticket_amount, pay_amount, house);
player.TriggerEvent("SERVER:InteractionMenu_OpenMenu", JsonConvert.SerializeObject(accountData), factionleader, JsonConvert.SerializeObject(memberList), JsonConvert.SerializeObject(jobData), faction, group, factionInvite, groupInvite, ticket_boolean, ticket_amount, pay_amount, JsonConvert.SerializeObject(hasRentcar), house);
}
[RemoteEvent("keyPress:E")]
public void KeyPressE(Player player)
{
if (!player.IsLoggedIn()) return;
if (!player.IsLoggedIn() || player.GetData<bool>("isDead") || player.IsInVehicle) return;
var user = player.GetUser();
if (player.HasData("nearATM"))
@@ -219,12 +221,9 @@ namespace ReallifeGamemode.Server.Events
return;
}
if (!player.IsInVehicle)
if (GroundItem.PickUpGroundItem(player))
{
if (GroundItem.PickUpGroundItem(player))
{
return;
}
return;
}
DutyPoint nearestDuty = PositionManager.DutyPoints.Find(d => d.Position.DistanceTo(player.Position) <= 1.5 && d.FactionId == user.FactionId);
@@ -237,6 +236,7 @@ namespace ReallifeGamemode.Server.Events
JobPoint nearestJobPoint = PositionManager.JobPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.6);
Player nearestCuffPlayer = PositionManager.cuffPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.6 && user.GetData<bool>("duty"));
AmmunationPoint nearestAmmunationPoint = PositionManager.AmmunationPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.5);
RentcarPoint nearestRentcarPoint = PositionManager.rentcarPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.5);
if (user?.FactionId != null)
{
@@ -355,6 +355,41 @@ namespace ReallifeGamemode.Server.Events
user.SetBlipAndNametagColor();
}
//Rentcar Points
if (nearestRentcarPoint != null)
{
if (player.IsInVehicle)
{
return;
}
//Noobspawn
if (player.Position.DistanceTo(PositionManager.rentcarPoints[0].Position) <= 1.5)
{
player.TriggerEvent("showRentcarMenu", JsonConvert.SerializeObject(Rentcar.noobspawnVehicleProperties), "noobspawn");
}
//Stadthalle
else if (player.Position.DistanceTo(PositionManager.rentcarPoints[1].Position) <= 1.5)
{
player.TriggerEvent("showRentcarMenu", JsonConvert.SerializeObject(Rentcar.stadthalleVehicleProperties), "stadthalle");
}
//Knast
else if (player.Position.DistanceTo(PositionManager.rentcarPoints[2].Position) <= 1.5)
{
player.TriggerEvent("showRentcarMenu", JsonConvert.SerializeObject(Rentcar.knastVehicleProperties), "knast");
}
//Paleto
else if (player.Position.DistanceTo(PositionManager.rentcarPoints[3].Position) <= 1.5)
{
player.TriggerEvent("showRentcarMenu", JsonConvert.SerializeObject(Rentcar.paletoVehicleProperties), "paleto");
}
//Lamesa
else if (player.Position.DistanceTo(PositionManager.rentcarPoints[4].Position) <= 1.5)
{
player.TriggerEvent("showRentcarMenu", JsonConvert.SerializeObject(Rentcar.paletoVehicleProperties), "lamesa");
}
}
if (nearestWeapon != null) // Weapon Point
{
List<string> primarys = new List<string>();
@@ -466,9 +501,7 @@ namespace ReallifeGamemode.Server.Events
});
}
player.TriggerEvent("showWeaponMenu", primarys.ToArray(), secondarys.ToArray(), melees.ToArray(), specials.ToArray(), armor.ToArray(), JsonConvert.SerializeObject(timer.ToArray()), JsonConvert.SerializeObject(amountInfos));
}
}
if (nearestJailReleasePoint != null)
@@ -558,7 +591,8 @@ namespace ReallifeGamemode.Server.Events
ChatService.ErrorMessage(player, "Du benötigst $15.000 auf dem Bankkonto um die Operation durchzuführen");
return;
}
ChatService.SendMessage(player, "~r~ACHTUNG! Dadurch wird dein alter Charakter gelöscht. Du kannst dir hiermit einen neuen erstellen.\nBeim Wechsel des Geschlechts verlierst du ebenfalls deine gekaufte Kleidung");
ChatService.SendMessage(player, "~r~ACHTUNG! Dadurch wird dein alter Charakter gelöscht. Du kannst dir hiermit einen neuen erstellen.");
ChatService.SendMessage(player, "Beim Wechsel des Geschlechts verlierst du ebenfalls deine gekaufte Kleidung");
if (freeSurgery == true)
{
ChatService.SendMessage(player, "Du kannst deinen Charakter dieses mal kostenlos erstellen");
@@ -567,8 +601,15 @@ namespace ReallifeGamemode.Server.Events
{
ChatService.SendMessage(player, "Die Änderung des Charakters kostet ~g~$15.000");
}
ChatService.SendMessage(player, "Du kannst die Charaktererstellung wieder verlassen und behältst deinen alten Charakter! Bitte starte mit ~g~J");
ChatService.SendMessage(player, "Du kannst die Charaktererstellung wieder verlassen und behältst deinen alten Charakter!");
ChatService.SendMessage(player, "Bitte starte mit ~g~J");
player.SetData<bool>("charSurgery", true);
NAPI.Task.Run(() =>
{
if (player.GetData<bool>("charSurgery") == true) player.ResetData("charSurgery");
player.SendNotification("~r~Chirurg-Angebot abgebrochen.");
}, 30000);
}
if (user.FactionLeader)
{
@@ -628,7 +669,7 @@ namespace ReallifeGamemode.Server.Events
[RemoteEvent("keyPress:I")]
public void KeyPressI(Player player)
{
if (!player.IsLoggedIn()) return;
if (!player.IsLoggedIn() || player.GetData<bool>("isDead")) return;
if (player.GetData<bool>("isDead")) return;
player.TriggerEvent("inventoryShow");
@@ -638,7 +679,7 @@ namespace ReallifeGamemode.Server.Events
[RemoteEvent("keyPress:J")]
public void KeyPressJ(Player player)
{
if (!player.IsLoggedIn()) return;
if (!player.IsLoggedIn() || player.GetData<bool>("isDead")) return;
if (player.GetData<bool>("healDecision") == true)
{
player.ResetData("healDecision");
@@ -646,18 +687,18 @@ namespace ReallifeGamemode.Server.Events
return;
}
if(player.GetData<bool>("SellVehicleDecision") == true && player.HasData("VehicleToSell"))
if (player.GetData<bool>("SellVehicleDecision") == true && player.HasData("VehicleToSell"))
{
InteractionManager.SellServerVehicle(player, player.GetData<int>("VehicleToSell"));
player.ResetData("SellVehicleDecision");
player.ResetData("VehicleToSell");
player.ResetData("VehicleToSell");
return;
}
if(player.GetData<bool>("charSurgery") == true)
{
CharacterCreator.StartSurgery(player);
player.ResetData("charSurgery");
player.SetData("charSurgery",false);
}
User u = player.GetUser();
@@ -740,7 +781,7 @@ namespace ReallifeGamemode.Server.Events
[RemoteEvent("keyPress:K")]
public void KeyPressK(Player player)
{
if (!player.IsLoggedIn()) return;
if (!player.IsLoggedIn() || player.GetData<bool>("isDead")) return;
var user = player.GetUser();
if (user == null)
{
@@ -800,14 +841,14 @@ namespace ReallifeGamemode.Server.Events
[RemoteEvent("keyPress:L")]
public void KeyPressL(Player player)
{
if (!player.IsLoggedIn()) return;
if (!player.IsLoggedIn() || player.GetData<bool>("isDead")) return;
DoorManager.ChangeDoorState(player);
}
[RemoteEvent("keyPress:N")]
public void KeyPressN(Player player)
{
if (!player.IsLoggedIn()) return;
if (!player.IsLoggedIn() || player.GetData<bool>("isDead")) return;
if (player.GetData<bool>("healDecision") == true)
{
@@ -898,10 +939,10 @@ namespace ReallifeGamemode.Server.Events
VehicleStreaming.SetEngineState(v, !state);
}
[RemoteEvent("keyPress:X")]
[RemoteEvent("keyPress:Z")]
public void KeyPressX(Player player)
{
if (!player.IsLoggedIn()) return;
if (!player.IsLoggedIn() || player.GetData<bool>("isDead")) return;
if (!player.IsInVehicle)
{