- 25 Окт 2025
- 2
- 0
- Проект
- fun
Задумка следующая: после смерти любого юнита он появляется на "базе" и идёт с войной на врагов
Реализовал следующим образом
Где-то в начале скрипта
local waypoint_custom_rad = Entities:FindByName(nil, "lane_mid_pathcorner_goodguys_1") -- объявляю путь для крипов
ListenToGameEvent('entity_killed', Dynamic_Wrap(self, 'resultOfDeath'), self) -- слушатель на смерть юнитов, вызывающий функцию
local killed_unit = EntIndexToHScript(data.entindex_killed) -- записываю мертвого юнита (не знаю зачем, только постигаю)
local custom_creep = CreateUnitByName(killed_unit:GetUnitName(), Vector(-3570.59, -37.0801, 299.343) + RandomVector(RandomFloat(50,200)), true, nil, nil, DOTA_TEAM_GOODGUYS) -- создаю крипа
custom_creep:SetInitialGoalEntity( waypoint_custom_rad ) -- направляю крипа с войной на врагов
Загвоздка в том, что это всё работает ТОЛЬКО после script_reload в консоль. Я перезапускал игру, делал build, всё равно один конец
Появилась мысль, что игра не успевает присвоить переменной waypoint_custom_rad позицию, так как она загружается позже, хотел записать это в прекеш, но столкнулся с тем, что я не знаю как с ним работать.
Вопрос следующий: как с минимальными потерями личного состава заставить крипов идти на вражину
Реализовал следующим образом
Где-то в начале скрипта
local waypoint_custom_rad = Entities:FindByName(nil, "lane_mid_pathcorner_goodguys_1") -- объявляю путь для крипов
ListenToGameEvent('entity_killed', Dynamic_Wrap(self, 'resultOfDeath'), self) -- слушатель на смерть юнитов, вызывающий функцию
local killed_unit = EntIndexToHScript(data.entindex_killed) -- записываю мертвого юнита (не знаю зачем, только постигаю)
local custom_creep = CreateUnitByName(killed_unit:GetUnitName(), Vector(-3570.59, -37.0801, 299.343) + RandomVector(RandomFloat(50,200)), true, nil, nil, DOTA_TEAM_GOODGUYS) -- создаю крипа
custom_creep:SetInitialGoalEntity( waypoint_custom_rad ) -- направляю крипа с войной на врагов
Загвоздка в том, что это всё работает ТОЛЬКО после script_reload в консоль. Я перезапускал игру, делал build, всё равно один конец
Появилась мысль, что игра не успевает присвоить переменной waypoint_custom_rad позицию, так как она загружается позже, хотел записать это в прекеш, но столкнулся с тем, что я не знаю как с ним работать.
Вопрос следующий: как с минимальными потерями личного состава заставить крипов идти на вражину
