You don't need VCE to change a player's score. There is a default incscore event.
VCE is needed, as you'd need a way to check whether a player has enough points to buy anything.
Here is the most basic of events using only the VCE event mod.
[0] [x] [0] [Onactivate] [Self] [VCE_Ifvalue] [<var:cl:score>] [>=] [5] [1 4]
[1] [x] [0] [Onvariabletrue] [Client] [Incscore] [-5]
[2] [x] [0] [Onvariabletrue] [Client] [Centerprint] [You have purchased the bow] [3]
[3] [x] [0] [Onvariabletrue] [Player] [Additem] [Bow]
[4] [x] [0] [Onvariablefalse] [Client] [Centerprint] [You do not have enough points for the bow] [3]
Again, this is as basic as it comes. You can add flare and pizzazz to fit it into what you are making, such as allowing the player to buy the item once, but be able to select it multiple times.
Happy eventing!