CustomGames.ru - Dota 2 пользовательские игры

Custom lone druid

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Captain_Pan

  • 21
  • Мощь: 0
Custom lone druid
« : 25-08-2015, 09:29:35 »
Ребят, плиз хелп. Сделал героя лон друида с 2-мя питомцами, волк и медведь, но появилась проблемка.
1.Ни лон друид ни медведь не могут закупаться в обычном магазине и брать предметы из тайника тоже. Волк может.
2. При повышении уровня скила или смерти у зверьков пропадают вещи.

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: Custom lone druid
« Ответ #1 : 25-08-2015, 11:03:25 »
Ребят, плиз хелп. Сделал героя лон друида с 2-мя питомцами, волк и медведь, но появилась проблемка.
1.Ни лон друид ни медведь не могут закупаться в обычном магазине и брать предметы из тайника тоже. Волк может.
2. При повышении уровня скила или смерти у зверьков пропадают вещи.
1. Наврятле ты сможешь сделать доступ к тайнику игрока от других юнитов.
2. Храни все вещи зверьков в переменной, при респавне давай им их.

Оффлайн Captain_Pan

  • 21
  • Мощь: 0
Re: Custom lone druid
« Ответ #2 : 26-08-2015, 01:26:35 »
1. Наврятле ты сможешь сделать доступ к тайнику игрока от других юнитов.
2. Храни все вещи зверьков в переменной, при респавне давай им их.
1. У волка есть доступ, а у самого героя нету.
2.Можно пример такой переменной? А то я еще чайник, в библиотеке доты пока не шарю(

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: Custom lone druid
« Ответ #3 : 26-08-2015, 05:46:26 »
1. У волка есть доступ, а у самого героя нету.
2.Можно пример такой переменной? А то я еще чайник, в библиотеке доты пока не шарю(
Код
function GetInventoryInTable(inventory_table, unit)
    if not unit then return end
    if not inventory_table then
        inventory_table = {}
    end

    local item
    for i = 0, 5 do
        item = GetItemInSlot(i)
        inventory_table[i] = item
    end
end
На вход функции даешь переменную(таблицу) в которую записывать собственно шмотки, потом при респавне в слушателе для npc_spawned проверяешь юнита на имя твоего волка/медведя, если совпадает то даешь предметы из таблицы.
Код
function AddInventoryToUnitFromTable(inventory_table, unit)
    if not unit then return end
    if not inventory_table then return end

    for i = 0, 5 do
    if inventory_table[i] then
        unit:AddItem(inventory_table[i])
        end
    end
end
ps. код писал на скорую руку, могут быть ошибки.