28

» WarCraft 3 / Динамическая камера

EugeAl, я чушь если что написал про
rsfghd:
выставление каких-то параметров камеры не локально само по себе
без понятия чем я думал, вероятно из-за недосыпа, ведь потом я начал противоречить сам себе)
28

» WarCraft 3 / Проблема с триггером при нажатии esc

при нажатии эскейпа выставляешь переменную булевой на тру, перед тем как проиграть следующую камеру/реплику/покакать, проверяешь значение этой переменной, если соответствует истине, пропускаешь все остальные действия, перед этим можно запустить другой триггер который отвечает за конец синематика (т.е. выдача заданий, выставление камеры в норму, выход из синематика и т.д.)
28

» WarCraft 3 / Динамическая камера

вот, например, делал другому человеку динамичную камеру со сканированием самой высокой точки на местности
код
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
Загруженные файлы
28

» WarCraft 3 / Динамическая камера

выставление каких-то параметров камеры не локально само по себе, то есть например, чтобы выставить высоту, тебе нужно обернуть функцию в условие GetLocalPlayer == Player( ... ), но можно брать координаты камеры, для каждого игрока будет своё значение, и десинха не будет если использовать эти координаты для камер или ещё каких-то проверок, вроде расстояния между точками
28

» WarCraft 3 / Как сделать портал только для войск игрока?

вариковские порталы невозможно полноценно повторить потому что близзы не добавили возможности отследить пути в игре, как строятся маршруты, тут онли костылить
28

» 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
28

» WarCraft 3 / Удалить за раз 50 юнитов, но не всех

GRYLLL, ну возможно стоит подождать человека который шарит за слк таблицы и знает как удалять юнитов
28

» WarCraft 3 / Рассчитать и сохранить тени.

Если карта здоровая то тебе хоть несколько часов придется ждать. И то, это говенная функция, я бы никогда* не брал её будучи хорошим ландшафтером
28

» WarCraft 3 / Пак способностей - Faceless Mastermind

OVOgenez, от ошибок компилятора при переносе из-за сджасса никто не предостережон
28

» WarCraft 3 / Пак способностей - Faceless Mastermind

круто, но мне не понравилось что фешка кастуется даже если некуда (нужно отмену каста делать)
по коду спорный момент с дефайнами, они порой багуются с компилятором, что жопа будет у пользователя и он психанёт на спеллпак
28

» WarCraft 3 / Много триггерных абилок

lioloisigisi, переведи на джасс/вджасс тогда, если с включённым сджассом оно у тебя не работает
28

» WarCraft 3 / Приказ оставаться на месте

msproper, структура для юнита нужна и 2 триггера, один с инициализацией/вхождением юнита на карту и регистрацией урона, второй триггер, собственно на который и регистрируем получение урона
при получении урона запускаем таймер одноразовый допустим через 5 секунд и приказываем идти обратно на позицию, которую заранее сохранили в структуру юнита, в самой структуре юнита собственно координаты, которые нужно указать при старте игры и таймер, который используем как отслеживание находится ли он в бою (GetTimerRemaining)
28

» WarCraft 3 / Много триггерных абилок

nvc123 уже решал эту проблему
если вкратце, в равкод абилки сохраняешь функцию которую нужно экзекютнуть и булевую, регистрируешь один раз событие каста для всех игроков, а в условии достаёшь булевую из равкода применяемой абилки, если есть, то экзекютнуть функцию по следующему ключу