http://rghost.ru/4888922 (пример на ГУИ) Если лень качать вот код
Code
function Trig_Nar_Conditions takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I001') == true ) ) then
return false
endif
return true
endfunction
function Trig_Nar_Func003C takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I001') == true ) ) then
return false
endif
if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I000') == true ) ) then
return false
endif
if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I000') == true ) ) then
return false
endif
if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I000') == true ) ) then
return false
endif
return true
endfunction
function Trig_Nar_Actions takes nothing returns nothing
// Проверяем условия. Герой должен обладать всеми предметами.
if ( Trig_Nar_Func003C() ) then
// Удаляем наши ресурсы(предметы(дерево и камень))
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I001') )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I001') )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I000') )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I000') )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I000') )
// Вайт, что бы не возникло случайного глюка
call TriggerSleepAction( 0.50 )
// Даем нашему герою предмет строительства (Дом Вождей)
call UnitAddItemByIdSwapped( 'tgrh', GetTriggerUnit() )
else
call DoNothing( )
endif
endfunction
//===========================================================================
function InitTrig_Nar takes nothing returns nothing
set gg_trg_Nar = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Nar, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_Nar, Condition( function Trig_Nar_Conditions ) )
call TriggerAddAction( gg_trg_Nar, function Trig_Nar_Actions )
endfunction