Добавлен ArtiLD
Почему через триггер вместо постоянных трупов создаются скелеты, которые пропадают через сек 5? Я указывал неразложившийся , но серавно. Как-то раз было нормально... что подскажете?
Принятый ответ
Вот код, который создаёт "постоянного" трупа.
раскрыть
function CreatePermanentCorpseLocBJ takes integer style, integer unitid, player whichPlayer, location loc, real facing returns unit
set bj_lastCreatedUnit = CreateCorpse(whichPlayer, unitid, GetLocationX(loc), GetLocationY(loc), facing)
call SetUnitBlendTime(bj_lastCreatedUnit, 0)
if (style == bj_CORPSETYPE_FLESH) then
call SetUnitAnimation(bj_lastCreatedUnit, "decay flesh")
call GroupAddUnit(bj_suspendDecayFleshGroup, bj_lastCreatedUnit)
elseif (style == bj_CORPSETYPE_BONE) then
call SetUnitAnimation(bj_lastCreatedUnit, "decay bone")
call GroupAddUnit(bj_suspendDecayBoneGroup, bj_lastCreatedUnit)
else
// Unknown decay style - treat as skeletal.
call SetUnitAnimation(bj_lastCreatedUnit, "decay bone")
call GroupAddUnit(bj_suspendDecayBoneGroup, bj_lastCreatedUnit)
endif
call TimerStart(bj_delayedSuspendDecayTimer, 0.05, false, null)
return bj_lastCreatedUnit
endfunction
bj_delayedSuspendDecayTimer вызывает эту функцию.
раскрыть
function DelayedSuspendDecay takes nothing returns nothing
local group boneGroup
local group fleshGroup
// Switch the global unit groups over to local variables and recreate
// the global versions, so that this function can handle overlapping
// calls.
set boneGroup = bj_suspendDecayBoneGroup
set fleshGroup = bj_suspendDecayFleshGroup
set bj_suspendDecayBoneGroup = CreateGroup()
set bj_suspendDecayFleshGroup = CreateGroup()
call ForGroup(fleshGroup, function DelayedSuspendDecayStopAnimEnum)
call ForGroup(boneGroup, function DelayedSuspendDecayStopAnimEnum)
call TriggerSleepAction(bj_CORPSE_MAX_DEATH_TIME)
call ForGroup(fleshGroup, function DelayedSuspendDecayFleshEnum)
call ForGroup(boneGroup, function DelayedSuspendDecayBoneEnum)
call TriggerSleepAction(0.05)
call ForGroup(fleshGroup, function DelayedSuspendDecayStopAnimEnum)
call DestroyGroup(boneGroup)
call DestroyGroup(fleshGroup)
endfunction
Что происходит.
Через 0.05 после создания "постоянного" трупа его анимация ставится на паузу, через 8 секунд его разложение ставится на паузу, а если его тип разложение есть flesh, то возвращается нужная анимация с ускорением, а через 0.05 анимация опять ставится на паузу.
Попробуй выбрать другой тип разложения.
Через 0.05 после создания "постоянного" трупа его анимация ставится на паузу, через 8 секунд его разложение ставится на паузу, а если его тип разложение есть flesh, то возвращается нужная анимация с ускорением, а через 0.05 анимация опять ставится на паузу.
Попробуй выбрать другой тип разложения.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. PT153
Через 0.05 после создания "постоянного" трупа его анимация ставится на паузу, через 8 секунд его разложение ставится на паузу, а если его тип разложение есть flesh, то возвращается нужная анимация с ускорением, а через 0.05 анимация опять ставится на паузу.
Попробуй выбрать другой тип разложения.
PS Извини за кривой обьяснение