Depend on what you want, if you want to let players choose to use it or not, then, you should use keyvalue (+ you save an entity).
But what is sure is that fm_give_item is useless in this plugin (and strings checks in fm_give_item stock)
Best to do IMO is to release 2 versions of the plugin.
Agreed fm_give_item is pointless. I think arkshine misunderstood the "set physic keyvalue", altering game_player_equip directly is not more efficient here. I don't agree with releasing 2 versions though for something like this.