public void RequestDroppedItem(int Id, string Guid) { if (Self.GetTree().GetNetworkPeer() != null) { if (Self.GetTree().IsNetworkServer()) { //On server DroppedItem Item = EntitiesRoot.GetNodeOrNull(Guid) as DroppedItem; if (Item != null) //Only lookup node once instead of using HasNode { if (Id == Net.Work.GetNetworkUniqueId()) { Game.PossessedPlayer.PickupItem(Item.Type); } else { Net.Players[Id].RpcId(Id, nameof(Player.PickupItem), Item.Type); } Net.SteelRpc(this, nameof(RemoveDroppedItem), Item.GetName()); RemoveDroppedItem(Item.GetName()); } } else { //Not on server, call on server Self.RpcId(Net.ServerId, nameof(RequestDroppedItem), Id, Guid); } } }