1`Time - elapsed game time is 0.05 seconds 3`Multiboard - create a multiboard with 1 columns and 1 rows, titled (...) Переменная Multiboard Miltiboard none 3`Set multiboard = (last created multiboard) 3`Multiboard - set the icon for multiboard item in columns 0,row 1 to (...) 3`Multiboard - set the text for multiboard item in columns 1, row 1 to (...) 3`Multiboard - set the widht for multiboard item in columns 1,row 1 to 14% of the total screen width 3`multiboard - set the color for multiboard item in columns 1,row 1 to (100,0 0) with 25%
Этот триггер установил наш мультиборд, и мы установили отображение переменных “kills” в нужных нам местах
События Unit - A unit Dies Условия Действия If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions (Owner of (Triggering unit)) Equal to Player 1 (Red) Then - Actions Set OrcKills = (OrcKills + 1.00) Multiboard - Set the text for TutorialBoard item in column 2, row 2 to (String(OrcKills)) Else - Actions Do nothing If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions (Owner of (Triggering unit)) Equal to Player 2 (Blue) Then - Actions Set HumanKills = (HumanKills + 1.00) Multiboard - Set the text for TutorialBoard item in column 2, row 1 to (String(HumanKills)) Else - Actions Do nothing
Этот триггер показывает практически тоже самое, только он соханяет не количество убитых юнитов, а количество убитых героев
События Unit - A unit Dies Условия Действия If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions (Killing unit) Equal to Human_Hero Then - Actions Set Human_Hero_Kills = (Human_Hero_Kills + 1.00) Multiboard - Set the text for TutorialBoard item in column 4, row 1 to (String(Human_Hero_Kills)) Else - Actions Do nothing If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions (Killing unit) Equal to Orc_Hero Then - Actions Set Orc_Hero_Kills = (Orc_Hero_Kills + 1.00) Multiboard - Set the text for TutorialBoard item in column 4, row 2 to (String(Orc_Hero_Kills)) Else - Actions Do nothing
ВСЕ ПРО МУЛЬТИБОРД - ПОКАЗ МУЛЬТИБОРДА КОГДА ИГРОК ВСТУПАЕТ В ИГРУ ИНАЧЕ НИЧЕГО НЕ ПРОИСХОДИТ Переменная целочисленная переменная (integer), назовем ее "player" Переменная игрок (player), назовем ее "MBplayer"
1`Событие Map initialization 2`Условие 3`Дейсвие Set player = 0 For each (Integer A) from 1 to 12, do (Actions) Цыкл - Действия If (All Conditions are True) then do (Then Actions) else do (Else Actions) Если - Условие ((Player((Integer A))) slot status) равно "Играет"‚ То - Действия Set player = (player + 1) Set MBplayer[player] = (Player((Integer A))) Иначе - Действия
СОСТОЯНИЕ ЮНИТА В МУЛЬТИБОРДЕ 1`Initialization 3`Действия: Wait 0.1 MultiBoard c 2-я столбцами и 3-я строчками, назовем этот MultiBoard “Состояние юнита” -на позицию 1-1 припишем текст “Имя:” -на позицию 2-1 припишем текст “Состояние:” //Мультиборд у нас будет ввиде таблици, и выше перечисленные тексты, это будут заголовки столбцов. -на позицию 1-2 припишем текст “Артес-” -на позицию 1-3 припишем текст “Илидан-” //Эти имена будет стоять в колонке "Имя", и они будут неизменны. -на позицию 2-2 и 2-3 припишем текст “Жив”. //Эта будет стоять в колонке "Состояние", и они будут Менятся по ходу игры. //Следующее что надо сделать, это оформит, определим расстояние для каждого текста: -на позицию 1-1, 1-2, 1-3, делаем расстояние 5%. -на позицию 2-1, 2-2, 2-3, делаем расстояние 7%, думаю, хватит. //Сейчас у нас готов MultiBoard, но он крайне некрасив - все слова написаны белыми буквами. //Так что следующий шаг, это дизайн: -Цвет названия делаем красным (100%, 0%, 0%) -Цвет текста (1-1 и 2-1) делаем, синим (0%, 0%, 100%) -Цвет текста (1-2 и 1-3) делаем зеленым (0%, 100%, 0%) -Цвет текста (2-2 и 3-3) делаем желтым (0%, 100%, 100%)
Далее поставим 2-х юнитов на карту рядом друг с другом (Артеса и Илидана). Создаем переменную массив integer (целочисленная) OTC4ET 1`Событие Generic Unit Event, Юнит умирает. 3`В действиях: Создаем 2 действия – If / Then / Else, Multiple Functions. В первом ставим, что: Если: Умерший юнит = Артес То: Set OTC4ET (1) = 30 //Далее без циклов тут не обойтись потому создаем цикл For each (integer B) from 1 to 30, do (Actions) Цикл – Действия //Далее делаем в позиции 2-2, текст использую пару функций (Делаем действие создание текста с функцией (Мертв(+((String(OTC4ET(1)))+сек.))) //Что это значит? Это означает что создастся текст “Мертв(" + "[текущее значение переменной OTC4ET(1)]" + "сек.)” //Далее, конечно же, ставим действие: Set OTC4ET (1) = OTC4ET (1) - 1 Wait 1.00 game-time second //На этом цикл закончился. (Создаем текст в позиции 2-2 “Жив”) //И ставим действие возрождение героя: Герой – Instantly revive (Triggering unit at (Position of (Triggering unit), Показать revival graphics)) //Все //(В следующем действии (If / Then / Else) ставим ВСЕ ТО ЖЕ САМОЕ только заменяем в условии Илидана на Артеса //а во всех действиях создания текста в MultiBoard-е заменяем 2-2 на 2-3. И везде используем переменную не OTC4ET(1), а OTC4ETT(2).