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

нужна помошь с луа абилкой

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

Оффлайн LooziPoK

  • 7
  • Мощь: 0
у меня в кастомке есть способность которая меняет одного героя на другого с помощью функции ReplaceHeroWith() , но проблема в том, что новый герой не может использовать предметы старого
Код одной из таких абилок


function evo_alpha(event)
   
   local Caster = event.caster
   local player = Caster:GetPlayerOwner()
   local hero = Caster:GetUnitName()
   local heroLevel = Caster:GetLevel()
   
   if hero == "npc_dota_hero_bloodseeker" and heroLevel >= 8 then

      local gold = 0
      gold = Caster:GetGold()   

      PrecacheUnitByNameAsync("npc_dota_hero_mirana", function()
         PlayerResource:ReplaceHeroWith(Caster:GetPlayerID(), "npc_dota_hero_mirana", gold, 800 )
         
         
         end, player:GetPlayerID())

      
   end
end


Если кто ни будь знает как сделать так что бы после использования этой абилки предметы не удалялись и их можно было использовать можете мне объяснить?
« Последнее редактирование: 17-08-2016, 17:11:50 от LooziPoK »

Оффлайн I_GRIN_I

  • Продвинутый
  • 528
  • Мощь: 9
  • Научиться бы скриптить...
Re: нужна помошь с луа абилкой
« Ответ #1 : 17-08-2016, 18:52:39 »
LooziPoK, перед тем как менять героя чекаешь все слоты на старом и записываешь все айтемы в таблицу, после замены героя добавляешь каждый айтем из таблицы на свое место.

Оффлайн LooziPoK

  • 7
  • Мощь: 0
Re: нужна помошь с луа абилкой
« Ответ #2 : 17-08-2016, 20:43:16 »
LooziPoK, перед тем как менять героя чекаешь все слоты на старом и записываешь все айтемы в таблицу, после замены героя добавляешь каждый айтем из таблицы на свое место.

я пробовал заносить айтамы в массив через GetItemInSlot() ,а потом из массива брать их с помощью AddItem()
но у меня нечего не вышло

Оффлайн CryDeS

  • Друзья CG
  • 1208
  • Мощь: 12
Re: нужна помошь с луа абилкой
« Ответ #3 : 18-08-2016, 08:26:34 »
я пробовал заносить айтамы в массив через GetItemInSlot() ,а потом из массива брать их с помощью AddItem()
но у меня нечего не вышло
Попробуй, ты правильно мыслишь.
Только перед AddItem нужно будет создать предмет через CreateItem.