////////////////////////////////////Variables/////////////////////////////////////// function itams takes nothing returns nothing //Предметы и их герои set items[1] = 'ratf' set heroitem[1] = 'H000' set typeitem[1] = "weapon" //////////////////////////////////////// set MaxItems = 1 set codeword[1] = "weapon" set codeword[2] = "armor" set codeword[3] = "helmet" endfunction
///////////////////////////Основное///////////////////////////////////////// function GetItem takes nothing returns nothing // берем предмет получаем героя local integer index = 0 local integer i = 0 local item ite = GetManipulatedItem() local integer id = GetPlayerId(GetOwningPlayer(GetTriggerUnit())) local location point = GetUnitLoc(GetTriggerUnit())
set index =1 loop exitwhen index > MaxItems if items[index] == GetItemTypeId(ite) then // проверка на то, есть ли этот предмет в списке call RemoveItem(ite) // забираем предмет и.. call CreateUnitAtLoc(Player(id), heroitem[index],point,GetRandomReal(0.00,360.00)) // создаем героя call RemoveLocation(point) // устраняем утечки set i = 1 loop exitwhen i > MaxItems if typeitem[i] == codeword[i] then set haveinv[id*i] = true // заполненость (чтобы не взять 5 мечей сразу к примеру или 3 брони итд) endif set i = i+1 endloop endif set index = index+1 endloop