Рубрика: Обучение и Гайды
Супер быстрое эко! 14:00! 7:00 первый Т3 мех! + бонус | DualGap | Supreme Commander [048] | MaksSun
Простая стратегия за кибран! Масс корсары! 6:00 | DualGap | Supreme Commander [048] | MaksSun
Фаст бомбер 7:40 | DualGap | Supreme Commander [047] | MaksSun
Что делать, если ты мидер!
Как сбить истребитель оверчарджем в воздухе? ♥физика супримки♥
FAST T3 BOMBER SETON
МИКРО-ФИШКИ 2
Гайд [005] | Supreme Commander [016] | Fast Mavr | Как выйти новичку в быстрый Мавр
Крутые фишки микроконтроля в Supreme Commander
ПОДНЯТЬ РЕЙТИНГ. ОБУЧЕНИЕ SUPREME COMMANDER
Теория ГЕЙМЭНДЕРОВ. Обучение по Suprme Commander
Самая плохая карта в Supeme Commander
Поговорим о самой плохой карте в супримке. То есть в Supeme Commander. Вообще странно, что плохая карта постоянно или почти постоянно висит в лобби. Вроде бы интереса нет в нее играть, ну по крайней мере, когда раз 50 уже сыграл. Сначала-то – понятно. Решил попробовать. Друзья предложили. Думаешь, а я в любой момент смогу бросить на ней играть. Если захочу. Но проходит время, а ты играешь и играешь на ней. И вроде и рейтинг растет и скилл, но перейдя на другую карту ты начинаешь проигрывать. Это вроде бы только твои…
ПосмотретьЗаметки: создание карты с нуля и до товарного вида
Это небольшие заметки, которые я делал при создании карты с нуля и до товарного вида. Просто мои впечатления и советы новичкам. Я никогда не являлся человеком, разбирающимся в коде, но имею некие творческие способности и долю усердия в деле. Так как от Ozonex’а есть прекрасный редактор на базе Unity, то он может превратить ваш творческий потенциал в дело и развить его для создания карт. Этот редактор очень прост и удобен. В начале пути не стоит париться над красотой. Начните с простого составления ландшафта и приблизьте его к оригиналу вашей идеи.…
ПосмотретьБилд на Телепорт Колосса. Dual Gap. Supreme Commander
Ладдер. Взгляд со дна
*Спам – массовое производство юнитов. Бомбер – самолет-бомбардировщик, обычно 1 уровня Итак, отыграв около 800 боев в командных играх, мне стало скучновато и я захотел попробовать себя в ладдере. Первые 10 игр я считать не буду, потому что FAF определяет тебя как тащера и кидает тебя на растерзание к игрокам с 1500 рейтинга. Так что первые мои 10 игр по факту были первыми 20. Это было смешно и нелепо – ведь я привык к одной позиции на центре, поддержке со стороны игрока на позиции авиаприкрытия, ну и еще кто-нибудь быстро…
ПосмотретьКомпозиции лэнд юнитов. Supreme Commander. Обучение.
Supreme Commander [002] | Гайд выхода в Т3 мексы с раcсиком на командире
DualGap FAF Supreme Commander: Forged Alliance +-1400 Sci_tech
ПосмотретьМини-гайд по экономике с Supreme commander: forged alliance.
Зовут Лёша, 19 годиков. Если не сложно можете на поддержку кинуть: https://www.donationalerts.com/r/my4a #лучшаястратегия #топстратегий #rts #лучшиеrts #топигрвжанрестратегия #FAF #SupremeCommander #какапатьэко #супримкомандер #билдыфаф #билдысупримкомандер #эпичнаямузыка #топонлайнстратегий #топонлайнRTS #My4a
ПосмотретьБыстрый снайп для пробития рейтингового потолка в Supreme Commander: Forged Alliance Forever
ФЛОТ. Обучение. Supreme Commander.
Supreme Commander [001] | Легенды FAF | Обзор Т1 наземной техник
(Это моё мнение) FAF Supreme Commander: Forged Alliance +-1000 Sci_tech
ПосмотретьЧто вы знаете про ассист (assist) в Supreme Commander?
Итак, юниты могут помогать. Обычно это проявляется в автоматическом стоянии рядом и выполнении при этом своих прямых обязанностей. Но с фабриками и транспортом это так классно продумано, и при этом я ни разу не видел чтобы кто то этим пользовался. Есть две фабрики. Наземные. Допустим левая фабрика отправляет юнитов налево, а правая, неожиданно вправо, так для примера. Правая фабрика работает в стиле “все для фронта”, а левая бездельничает и периодически строит инженеров, по приказу. Если левую фабрику заставить помогать правой, она будет строить те юниты, которые может и делать…
ПосмотретьПро sacrifice за Aeon. Supreme Commander Forged Alliance
Supreme Commander ошибки новичков
В этой статье я предлагаю вам ознакомиться с типичными ошибками новичков в Supeme Commander, которые могут совершать и более опытные игроки. Сидим на базе — строим бункер В этой игре у вас навряд ли получится победить, оставаясь на своей базе. Не стройте иллюзий, возводя защитные сооружения – всегда найдётся что-то, что стреляет подальше ваших турелей. Ваша задача — получить преимущество над оппонентом по количеству масс экстракторов, а также реклейма, занимая экспансии — вы упрощаете себе игру. Игноирурем реклейм Вы уже умеете занимать масс-экстракторы (будем называть их «мексы»), но…
ПосмотретьСетон. Обучение: позиции, задачи, тактики.
Supreme Commander Forged Alliance гайд (руководство) по игре 1 на 1
Дополнительные обучающие материалы Как играть за Кибран Основная стратегия. Следуя этому гайду (руководству) по игре 1 на 1 в Supreme Commander Forged Alliance лучше начинать со строительства наземной фабрики и очереди заказа юнитов в ней. В зависимости от размера карты, на которой вы играете, очередь вашей первой фабрики может сильно отличаться. Если это 5×5, вам понадобится сделать танк как можно быстрее, чтобы защитить своих инженеров от ранних рейдов. Позже ваш первый завод может в основном строить танки. На картах 10×10 вам потребуется больше инженеров, но не забывайте про…
ПосмотретьЭкспорт и импорт в редакторе карт Supreme Commander от Ozonex
Вопрос:У меня проблема с импортом карт высот из World Machine Basic в редактор карт FAForever (v0.605-Alpha WIP8).Импорт работает, но расстояние между максимумами и минимумами карты в редакторе карт FAForever намного больше, чем в World Machine.Как я могу это исправить?Карта в World Machine Импортировано в редактор карт SupCom Ozonex От переводчика:—Для того, чтобы начать работу в программе World Machine (WM) и в дальнейшем избежать проблем с разницей карты высот WM и редакторе карт FAF Ozonex необходимо в настройках WM сделать следующие изменения:1) Указать размеры карты, например. для карты 10×10 км…
ПосмотретьПочему я проигрываю? Разбираем реплей в Supreme Commander.
Почему же я проигрываю? Что ж, давайте разбираться. Канал demonstreamer’a: https://www.youtube.com/channel/UCYZHE9As1Fqclgd-BPa2wpQ Канал Belisarius_Cawl’a: https://www.twitch.tv/tehnogrees
ПосмотретьLua. Программируем в Supreme Commander. Пример №1
Далее приведен код, который поможет продемонстрировать программирование на языке Lua для нашей карты SupCom на практике.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |
local ScenarioUtils = import('/lua/sim/ScenarioUtilities.lua') function OnPopulate() --Базовая иницилизация армий игроков ScenarioUtils.InitializeArmies() end function OnStart(self) --Создаём поток и просим его выполнять наш скрипт ForkThread(myScript) end --Создаём нашу таблицу юнитов, где будем хранить о них информацию TableUnits = {} function myScript() --Сделаем вступительно ожидание, чтоб успели все юниты прогрузиться. Допустим 2 секунды WaitSeconds(2) --Создадим приветствие по центру экрана PrintText('Hello World', 20, 'ff' .. 'd0d0d0', 10 , 'center') --Поскольку наша карта всегда одного размера, то GetMapSize() можно вынести за бесконечный цикл local MAPx, MAPz = GetMapSize() local rectangle = {x0 = 0, x1 = MAPx, y0 = 0, y1 = MAPz} --Бесконечный цикл while true do --Находим все юниты, которые есть на карте, то есть их объекты local allUnits = GetUnitsInRect(rectangle) --Через цикл проходимся по всем найденным юнитам for number, unit in allUnits do --allUnits - это множество юнитов, а unit - это один юнит. number - это номер юнита в массиве --Находим id юнита local idUnit = unit:GetEntityId() --Прежде, чем мы будем работать с юнитом, мы должны проверить - живой ли он ещё? Есть ли он уже в нашей таблице? if not unit:IsDead() and TableUnits[idUnit] == nil then --Дословная проверка: юинт не мёртв? номер ячейки[ид юнита] пустой? --Юнит прошёл проверку, поэтму он идёт на эсперименты --Я хочу сначала собрать какую-нибудь информацию об юните/объекте --билдрейт local buildrate = unit:GetBuildRate() --Кол-во здоровья в момент работы кода local hp = unit:GetHealth() --Кол-во макс здоровья local maxhp = unit:GetMaxHealth() --Узнаем какой армии он принадлежит local army = unit:GetArmy() --Иногда бывает такое, что нет готовой функции для получения нужной информации --Поэтому мы можем её достать ручками из файла name_unit.bp local blueprint = unit:GetBlueprint() --Я выбрал например регенерацию, поскольку есть у всех юнитов, а готовой функции под неё нет local regen = blueprint.Defense.RegenRate --Ну а теперь изменим слегка юнита, чтоб ему неповадно было --А изменим ему максимальное здоровье, реген и билдрейт в случайное кол-во раз --Зададим для каждого юнита произвольный рандом от 1 до 5 local rand = Random(1,5) local newmaxhp = maxhp * rand unit:SetMaxHealth(newmaxhp) --Или можно было кратко, пропуская объявление новой переменной, unit:SetMaxHealth(maxhp * rand) --А регену сделаем иную логику, поскольку у некоторых юнитов 0 регена. Сделаем отдельный рандом и будем не умножать, а суммировать local newregen = regen + Random(1,100) unit:SetRegen(newregen) --кратко unit:SetRegen(regen * Random(1,100)) local newbuildrate = buildrate * rand unit:SetBuildRate(newbuildrate) --кратко SetBuildRate(buildrate * rand) --Создадим LOG в который мы поместим информацию о найденном юните --Поскольку мы дебажим, то есть ищем ошибки, то в начале прописываем DEBUG, потом я напишу от куда этот LOG - из map --Для информативности, я пропишу характеристики до и после изменения --Чтоб объединять текст используется две точки ".." LOG('DEBUG MAP unit = '..idUnit..', '..maxhp..' -> '..newmaxhp..', '..regen..' -> '..newregen..', '..buildrate..' -> '..newbuildrate) --Хорошо, мы многое узнали о юните, теперь мы сохраним некоторую информацию в нашей таблице --Создадим массив local info_about_unit = {} --Заполняем наш массив данными, вдруг они нам пригодятся в будущем info_about_unit.newmaxhp = newmaxhp info_about_unit.newregen = newregen info_about_unit.newbuildrate = newbuildrate info_about_unit.army = army --и желательно загружать объект, чтоб потом при необходимости мы могли снова с ним совершать какие-либо действия info_about_unit.unit = unit --Загружаем информацию в ячейку под номером его id TableUnits[idUnit] = info_about_unit end end --Сделаем простенькую проверу есть ли в нашей таблице хоть один юнит if not table.empty(TableUnits) then --Поскольку мне мало было того, чтоб изменить его характеристики, я хочу в реальном времени его отслеживать --Через цикл проходимся по нашей таблице for id, info in TableUnits do --TableUnits - наша таблица, info - это краткое название нашего info_about_unit, ну а id совпадает с номером элемента --Снова проверяем наш юнит на живучесть if not info.unit:IsDead() then --Юнит ещё живой --Проверка на активность - Простаивает ли юнит? -- true or false local idle = info.unit:IsIdleState() --Поскольку не красиво выводить true/false - создадим новую переменную и условие для чуть более понятного вывода в текстовом виде local idletext if idle == true then idletext = 'idle' else idletext = 'not idle' end --Есть два варианта получения процента здоровья у юнита.. Либо с помощью готовой функции, либо ручками hp/maxhp . --Поскольку мы тру программисты, будем использовать готовую функцию --Мы будем видеть процент здоровья от базового --Я не хочу видеть процент n.000000001 - поэтому я его округляю с помощью встроенных функций math local hp_in_procent = math.floor(info.unit:GetHealthPercent() * 100) --Мы будем выводить активность юнита, его процент хп и id info.unit:SetCustomName(idletext..' '..hp_in_procent..'% '..id) else --Юнит мёртв и нам нужно отчистить его из таблицы TableUnits[id]=nil end end end --В конце бесконечного цикла --Задержка будет 1 сек игрового времени WaitSeconds(1) end end |
Вы можете скачать этот файл в архиве: Автор: Fuper
Посмотреть