Here’s how you use code tags on the forum:
You haven’t’ posted where CmdChangeWeapon gets called, or if RpcChangeWeapon is only ever called from that command. I’m going to assume that you are calling CmdChangeWeapon when a new player is created. If that is the case then later players will never see the weapons of earlier players, since RPC’s are not cached. Only clients that are connected at the time the RPC is called will receive it.
You could change your system so it works off of a syncvar and runs out of start so all newly connecting players will know what weapon to setup, or you could call the RPC every time a new player connects.