vlt fix surgery

This commit is contained in:
hydrant
2021-05-08 18:22:29 +02:00
parent 2ec2614530
commit e01acf7ab9
2 changed files with 40 additions and 34 deletions

View File

@@ -309,7 +309,7 @@ namespace ReallifeGamemode.Server.Events
player.SendNotification("Du bist nun ~g~im Dienst."); player.SendNotification("Du bist nun ~g~im Dienst.");
player.TriggerEvent("toggleDutyMode", true); player.TriggerEvent("toggleDutyMode", true);
player.TriggerEvent("abortSpawnschutz"); player.TriggerEvent("abortSpawnschutz");
if (player.GetUser().FactionId == 2) //Fire Department if (user.FactionId == 2) //Fire Department
{ {
Medic.UpdateDutyMedics(); Medic.UpdateDutyMedics();
} }
@@ -585,12 +585,29 @@ namespace ReallifeGamemode.Server.Events
} }
if (CharacterCreator.surgeryPoint.DistanceTo(player.Position) <= 1.5) if (CharacterCreator.surgeryPoint.DistanceTo(player.Position) <= 1.5)
{ {
var freeSurgery = player.GetUser().FreeSurgery; if (user.GetData<bool>("duty"))
if(freeSurgery == false && player.GetUser().BankAccount.Balance < 15000)
{ {
ChatService.ErrorMessage(player, "Du benötigst $15.000 auf dem Bankkonto um die Operation durchzuführen"); player.SendNotification("~r~Im Dienst kannst du nicht operiert werden", false);
return; return;
} }
if (JobBase.GetPlayerInJob().Contains(player))
{
player.SendNotification("~r~Im aktiven Job kannst du nicht operiert werden", false);
return;
}
if (user.Wanteds > 0)
{
player.SendNotification("~r~Wenn du gesucht wirst kannst du nicht operiert werden", false);
return;
}
var freeSurgery = user.FreeSurgery;
if (freeSurgery == false && user.BankAccount.Balance < CharacterCreator.SURGERY_PRICE)
{
ChatService.ErrorMessage(player, $"Du benötigst {CharacterCreator.SURGERY_PRICE.ToMoneyString()} 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."); 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"); ChatService.SendMessage(player, "Beim Wechsel des Geschlechts verlierst du ebenfalls deine gekaufte Kleidung");
if (freeSurgery == true) if (freeSurgery == true)
@@ -599,7 +616,7 @@ namespace ReallifeGamemode.Server.Events
} }
else else
{ {
ChatService.SendMessage(player, "Die Änderung des Charakters kostet ~g~$15.000"); ChatService.SendMessage(player, "Die Änderung des Charakters kostet ~g~" + CharacterCreator.SURGERY_PRICE.ToMoneyString());
} }
ChatService.SendMessage(player, "Du kannst die Charaktererstellung wieder verlassen und behältst deinen alten Charakter!"); ChatService.SendMessage(player, "Du kannst die Charaktererstellung wieder verlassen und behältst deinen alten Charakter!");
ChatService.SendMessage(player, "Bitte starte mit ~g~J"); ChatService.SendMessage(player, "Bitte starte mit ~g~J");
@@ -607,8 +624,11 @@ namespace ReallifeGamemode.Server.Events
player.SetData<bool>("charSurgery", true); player.SetData<bool>("charSurgery", true);
NAPI.Task.Run(() => NAPI.Task.Run(() =>
{ {
if (player.GetData<bool>("charSurgery") == true) player.ResetData("charSurgery"); if (player.GetData<bool>("charSurgery") == true)
player.SendNotification("~r~Chirurg-Angebot abgebrochen."); {
player.ResetData("charSurgery");
player.SendNotification("~r~Chirurg-Angebot abgebrochen.");
}
}, 30000); }, 30000);
} }
if (user.FactionLeader) if (user.FactionLeader)
@@ -695,10 +715,10 @@ namespace ReallifeGamemode.Server.Events
return; return;
} }
if(player.GetData<bool>("charSurgery") == true) if (player.GetData<bool>("charSurgery") == true)
{ {
CharacterCreator.StartSurgery(player); CharacterCreator.StartSurgery(player);
player.SetData("charSurgery",false); player.ResetData("charSurgery");
} }
User u = player.GetUser(); User u = player.GetUser();

View File

@@ -11,7 +11,8 @@ namespace ReallifeGamemode.Server.Managers
{ {
public class CharacterCreator : Script public class CharacterCreator : Script
{ {
public static Vector3 surgeryPoint = new Vector3(258.581, -1345.1406, 24.5378); public static Vector3 surgeryPoint = new Vector3(342.30032, -1397.7542, 32.50923);
public const int SURGERY_PRICE = 15000;
public CharacterCreator() public CharacterCreator()
{ {
@@ -184,8 +185,6 @@ namespace ReallifeGamemode.Server.Managers
saveCharacter.Characters.Add(character); saveCharacter.Characters.Add(character);
saveCharacter.SaveChanges(); saveCharacter.SaveChanges();
user.CharacterId = character.Id; user.CharacterId = character.Id;
if (genderSwap) if (genderSwap)
@@ -195,22 +194,6 @@ namespace ReallifeGamemode.Server.Managers
saveCharacter.SaveChanges(); saveCharacter.SaveChanges();
} }
for (var x = 1; x <= 11; x++)
{
var s = 0;
if (x == 10) s = -1;
if (x == 2) continue;
var createClothes = new Database.Entities.CharacterCloth()
{
UserId = userId,
Duty = false,
SlotType = 0,
SlotId = x,
ClothId = s,
Texture = 0
};
saveCharacter.CharacterClothes.Add(createClothes);
}
for (var x = 0; x <= 7; x++) for (var x = 0; x <= 7; x++)
{ {
var y = 0; var y = 0;
@@ -286,7 +269,7 @@ namespace ReallifeGamemode.Server.Managers
} }
else else
{ {
user.BankAccount.Balance -= 15000; user.BankAccount.Balance -= SURGERY_PRICE;
} }
saveCharacter.Remove(oldChar); saveCharacter.Remove(oldChar);
} }
@@ -318,6 +301,9 @@ namespace ReallifeGamemode.Server.Managers
player.TriggerEvent("draw", player.Name, player.Handle.Value); player.TriggerEvent("draw", player.Name, player.Handle.Value);
player.Dimension = 0; player.Dimension = 0;
} }
ApplyCharacter(player);
UpdateCharacterCloth.LoadCharacterDefaults(player);
} }
/// <summary> /// <summary>
@@ -551,7 +537,7 @@ namespace ReallifeGamemode.Server.Managers
public static void LeaveSurgery(Player player) public static void LeaveSurgery(Player player)
{ {
player.Dimension = 0; player.Dimension = 0;
player.SafeTeleport(new Vector3(258.581, -1345.1406, 24.5378), Main.DEFAULT_SPAWN_HEADING, true); player.SafeTeleport(surgeryPoint, -180, true);
ApplyCharacter(player); ApplyCharacter(player);
UpdateCharacterCloth.LoadCharacterDefaults(player); UpdateCharacterCloth.LoadCharacterDefaults(player);
} }