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

Нурхан

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

Вложения

  • IMG_20200826_004722.jpg
    IMG_20200826_004722.jpg
    10.2 KB · Просмотры: 12
В файле addon_game_mode.lua -> функция InitGameMode
Вот внутри нее добавь эту строку
 
Я прописал этот код но 3 тп которые были там переместились на 1 из 6 слотов. Блинк там появилось но надо было его купить. Можно сделать так что бы блин сразу там был?
 
Можно сделать так что бы блин сразу там был?
Просто дать его при спавне героя

Как-то так:
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
 
Бро чет не работает. Первый убрал
Код:
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
 
Извиняюсь. Не AddItem, а AddItemByName
И, видимо, начальные предметы выдаются уже после этого ивента, так что удалять их нужно с задержкой.
Если используешь библиотеку Timers, оно будет как-то так.

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