Не могу убрать косметические предметы.

Роман

Активный
12 Май 2016
88
0
Ошибка в консоли
Код:
[ W VScript       ]: Script Runtime Error: ...ta_addons\barebones\scripts\vscripts\addon_game_mode.lua:57: attempt to index global 'hero' (a nil value)
[ W VScript       ]: stack traceback:
[ W VScript       ]: 	...ta_addons\barebones\scripts\vscripts\addon_game_mode.lua:57: in main chunk
[ W VScript       ]: Error running script named addon_game_mode
Скрипт

Код:
57. local children = hero:GetChildren()
58. for k,child in pairs(children) do
59.  if child:GetClassname() == "dota_item_wearable" then
60.    child:RemoveSelf()
61.  end
62. end
 
Последнее редактирование модератором:
"DisableWearables" "1"
 
Последнее редактирование модератором:
Я так понял, что id перса равно nil потому, что я его не пикнул. Но я закинул этот код в функцию OnNpcSpawned и поставил прослушку на спавн,так я не понял эта функция выполняет код, до респавна или после?
 
Все сделал, но есть новая проблема, когда герой спавниться у него происходит 1 анимация в списке анимаций моделей и все больше нет анимации, но если перс респавниться после смерти или командой респавн все становиться норм и анимации начинают работать, в чем проблема?
 
Все сделал, но есть новая проблема, когда герой спавниться у него происходит 1 анимация в списке анимаций моделей и все больше нет анимации, но если перс респавниться после смерти или командой респавн все становиться норм и анимации начинают работать, в чем проблема?
Тебе ответили
"DisableWearables" "1"
 
Последнее редактирование модератором:
Да, а куда это "DisableWearables" "1"?
 
Последнее редактирование модератором:
Lua:
function CAddonTemplateGameMode:InitGameMode()
	print( "Template addon is loaded." )
	GameRules:GetGameModeEntity():SetThink( "OnThink", self, "GlobalThink", 2 )
	
	ListenToGameEvent("npc_spawned", Dynamic_Wrap( CAddonTemplateGameMode, "Event_Hero_Spawned" ), self);
end

function CAddonTemplateGameMode:Event_Hero_Spawned(eventInfo)
	local hero = EntIndexToHScript(eventInfo.entindex);
	
	if hero ~= nil and hero:IsHero() then
		local children = hero:GetChildren();
		for k,child in pairs(children) do
			if child:GetClassname() == "dota_item_wearable" then
				child:RemoveSelf();
			end
		end
	end
end
 
Последнее редактирование модератором:
Реклама: