при нажатии эскейпа выставляешь переменную булевой на тру, перед тем как проиграть следующую камеру/реплику/покакать, проверяешь значение этой переменной, если соответствует истине, пропускаешь все остальные действия, перед этим можно запустить другой триггер который отвечает за конец синематика (т.е. выдача заданий, выставление камеры в норму, выход из синематика и т.д.)
function Trig_df_Actions takes nothing returns nothing
local real x = GetCameraTargetPositionX( )
local real y = GetCameraTargetPositionY( )
local location LFZ = Location( x, y )
local real r = 512.00
local real d = 128.00
local real d1
local real fly = GetLocationZ( LFZ )
local real step = 32.00
loop
set d1 = r
loop
call MoveLocation( LFZ, x + d, y + d1 )
if GetLocationZ( LFZ ) > fly then
set fly = GetLocationZ( LFZ )
endif
exitwhen d1 <= -r
set d1 = d1 - step
endloop
exitwhen d <= -128.00
set d = d - step
endloop
call DisplayTextToPlayer( GetLocalPlayer( ), 0.00, 0.00, R2S( fly ) )
call SetCameraField( CAMERA_FIELD_TARGET_DISTANCE, 1350.00 + fly, 0.10 )
call RemoveLocation( LFZ )
set LFZ = null
endfunction
//===========================================================================
function InitTrig_df takes nothing returns nothing
set gg_trg_df = CreateTrigger( )
call TriggerAddAction( gg_trg_df, function Trig_df_Actions )
call TimerStart( CreateTimer( ), 0.10, true, function Trig_df_Actions )
endfunction
выставление каких-то параметров камеры не локально само по себе, то есть например, чтобы выставить высоту, тебе нужно обернуть функцию в условие GetLocalPlayer == Player( ... ), но можно брать координаты камеры, для каждого игрока будет своё значение, и десинха не будет если использовать эти координаты для камер или ещё каких-то проверок, вроде расстояния между точками
вариковские порталы невозможно полноценно повторить потому что близзы не добавили возможности отследить пути в игре, как строятся маршруты, тут онли костылить
тебе заменить по путям нужно или просто найти для создания своих фреймов?
бордеры это похоже
UI\Widgets\EscMenu\Human\editbox-border.blp
бекдроп:
UI\Widgets\EscMenu\Human\editbox-background.blp
по кнопке не знаю, возможно это несколько фреймов (стрелка + бекдроп)
UI\Widgets\Glues\GlueScreen-Pulldown-Arrow.blp
либо это, хотя по бордерам сомнительно
UI\Widgets\Glues\GlueScreen-Scrollbar-DownArrow.blp
UI\Widgets\Glues\GlueScreen-Scrollbar-UpArrow.blp
круто, но мне не понравилось что фешка кастуется даже если некуда (нужно отмену каста делать)
по коду спорный момент с дефайнами, они порой багуются с компилятором, что жопа будет у пользователя и он психанёт на спеллпак
msproper, структура для юнита нужна и 2 триггера, один с инициализацией/вхождением юнита на карту и регистрацией урона, второй триггер, собственно на который и регистрируем получение урона
при получении урона запускаем таймер одноразовый допустим через 5 секунд и приказываем идти обратно на позицию, которую заранее сохранили в структуру юнита, в самой структуре юнита собственно координаты, которые нужно указать при старте игры и таймер, который используем как отслеживание находится ли он в бою (GetTimerRemaining)
если вкратце, в равкод абилки сохраняешь функцию которую нужно экзекютнуть и булевую, регистрируешь один раз событие каста для всех игроков, а в условии достаёшь булевую из равкода применяемой абилки, если есть, то экзекютнуть функцию по следующему ключу
» WarCraft 3 / Динамическая камера
rsfghd:
» WarCraft 3 / Проблема с триггером при нажатии esc
» WarCraft 3 / Динамическая камера
» WarCraft 3 / Динамическая камера
» WarCraft 3 / Как сделать портал только для войск игрока?
» WarCraft 3 / Возможно ли двигать скайбокс через триггеры/код?
QuestionsGuy:
» WarCraft 3 / Возможно ли двигать скайбокс через триггеры/код?
» XGM Конкурсы / Новогодний конкурс моделей 2022 «Пандомания»: голосование (1)
» WarCraft 3 / Путь к текстуре
бордеры это похоже
UI\Widgets\EscMenu\Human\editbox-border.blp
бекдроп:
UI\Widgets\EscMenu\Human\editbox-background.blp
UI\Widgets\Glues\GlueScreen-Pulldown-Arrow.blp
либо это, хотя по бордерам сомнительно
UI\Widgets\Glues\GlueScreen-Scrollbar-DownArrow.blp
UI\Widgets\Glues\GlueScreen-Scrollbar-UpArrow.blp
» WarCraft 3 / Удалить за раз 50 юнитов, но не всех
» WarCraft 3 / Как поменять экран победы в редакторе?
» WarCraft 3 / блок урона
» WarCraft 3 / Галерея скриншотов ландшафта
а почему 200 лет?
Ред. rsfghd
» WarCraft 3 / Рассчитать и сохранить тени.
» WarCraft 3 / Пак способностей - Faceless Mastermind
» Блог им. rsfghd / Confetti
» WarCraft 3 / Пак способностей - Faceless Mastermind
по коду спорный момент с дефайнами, они порой багуются с компилятором, что жопа будет у пользователя и он психанёт на спеллпак
» WarCraft 3 / Перестал работать GRIMEX в JNGP
https://www.xgm.guru/p/wc3/ne-mogu-dobavit-tekstury-zemli-v-Jass...
» WarCraft 3 / Warcraft III - MultiWindow
» WarCraft 3 / Warcraft III - MultiWindow
» WarCraft 3 / Много триггерных абилок
» WarCraft 3 / Приказ оставаться на месте
при получении урона запускаем таймер одноразовый допустим через 5 секунд и приказываем идти обратно на позицию, которую заранее сохранили в структуру юнита, в самой структуре юнита собственно координаты, которые нужно указать при старте игры и таймер, который используем как отслеживание находится ли он в бою (GetTimerRemaining)
» WarCraft 3 / Много триггерных абилок
» WarCraft 3 / kLoader - запуск нескольких Warcraft на одном компьютере
я сам юзал постоянно клоадер
https://www.xgm.guru/p/blog-rsfghd/Sistema-chata-s-komandoy-mute...