Замета свитка телепортаций

Нурхан

Пользователь
21 Июл 2020
38
0
Проект
Castom MORO
Ребят подскажите как и с скакого скрипта изменить этот слот у всех героев? Я хочу этот свиток телепорта заменить на блинк даггер. У меня чет знаний нехватает
 

Вложения

  • IMG_20200826_004722.jpg
    IMG_20200826_004722.jpg
    10.2 KB · Просмотры: 10

lars

Пользователь
7 Июн 2019
10
3
В файле addon_game_mode.lua -> функция InitGameMode
Вот внутри нее добавь эту строку
 

Нурхан

Пользователь
21 Июл 2020
38
0
Проект
Castom MORO
Я прописал этот код но 3 тп которые были там переместились на 1 из 6 слотов. Блинк там появилось но надо было его купить. Можно сделать так что бы блин сразу там был?
 

lars

Пользователь
7 Июн 2019
10
3
Можно сделать так что бы блин сразу там был?
Просто дать его при спавне героя

Как-то так:
Lua:
function название_мода:InitGameMode()
    ---------------------------------------------------------------------------     
    GameRules:GetGameModeEntity():SetTPScrollSlotItemOverride("item_blink")     
    ListenToGameEvent("npc_spawned", Dynamic_Wrap(self, 'OnUnitSpawned'), self)
    ---------------------------------------------------------------------------       
end

function название_мода:OnUnitSpawned(event)
    local hHero = EntIndexToHScript(event.entindex)
    if hHero and hHero:IsRealHero() and not hHero.bSpawned then
        hHero:AddItem("item_blink")

        -- если хочешь чтобы свитки телепортации удалялись раскомментируй строки ниже
        -- local hTpScroll = hHero:FindItemInInventory("item_tpscroll")
        -- if hTpScroll then hHero:RemoveItem(hTpScroll) end

        hHero.bSpawned = true
    end 
end
 

Нурхан

Пользователь
21 Июл 2020
38
0
Проект
Castom MORO
Бро чет не работает. Первый убрал
Код:
function CAddonTemplateGameMode:InitGameMode()
    ---------------------------------------------------------------------------     
    GameRules:GetGameModeEntity():SetTPScrollSlotItemOverride("item_blink")     
    ListenToGameEvent("npc_spawned", Dynamic_Wrap(self, 'OnUnitSpawned'), self)
    ---------------------------------------------------------------------------       
end

function CAddonTemplateGameMode:OnUnitSpawned(event)
    local hHero = EntIndexToHScript(event.entindex)
    if hHero and hHero:IsRealHero() and not hHero.bSpawned then
        hHero:AddItem("item_blink")

        -- если хочешь чтобы свитки телепортации удалялись раскомментируй строки ниже
        local hTpScroll = hHero:FindItemInInventory("item_tpscroll")
        if hTpScroll then hHero:RemoveItem(hTpScroll)
        end

        hHero.bSpawned = true
    end
end
 

lars

Пользователь
7 Июн 2019
10
3
Извиняюсь. Не AddItem, а AddItemByName
И, видимо, начальные предметы выдаются уже после этого ивента, так что удалять их нужно с задержкой.
Если используешь библиотеку Timers, оно будет как-то так.

Lua:
Timers:CreateTimer(
        1,
        function()
            local hTpScroll = hHero:FindItemInInventory("item_tpscroll")
            if hTpScroll then hHero:RemoveItem(hTpScroll) end
        end
    )
 
Последнее редактирование:

Нурхан

Пользователь
21 Июл 2020
38
0
Проект
Castom MORO
Я прописал это
Код:
GameRules:GetGameModeEntity():SetTPScrollSlotItemOverride("item_blink")
а потом
Код:
Timers:CreateTimer(
        1,
        function()
            local hTpScroll = hHero:FindItemInInventory("item_tpscroll")
            if hTpScroll then hHero:RemoveItem(hTpScroll) end
        end
    )
чет тп свитки остались. Блинк я решил через покупку сделать
 
Последнее редактирование:
Реклама: