Heres a code to do it, not sure if theres an easier way, but it works
Event
Unit - A unit Acquires an item
Condition
(Unit-type of (Hero manipulating item)) equal to (ranger)
(Item-type of (Item being manipulated)) Equal to (your bow here as an item)
Actions
Set LootCheck(this being a variable, integer with 0(default)=0)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions
If ((Item-type of (Item carried by (Hero manipulating item) in slot (Integer A))) Equal to !!Your bow here!!) then (Set LootCheck = (LootCheck + 1)) else do (Do nothing)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
LootCheck Greater than 1
Then - Actions
Hero - Drop (Item being manipulated) from (Hero manipulating item)
Game - Display to (Player group((Owner of (Hero manipulating item)))) for 3.00 seconds the text: You can't carry two bows.(or what ever text here)
Else - Actions
Do nothing
Set LootCheck = 0
There ya go, that should work, if not sorry bout it.
In the red is where you must add all your bows... so if you have 50 youd hafta put all of them except the bow thats being picked up. So im not sure if theres an easy way if there is PLEASE post it