Можно ли как-нибудь сделать так, чтобы предмет был в инвентаре героя изначально и его не нужно было подбирать?

Событие: Generic unit Завершает подготовку боевой единицы
Условие: (Trained unit) равно Герой равно Да
Действие: Герой - Give (item) to (Trained unit)
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
Ты так описал, что я тоже запутался. Но реализовать это можно только заменой скиллов. Чтобы душа не терялась, нужно хранить её в отдельной переменной (или в Custom Value юнита, например) и в зависимости от значения переменной ставить нужную версию скилла.

3
А можно сделать это как-нибудь без jass? Через триггеры или редактор объектов, например.
26
Событие: Generic unit Завершает подготовку боевой единицы
Условие: (Trained unit) равно Герой равно Да
Действие: Герой - Give (item) to (Trained unit)
Принятый ответ
21
по идее есть же функция гуишная давать тренированным героям свиток портала
просто один раз достаточно при айните и всем дает
можно с ней пошаманить попробовать
по идее если свиток портала во что-то переделать это что-то и должно будет даваться
ну и раз такая функция есть, то при крайней нужде теоретически должно быть возможно хакнуть редактор и сделать подобное для любого предмета, просто овчинка вряд ли стоит выделки
28
ClotPh, эта функция просто создаёт триггер описанный выше
если что, то триггеры можно создавать не только через кнопку "создать триггер"
21
ClotPh, там свиток даётся только первому юниту, если не изменить значение переменной.
globals
	integer bj_MELEE_MAX_TWINKED_HEROES = 0
endglobals

function MeleeGrantItemsToHero takes unit whichUnit returns nothing
    local integer owner   = GetPlayerId(GetOwningPlayer(whichUnit))

    // If we haven't twinked N heroes for this player yet, twink away.
    if (bj_meleeTwinkedHeroes[owner] < bj_MELEE_MAX_TWINKED_HEROES) then
        call UnitAddItemById(whichUnit, 'stwp')
        set bj_meleeTwinkedHeroes[owner] = bj_meleeTwinkedHeroes[owner] + 1
    endif
endfunction

function MeleeGrantItemsToTrainedHero takes nothing returns nothing
    call MeleeGrantItemsToHero(GetTrainedUnit())
endfunction

function MeleeGrantHeroItems takes nothing returns nothing
    local integer index
    local trigger trig

    // Initialize the twinked hero counts.
    set index = 0
    loop
        set bj_meleeTwinkedHeroes[index] = 0

        set index = index + 1
        exitwhen index == bj_MAX_PLAYER_SLOTS
    endloop

    // Register for an event whenever a hero is trained, so that we can give
    // him/her their starting items.
    set index = 0
    loop
        set trig = CreateTrigger()
        call TriggerRegisterPlayerUnitEvent(trig, Player(index), EVENT_PLAYER_UNIT_TRAIN_FINISH, filterMeleeTrainedUnitIsHeroBJ)
        call TriggerAddAction(trig, function MeleeGrantItemsToTrainedHero)

        set index = index + 1
        exitwhen index == bj_MAX_PLAYERS
    endloop

    // Register for an event whenever a neutral hero is hired, so that we
    // can give him/her their starting items.
    set trig = CreateTrigger()
    call TriggerRegisterPlayerUnitEvent(trig, Player(PLAYER_NEUTRAL_PASSIVE), EVENT_PLAYER_UNIT_SELL, filterMeleeTrainedUnitIsHeroBJ)
    call TriggerAddAction(trig, function MeleeGrantItemsToHiredHero)

    // Flag that we are giving starting items to heroes, so that the melee
    // starting units code can create them as necessary.
    set bj_meleeGrantHeroItems = true
endfunction
Чтобы оставить комментарий, пожалуйста, войдите на сайт.