А кстати, ребят. Вот ставлю я красную стартовую локацию, а потом в другое место синюю стартовую локацию, но меняю её владельца через Энтер на красного. На миникарте загрузки будут отображаться обе, но вот сама лока будет всегда на месте первой. Почему?

Потому задефайнить можно только 1 раз (а вот почему). Стартовая локация это не какой-то юнит, это специальная функция в коде.
`
ОЖИДАНИЕ РЕКЛАМЫ...
28
Принятый ответ
Потому задефайнить можно только 1 раз (а вот почему). Стартовая локация это не какой-то юнит, это специальная функция в коде.
16
PT153, спасибо за ответ. Однако отсюда вытекает следующий вопрос: можно ли без извращений переделать это в дефайн элементов массива, а не просто одной переменной? И ведь если удалить первую локацию, спавн будет на второй, т.е. вторая дефайнится в момент удаления первой? Т.е. динамически движок отслеживает перед загрузкой положения локаций и отслюнявливает в спавн-мешок только одну, которая раньше по айди?
28
т.е. вторая дефайнится в момент удаления первой?
Нет, при удалении просто удаляется такая-то строчка кода и всё.
Т.е. динамически движок отслеживает перед загрузкой положения локаций и отслюнявливает в спавн-мешок только одну, которая раньше по айди?
Вот это не понял.

Создай пустую карту, экспортируй скрипт (Файл - Экспорт скрипта) и ищи функцию config, там все ответы.

В моих картах конфиг я делаю сам с помощью инжекта.
раскрыть
//! textmacro InitPlayer takes i, team, color
    set p = Player($i$)
    call DefineStartLocation($i$, CENTER_X, CENTER_Y)
    call SetPlayerStartLocation(p, $i$)
    call SetPlayerColor(p, ConvertPlayerColor($color$))
    call SetPlayerRacePreference(p, RACE_PREF_RANDOM)
    call SetPlayerRaceSelectable(p, true)
    call SetPlayerController(p, MAP_CONTROL_USER)
    call SetPlayerTeam(p, $team$)
//! endtextmacro

//! inject config
    local player p
    call SetMapName("TRIGSTR_001")
    call SetMapDescription("TRIGSTR_003")
    call SetPlayers(MaxPlayers)
    call SetTeams(2)
//! runtextmacro InitPlayer("0", "0", "1")
//! runtextmacro InitPlayer("1", "0", "2")
//! runtextmacro InitPlayer("2", "0", "3")
//! runtextmacro InitPlayer("3", "0", "4")
//! runtextmacro InitPlayer("4", "0", "5")
//! runtextmacro InitPlayer("5", "1", "6")
//! runtextmacro InitPlayer("6", "1", "7")
//! runtextmacro InitPlayer("7", "1", "8")
//! runtextmacro InitPlayer("8", "1", "9")
//! runtextmacro InitPlayer("9", "1", "11")
    set p = null
//! endinject
Кстати, есть баг с выставлением цвета, если стоит галка Fixed Settings в настройках игроков. Подробнее тут.
16
PT153, всё, я понял. Мой понятный только мне вопрос получил положительный ответ. Статью прочитал, ничего удивительного: багов край непочатый.:D
Конфиги я так не выставляю, потому что мне непривычно, но спасибо за накинутый вариант. Возможно, когда-нибудь я дорасту до этого.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.