function Trig_ItemSpecialPeopleOnly_Actions takes nothing returns boolean
local unit u = GetTriggerUnit()
local integer uid = GetUnitTypeId(u)
local item i = GetManipulatedItem()
local item itemid = GetItemTypeId()
if itemid == YourItemId and uid != IamSoSpecialId then //Checks if the item is a certain item-type and if the unit is not a certain unit-type
call UnitDropItemPoint(u,i,GetUnitX(u),GetUnitY(u))
call DisplayTextToPlayer(GetOwningPlayer(u),0,0,"Sorry, you're not special enough")
endif
set u = null
set i = null
return false
endfunction
//===========================================================================
function InitTrig_ItemSpecialPeopleOnly takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddAction(t,Condition(function Trig_ItemSpecialPeopleOnly_Actions))
endfunction