Захват зданий

Added by , published
Наработка, позволяющая занять нейтральное здание, превратив его в укреплённую огневую точку (наподобие захвата зданий в Red Alert). Захваченная постройка получает бонус к атаке, увеличивающийся с количеством юнитов в нём. Юнитам, укрывшимся в здании, наносится часть урона, получаемого им (можно отключить), а если единственный юнит в здании уничтожен, то оно становится нейтральным. Количество мест настраивается через максимальную ману, бонус атаки - через способность, минимальная прочность для захвата (в процентах) и процент урона по юниту - в триггерах. Если здание сильно повреждено или уничтожено, то юниты сами выходят из него. Максимально одновременно можно захватить более 8000 зданий (но в карте установлен максимум 100). Можно построить такую башню игроком, и она будет работать. Интерфейс приближен к стандартному: сообщения об ошибках (использована наработка эмуляции ошибки), причём цвет можно менять; а также при захвате и потере появляются метки на миникарте.
MUI: да.
Действие: при использовании способности захвата (или нажатии правой кнопкой мыши на нейтральное здание) стрелок захватывает его. При использовании способности "Выйти из здания", юниты его покидают.
Применение: нестандартная тактика.
Скриншоты:
Видео:

Views: 1 688

Raised #1 - 4 years ago 0
Голосов: 0
Гуи?
Maniac_91 #2 - 4 years ago 0
Голосов: 0
Raised, да. Плюс custom script.
ScopteRectuS #3 - 4 years ago (изм. ) 4
Голосов: 4
Интерфейс приближен к стандартному: сообщения об ошибках (использована наработка эмуляции ошибки), а также при захвате и потере появляются метки на миникарте.
Возможно, это дело вкуса, но я считаю, что если делать вещи похожими на стандартные, то нужно делать их, как не странно, похожими на стандартные...))
Здание захвачено и Здание потеряно должно быть написано цветом FFFFCC00 и опущено вниз.
Например, |cFFFFCC00Выполнено: Захват здания|r (точка не ставится) или |cFFFFCC00Здание захвачено.|r (точка ставится)
Maniac_91 #4 - 4 years ago 2
Голосов: 2
ScopteRectuS, ну я просто выделил цветом положительные и отрицательные события ) А так да, логично.
Насчёт положения текста. Вроде, координаты я из наработки не менял, но можно попробовать переделать. Или пытался опустить, но не вышло - не помню уже, давно начал эту систему делать.
Ещё поступали предложения от Ige - сделать из башни "транспорт" (чтобы были ячейки) или сделать ячейки с помощью предметов (причем зарядами можно отображать здоровье юнитов), но тогда в здание можно будет поместить ограниченное количество юнитов и мне лень усложнять систему, да =)
Возможно, если накопятся ещё несколько интересных идей и у меня будет вдохновение для конкретно этой наработки, то я переделаю и обновлю ресурс.
Maniac_91 #5 - 4 years ago (изм. ) 0
Голосов: 0
ScopteRectuS, ниже не спускается, я сейчас проверил. =(
ScopteRectuS #6 - 4 years ago 2
Голосов: 2
Maniac_91, попробуйте эту функцию:
	globals
        sound  INTERFACE_ERROR  =  null
    endglobals

    function InterfaceError takes player toPlayer, string message returns nothing
        if ( INTERFACE_ERROR == null ) then
            set  INTERFACE_ERROR  =  CreateSoundFromLabel("InterfaceError", false, false, false, 10, 10)
        endif

        if ( GetLocalPlayer( ) == toPlayer ) then
            call ClearTextMessages( )
            call DisplayTimedTextToPlayer( toPlayer, 0.0, 0.0, 1.5, "\n\n\n\n                                                          |cffffcc00" + message + "|r\n\n\n\n\n\n\n\n\n\n\n\n" )
            call StartSound( INTERFACE_ERROR )
        endif
    endfunction
Maniac_91 #7 - 4 years ago (изм. ) 0
Голосов: 0
ScopteRectuS, переносы строки? Я же пытался.. Но переносы после сообщения не делал. Блин, как всё просто))
Только там по оси Х не 0, а 0.52 в оригинале.
Это работает!
Давай на "ты", ладно? Мне не семьдесят лет)
ScopteRectuS #8 - 4 years ago (изм. ) 0
Голосов: 0
Maniac_91, можно и 0.52, только тогда, наверное, придётся стереть часть пробелов после
call DisplayTimedTextToPlayer( toPlayer, 0.0, 0.0, 1.5, "\n\n\n\n
Maniac_91 #9 - 4 years ago 0
Голосов: 0

Обновление

  • Текст сообщений сдвинут на привычное для игрока место в интерфейсе
  • Цвет текста можно выбирать (стандартный или красный/зелёный)