diff --git a/NwPluginAPI/Core/Player.cs b/NwPluginAPI/Core/Player.cs
index 47475e0..d2d79aa 100644
--- a/NwPluginAPI/Core/Player.cs
+++ b/NwPluginAPI/Core/Player.cs
@@ -572,6 +572,37 @@ public string DisplayNickname
///
public string IpAddress => ReferenceHub.characterClassManager.connectionToClient.address;
+ ///
+ /// Gets or sets player's scale.
+ ///
+ public Vector3 Scale
+ {
+ get => GameObject.transform.localScale;
+ set
+ {
+ if (value == Scale)
+ return;
+
+ try
+ {
+ GameObject.transform.localScale = value;
+ foreach(var player in GetPlayers())
+ {
+ Server.SpawnMessage?.Invoke(null, new object[] { NetworkIdentity, player.Connection });
+ }
+ }
+ catch (Exception e)
+ {
+ Log.Error($"Error on {nameof(Scale)}: {e}");
+ }
+ }
+ }
+
+ ///
+ /// Gets player's .
+ ///
+ public NetworkIdentity NetworkIdentity => ReferenceHub.networkIdentity;
+
///
/// Gets or sets the player's current role.
///
@@ -679,7 +710,6 @@ public ItemBase CurrentItem
///
public RoomIdentifier Room => RoomIdUtils.RoomAtPosition(GameObject.transform.position);
-
///
/// Get player current zone.
///
@@ -713,7 +743,6 @@ public string RoleName
set => ReferenceHub.serverRoles.SetText(value);
}
-
///
/// Gets the player unit name.
///
diff --git a/NwPluginAPI/Core/Server.cs b/NwPluginAPI/Core/Server.cs
index 41e5643..dec4d50 100644
--- a/NwPluginAPI/Core/Server.cs
+++ b/NwPluginAPI/Core/Server.cs
@@ -10,6 +10,7 @@ namespace PluginAPI.Core
using RoundRestarting;
using static BanHandler;
using static Broadcast;
+ using System.Reflection;
///
/// Represents the server.
@@ -17,6 +18,7 @@ namespace PluginAPI.Core
public class Server : Player
{
private static Server _instance;
+ private static MethodInfo _sendSpawnMessage;
///
/// The instance.
@@ -104,6 +106,11 @@ public static int ReservedSlots
///
public static PermissionsHandler PermissionsHandler => ServerStatic.GetPermissionsHandler();
+ ///
+ /// Gets cached .SendSpawnMessage private method.
+ ///
+ public static MethodInfo SpawnMessage => _sendSpawnMessage ??= typeof(NetworkServer).GetMethod("SendSpawnMessage", BindingFlags.NonPublic | BindingFlags.Static);
+
///
/// Get actual ticks per second of the server.
///