.changeDatablock requires a client value as the last arg, because it's an event function.
So %client.player.changeDatablock(RP_Critical_Player,%client); should probably work.
If not, %client.player.setDatablock(RP_Critical_Player); will work, but might cause some problems.