Данный гайд является дополнением этого гайда
Юнит будет возрождаться на месте появления !
Никаких точек - все просто и со вкусом ! ©Альберт Енштейн
О , теперь ты стал лучше !
Юнит будет возрождаться на месте появления !
Никаких точек - все просто и со вкусом ! ©Альберт Енштейн
Код:
"Respawn"
{
"BaseClass" "ability_datadriven"
"AbilityTextureName" "ability_name"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE|DOTA_ABILITY_BEHAVIOR_HIDDEN"
"OnCreated" //Когда юнит появляется
{
"RunScript" //Запускается скрипт
{
"ScriptFile" "scripts/vscripts/units.lua"
"Function" "Respoint"
}
}
"OnOwnerDied" //Когда юнит умирает
{
"RunScript" //Запускается скрипт
{
"ScriptFile" "scripts/vscripts/units.lua"
"Function" "Respawn"
}
}
}
Код:
function Respoint (keys )
Timers:CreateTimer(0.1,function()
local caster = keys.caster --пробиваем IP усопшего
caster.respoint = caster:GetAbsOrigin() -- определяем точку спавна
end)
end
function Respawn (keys )
local caster= keys.caster --пробиваем IP усопшего
local point = caster.respoint -- пробиваем адрес дома
local team= caster:GetTeamNumber() --пробиваем команду терпилы
local name= caster:GetUnitName() --Пробиваем имя покойного
Timers:CreateTimer(5,function() --Через сколько секунд появится новый фраер(5)
local unit = CreateUnitByName(name, point + RandomVector( RandomFloat( 0, 50)), true, nil, nil, team)
-- создаем нового пацыка по трем аргументам ( имя покойного ,адрес дома ,true,nil,nil,команда терпилы)
end)
end
О , теперь ты стал лучше !