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

кастомный хиро №2

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

Оффлайн DarkShame

  • 9
  • Мощь: 0
кастомный хиро №2
« : 14-09-2016, 15:16:48 »
не выходит удалить остатки старндартных героев, что-бы я ни писал в скрипте.

вот последний вариант кода:

Код
-- Create the game mode when we activate
function Activate()
GameRules.CustomAddon = CustomGameMode()
GameRules.CustomAddon:InitGameMode()
end

function CustomGameMode:InitGameMode()
    ListenToGameEvent("npc_spawned",Dynamic_Wrap(GameMode,"OnNPCSpawned"),self )
end

function GameMode:OnNPCSpawned(event)
   local spawnedUnit = EntIndexToHScript(event.entindex)
   if spawnedUnit:IsRealHero() then
      OnHeroSpawn(spawnedUnit)
   end
end

function OnHeroSpawn(spawned_hero)
   local hero = spawned_hero
   local children = hero:GetChildren()
   if children then
      for k,child in pairs(children) do
         if child:GetClassname() == "dota_item_wearable" then
             UTIL_Remove(child)
        end
      end
     end
end

и мой кв:

"DOTAHeroes"
{
  "npc_dota_hero_sina"
  {
    "override_hero" "npc_dota_hero_templar_assassin"
    "Model"         "models/sina.vmdl"
    "ItemSlots"
    {}
   
  }
}

может что-то в хаммере дополнительно сделать?


Оффлайн I_GRIN_I

  • Продвинутый
  • 616
  • Мощь: 11
  • Научиться бы скриптить...
Re: кастомный хиро №2
« Ответ #1 : 14-09-2016, 16:00:14 »
DarkShame, помоему вещи, которые видно на меню пика нельзя убрать. У тебя же удаляются вещи в самой игре или нет?

Оффлайн DarkShame

  • 9
  • Мощь: 0
Re: кастомный хиро №2
« Ответ #2 : 14-09-2016, 16:03:14 »
I_GRIN_I, нет

Оффлайн I_GRIN_I

  • Продвинутый
  • 616
  • Мощь: 11
  • Научиться бы скриптить...
Re: кастомный хиро №2
« Ответ #3 : 14-09-2016, 16:44:34 »
DarkShame, поменяй все GameMode на CustomGameMode

Оффлайн DarkShame

  • 9
  • Мощь: 0
Re: кастомный хиро №2
« Ответ #4 : 14-09-2016, 19:12:09 »
I_GRIN_I, не помогло. может дело в этой функции?
Код
function Activate()
GameRules.CustomAddon = CustomGameMode()
GameRules.CustomAddon:InitGameMode()
end

может взять обычный addon_game_mode.lua и добавить к нему этот луа через require( "lua_filename_here" ) ?
или уже будет проще, что бы кто-то скинул рабочий скрипт, а я по нему разобрался  :-X
« Последнее редактирование: 14-09-2016, 19:47:52 от DarkShame »

Оффлайн I_GRIN_I

  • Продвинутый
  • 616
  • Мощь: 11
  • Научиться бы скриптить...
Re: кастомный хиро №2
« Ответ #5 : 14-09-2016, 20:07:26 »
DarkShame, на тебе addon_game_mode
Код
if CustomGameMode == nil then
   CustomGameMode = class({})
end
function Precache( context )
end
function Activate()
   GameRules.AddonTemplate = CustomGameMode()
   GameRules.AddonTemplate:InitGameMode()
end
function CustomGameMode:InitGameMode()
    ListenToGameEvent("npc_spawned",Dynamic_Wrap(CustomGameMode,"OnNPCSpawned"),self )
end
function CustomGameMode:OnNPCSpawned(event)
   local spawnedUnit = EntIndexToHScript(event.entindex)
   if spawnedUnit:IsRealHero() then
      OnHeroSpawn(spawnedUnit)
   end
end
function OnHeroSpawn(spawned_hero)
   local hero = spawned_hero
   local children = hero:GetChildren()
   if children then
      for k,child in pairs(children) do
         if child:GetClassname() == "dota_item_wearable" then
             UTIL_Remove(child)
        end
      end
     end
end

Оффлайн DarkShame

  • 9
  • Мощь: 0
Re: кастомный хиро №2
« Ответ #6 : 14-09-2016, 20:42:38 »
I_GRIN_I,  заработало!!!  :o  спасибо, бро  :)