diff --git a/ReallifeGamemode.Server/Entities/User.cs b/ReallifeGamemode.Server/Entities/User.cs index a4c0c12e..3c4b5a0d 100644 --- a/ReallifeGamemode.Server/Entities/User.cs +++ b/ReallifeGamemode.Server/Entities/User.cs @@ -1,4 +1,5 @@ using GTANetworkAPI; +using Newtonsoft.Json; using ReallifeGamemode.Server.Models; using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Util; @@ -161,5 +162,20 @@ namespace ReallifeGamemode.Server.Entities { get => NAPI.Player.GetPlayerFromName(this.Name); } + + internal T GetData(string key, T nullValue) + { + key += "data_"; + if (!Client.HasData(key)) return nullValue; + return JsonConvert.DeserializeObject(Client.GetData(key)); + } + + internal T GetData(string key) => GetData(key, default); + + internal void SetData(string key, object value) + { + key += "data_"; + Client.SetData(key, JsonConvert.SerializeObject(value)); + } } }