When player in LOS if item and clicking on it - he will take it. When all events are triggered, I'm sending message to host (reliable ordered). On message I'm destroying object on host side
All sounds theoretically correct in this part until...
and broadcasting new message. In common on message, I'm destroying object to. All's working. But when new player connecting it can interact with this object - it's dissapearing only for players what were online.
Starting from this part, there are things that is unnecessary, destroy event concept is similar to creation event, you don't have to broadcast message to trigger destroy event, this is done by host. Broadcast message only when it is necessary, such as announcing the name of the peer and the item collected.
Furthermore, do not use create/destroy/spawn event in peer and common, these are restrictively host only event, whatever happen in peer will not be synced, unless you communicate the changes, which is unrecommended because you adding burden to the host.
I haven't looked at the capx, I'll look at it if I have some time later today.