Камеру можно прикрепить к юниту-кастеру. Также можно настроить смещение камеры
local real angle = GetUnitFacing(unit)*bj_DEGTORAD //угол взгляда кастера - угол смещения
local real dist = 300//расстояние, на которое сместится камера.
call SetCameraTargetControllerNoZForPlayer(GetOwningPlayer(unit),unit, dist*Cos(angle), dist*Sin(angle), false)
А если передать героя нейтральному игроку, и локально для него настроить расположение кнопок, а потом вернуть обратно владельцу?
Хотя не, думаю, это либо ни на что не повлияет, либо будет десихнрон.
Разобрался. Там перед некоторыми функциями отсутствовала инструкция # +nosemanticerror
так, теперь все сохраняется, но не работает:
cjass у меня отключен
_____________________________________________________________________________
в общем, проблема решена. в параметрах vjass поставил галочку напротив disable script optimization
Мало что понял про твой спелл. Но предложу такой вариант:
Событие - юнит атакован
Условие - integer compasion - боевая единица - level of ability [твоя способность] for attacking unit больше 0
Действие - боевая единица - damage target
это плохой вариант, т.к. урон будет наносится сразу при замахе, вне зависимости от того, нанес ли юнит урон.
также можно спамить приказами "атаковать"
Кстати, реализация доп. дамага через событие "Атакован" позволяет игроку спамить приказами "Отставить", после чего герой будет вновь пытаться атаковать. Это приведет к почти безинтервальному вызову триггера, и, соответственно, имбалансному урону. Но это не единственная проблема в контексте задуманного. Крч, тебе нужно отлавливать получение урона.
Нет. Для решения нужно либо включить дамми-юнитам возможность проходить через объекты, либо увеличить в условии расстояние с 10 до 40-50, т.к. юнит не может пересечь черту, за которой следует удаление.
FabulousTiger:
Попробуй этот код, вроде не должен десихронить
globals
camerasetup theCam = CreateCameraSetup()
endglobals
function Trig_camera_Conditions takes nothing returns boolean
if (GetSpellAbilityId() != 'AOws') then
return false
endif
return true
endfunction
function Trig_camera_KillUnits takes nothing returns nothing
call KillUnit( GetEnumUnit() )
endfunction
function Trig_camera_Actions takes nothing returns nothing
local group g = CreateGroup()
local real x
local real y
local rect r
if (GetLocalPlayer()==GetOwningPlayer(GetTriggerUnit())) then
set x = GetCameraTargetPositionX()
set y = GetCameraTargetPositionY()
endif
call CameraSetupSetDestPosition(theCam,x,y,0)
set x = CameraSetupGetDestPositionX(theCam)
set y = CameraSetupGetDestPositionY(theCam)
set r = Rect( x - 500.00*0.5, y - 500.00*0.5, x + 500.00*0.5, y + 500.00*0.5 )
call GroupEnumUnitsInRect(g, r, null)
call ForGroup(g, function Trig_camera_KillUnits)
call DestroyGroup(g)
call RemoveRect(r)
set g = null
set r = null
set x = 0
set y = 0
endfunction
//===========================================================================
function InitTrig_camera takes nothing returns nothing
set gg_trg_camera = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_camera, EVENT_PLAYER_UNIT_SPELL_CHANNEL )
call TriggerAddCondition( gg_trg_camera, Condition( function Trig_camera_Conditions ) )
call TriggerAddAction( gg_trg_camera, function Trig_camera_Actions )
endfunction
и установи ей путь UI\Feedback\Cooldown\UI-Cooldown-Indicator.mdx
это другая моделька перезарядки. Если уже есть модель с этим путем - удали.
Проверяй все на резервной версии карты.
Видимость перезарядки навыка обеспечивает моделька или blp. Возможно, ты заменил стандартную на нерабочую. Попробуй удалить весь импорт на скопированной версии карты, если будет нормальная перезарядка, значит ищи импортированную.
» WarCraft 3 / Отдаление камеры во время каста
» WarCraft 3 / Триггеры
» WarCraft 3 / Вопрос по нажатию на иконку во время перевозки юнита
» WarCraft 3 / Безграничный атакспид
» WarCraft 3 / Мемхак, запуск кд
Ред. LordDracula
» WarCraft 3 / GetRealId( )
» WarCraft 3 / Что я сделал не так?
» WarCraft 3 / Способность на продажу юнита
Ее нужно объявить в нестандартном коде.
» WarCraft 3 / Позиция добавляемой способности
Хотя не, думаю, это либо ни на что не повлияет, либо будет десихнрон.
» WarCraft 3 / Позиция добавляемой способности
» WarCraft 3 / Новый детект физического урона на мемхаке
так, теперь все сохраняется, но не работает:
в общем, проблема решена. в параметрах vjass поставил галочку напротив disable script optimization
» WarCraft 3 / Как отловить событие когда герой наносит урон
также можно спамить приказами "атаковать"
» WarCraft 3 / Новый детект физического урона на мемхаке
Ред. LordDracula
» WarCraft 3 / Пассивная способность героя
» WarCraft 3 / Координаты
» WarCraft 3 / "Убивающая" камера
если через гарену, могу помочь. напиши в личку
» WarCraft 3 / "Убивающая" камера
Попробуй этот код, вроде не должен десихронить
» WarCraft 3 / Хендл таймера
» WarCraft 3 / Юниты возвращаются на точку появления (редактор Warcraft III).
Ред. LordDracula
» WarCraft 3 / Не отображается перезарядка способностей
Ред. LordDracula
» WarCraft 3 / Не отображается перезарядка способностей
это другая моделька перезарядки. Если уже есть модель с этим путем - удали.
Проверяй все на резервной версии карты.
» WarCraft 3 / Не отображается перезарядка способностей
В нем удобней удалять, но все равно вручную. Как разом не знаю
» WarCraft 3 / Массив таймера
» WarCraft 3 / Не отображается перезарядка способностей
» WarCraft 3 / Модели из dota 2?