Finalize Surgery
This commit is contained in:
@@ -552,7 +552,23 @@ namespace ReallifeGamemode.Server.Events
|
||||
}
|
||||
if (CharacterCreator.surgeryPoint.DistanceTo(player.Position) <= 1.5)
|
||||
{
|
||||
CharacterCreator.StartSurgery(player);
|
||||
var freeSurgery = player.GetUser().FreeSurgery;
|
||||
if(freeSurgery == false && player.GetUser().BankAccount.Balance < 15000)
|
||||
{
|
||||
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");
|
||||
if (freeSurgery == true)
|
||||
{
|
||||
ChatService.SendMessage(player, "Du kannst deinen Charakter dieses mal kostenlos erstellen");
|
||||
}
|
||||
else
|
||||
{
|
||||
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");
|
||||
player.SetData<bool>("charSurgery", true);
|
||||
}
|
||||
if (user.FactionLeader)
|
||||
{
|
||||
@@ -638,6 +654,12 @@ namespace ReallifeGamemode.Server.Events
|
||||
return;
|
||||
}
|
||||
|
||||
if(player.GetData<bool>("charSurgery") == true)
|
||||
{
|
||||
CharacterCreator.StartSurgery(player);
|
||||
player.ResetData("charSurgery");
|
||||
}
|
||||
|
||||
User u = player.GetUser();
|
||||
|
||||
if (u.JobId == null) return;
|
||||
|
||||
@@ -79,7 +79,7 @@ namespace ReallifeGamemode.Server.Events
|
||||
currentPlayerCreatorDimension++;
|
||||
NAPI.Data.SetWorldData("playerCreatorDimension", currentPlayerCreatorDimension);
|
||||
player.Dimension = NAPI.Data.GetWorldData("playerCreatorDimension");
|
||||
player.TriggerEvent("toggleCreator");
|
||||
player.TriggerEvent("toggleCreator",false);
|
||||
player.SafeTeleport(new Vector3(402.8664, -996.4108, -99.00027));
|
||||
//player.Position = new Vector3(user.PositionX, user.PositionY, user.PositionZ);
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Events;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
|
||||
namespace ReallifeGamemode.Server.Managers
|
||||
@@ -31,6 +32,21 @@ namespace ReallifeGamemode.Server.Managers
|
||||
[RemoteEvent("creatorSave")]
|
||||
public void CreatorSave(Player player, bool gender, string parentData, string featureData, string appearanceData, string hairAndColorData)
|
||||
{
|
||||
|
||||
var charExists = false;
|
||||
var genderSwap = false;
|
||||
|
||||
var cUser = player.GetUser();
|
||||
|
||||
if (cUser.CharacterId != null)
|
||||
{
|
||||
charExists = true;
|
||||
if(cUser.Character.Gender != gender)
|
||||
{
|
||||
genderSwap = true;
|
||||
}
|
||||
}
|
||||
|
||||
var jParentData = JObject.Parse(parentData);
|
||||
var jFeatureData = JArray.Parse(featureData);
|
||||
var jAppearanceData = JArray.Parse(appearanceData);
|
||||
@@ -161,14 +177,26 @@ namespace ReallifeGamemode.Server.Managers
|
||||
ChestHairColor = chestHairColor
|
||||
};
|
||||
|
||||
|
||||
saveCharacter.Characters.Add(character);
|
||||
saveCharacter.SaveChanges();
|
||||
|
||||
var userId = player.GetUser().Id;
|
||||
var user = saveCharacter.Users.SingleOrDefault(u => u.Id == userId);
|
||||
var user = saveCharacter.Users.SingleOrDefault(u => u.Id == userId);
|
||||
|
||||
user.CharacterId = character.Id;
|
||||
|
||||
if (genderSwap)
|
||||
{
|
||||
var charClothes = saveCharacter.CharacterClothes.Where(c => c.UserId == user.Id);
|
||||
|
||||
foreach(var cloth in charClothes)
|
||||
{
|
||||
saveCharacter.Remove(cloth);
|
||||
saveCharacter.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
||||
for (var x = 1; x <= 11; x++)
|
||||
{
|
||||
var s = 0;
|
||||
@@ -232,16 +260,19 @@ namespace ReallifeGamemode.Server.Managers
|
||||
break;
|
||||
};
|
||||
}
|
||||
var createClothes = new Database.Entities.CharacterCloth()
|
||||
if (!charExists || genderSwap)
|
||||
{
|
||||
UserId = userId,
|
||||
Duty = false,
|
||||
SlotType = 1,
|
||||
SlotId = x,
|
||||
ClothId = y,
|
||||
Texture = 0
|
||||
};
|
||||
saveCharacter.CharacterClothes.Add(createClothes);
|
||||
var createClothes = new Database.Entities.CharacterCloth()
|
||||
{
|
||||
UserId = userId,
|
||||
Duty = false,
|
||||
SlotType = 1,
|
||||
SlotId = x,
|
||||
ClothId = y,
|
||||
Texture = 0
|
||||
};
|
||||
saveCharacter.CharacterClothes.Add(createClothes);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -249,6 +280,12 @@ namespace ReallifeGamemode.Server.Managers
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (charExists)
|
||||
{
|
||||
user.BankAccount.Balance -= 15000;
|
||||
if(user.FreeSurgery == true) user.FreeSurgery = false;
|
||||
}
|
||||
saveCharacter.SaveChanges();
|
||||
}
|
||||
//HeadOverlay makeupHo = new HeadOverlay()
|
||||
@@ -270,6 +307,12 @@ namespace ReallifeGamemode.Server.Managers
|
||||
player.SafeTeleport(Main.DEFAULT_SPAWN_POSITION, Main.DEFAULT_SPAWN_HEADING, true);
|
||||
player.TriggerEvent("draw", player.Name, player.Handle.Value);
|
||||
player.Dimension = 0;
|
||||
|
||||
if (charExists)
|
||||
{
|
||||
ApplyCharacter(player);
|
||||
UpdateCharacterCloth.LoadCharacterDefaults(player);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -424,6 +467,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
}
|
||||
public static void StartSurgery(Player player)
|
||||
{
|
||||
/*
|
||||
Character c = player.GetUser().GetCharacter();
|
||||
|
||||
var PlayerCharacterData = new
|
||||
@@ -487,7 +531,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
BlushColor = c.BlushColor,
|
||||
LipstickColor = c.LipstickColor,
|
||||
ChestHairColor = c.ChestHairColor
|
||||
};
|
||||
};*/
|
||||
|
||||
var currentPlayerCreatorDimension = (uint)NAPI.Data.GetWorldData("playerCreatorDimension");
|
||||
currentPlayerCreatorDimension++;
|
||||
@@ -495,7 +539,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
player.Dimension = NAPI.Data.GetWorldData("playerCreatorDimension");
|
||||
player.SafeTeleport(new Vector3(266.472, -1339.1357, 24.5378));
|
||||
player.Heading = 146.35101f;
|
||||
player.TriggerEvent("toggleSurgery", JsonConvert.SerializeObject(PlayerCharacterData));
|
||||
player.TriggerEvent("toggleCreator", true);
|
||||
}
|
||||
|
||||
[RemoteEvent("surgeryLeave")]
|
||||
@@ -504,6 +548,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
player.Dimension = 0;
|
||||
player.SafeTeleport(new Vector3(258.581, -1345.1406, 24.5378), Main.DEFAULT_SPAWN_HEADING, true);
|
||||
ApplyCharacter(player);
|
||||
UpdateCharacterCloth.LoadCharacterDefaults(player);
|
||||
}
|
||||
[RemoteEvent("SaveSurgery")]
|
||||
public static void SaveSurgery(Player player, bool gender, string parentData, string featureData, string appearanceData, string hairAndColorData)
|
||||
|
||||
Reference in New Issue
Block a user