public static void Postfix(PlayerMovementSync __instance) { try { if (Pets.TryGetValue(__instance._hub, out var pets)) { var position = __instance.RealModelPosition; Timing.CallDelayed(0.25f, () => { foreach (var pet in pets) { var rotation = Quaternion.LookRotation(__instance.RealModelPosition - pet.playerMovementSync._realModelPosition); pet.playerMovementSync.Rotations = new Vector2(rotation.eulerAngles.x, rotation.eulerAngles.y); if (Vector3.Distance(position, __instance.RealModelPosition) <= 0.5) { continue; } pet.playerMovementSync._realModelPosition = position; } }); } } catch (Exception e) { Logger.Error(e); } }
public static void Spawn(ReferenceHub player) { if (player.isDedicatedServer) { return; } Logger.Info($"Spawning {player.nicknameSync.MyNick}"); player.characterClassManager.SetPlayersClass(Instance.Configuration.Role, player.gameObject); player.playerMovementSync.OverridePosition(Instance.Configuration.Position); if (Instance.Configuration.GiveItems) { player.inventory.AddNewItem(ItemType.GunUSP); player.ammoBox[(int)AmmoType._9] = 100; player.inventory.AddNewItem(ItemType.GunE11SR); player.ammoBox[(int)AmmoType._762] = 100; player.inventory.AddNewItem(ItemType.GunLogicer); player.ammoBox[(int)AmmoType._556] = 100; } }