???
Математика на уровне МГУ

Страница 20 из 30 ПерваяПервая ... 10161718192021222324 ... КрайняяКрайняя
Показано с 476 по 500 из 789

Тема: Вопросы.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от Small_Bee Посмотреть сообщение
    Можно, для этого используется в скрипте конструкция
    //$reference

    Единственное, лончер должен знать, где дллку искать. Как эта конструкция точно работает я не знаю, но в корневой папке лончера находит точно.
    Разница с оффом в том, что тут ничего нового не напишешь такого, чего нельзя было бы сделать просто из скрипта.
    Спасибо, только я перепутал опять аддины с длл , надо отвлечься). Аддины только для оффа работают, насколько я смог понять.

  2. #2
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Вчера все-таки подключил dll, вот этот вариант Кодиака можно использовать как пример - http://forum.1cpublishing.eu/showpos...74&postcount=2
    Оказалось сборка должна обязательно быть в папке "parts/core", хотя может я опять что-нибудь напутал(может и в корневой лаунчера будет работать, не проверял)

  3. #3

    Re: Вопросы.

    Смотри файл ...exe.config, там пути, где надо искать dll-ки указаны. В корневой папке по умолчанию ищет

  4. #4
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    http://forum.1cpublishing.eu/showthread.php?t=32329
    Вариант от Кодиака использования глобальных переменных в скриптах хост-миссии и подмиссий с использованием собственной сборки dll

    Цитата Сообщение от Small_Bee Посмотреть сообщение
    Смотри файл ...exe.config, там пути, где надо искать dll-ки указаны. В корневой папке по умолчанию ищет
    Спасибо, посмотрю сегодня

  5. #5
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Что-то я запутался.
    Есть подмиссия с методом OnActorDead(), она слушает все миссии(MissionNumberListener = -1;).
    Какой в ней будет missionNumber при уничтожении юнита из подмиссии и хост-миссии?
    Задача в методе OnActorDead() отделить юниты самой подмисии(missionNumber=0 ??) от юнитов подмиссий загруженных в хост-миссии(какие у них тогда получаются missionNumber?
    (проверить сейчас не могу, хотелось бы заранее написать код и дома проверить)

  6. #6
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    47
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Что-то я запутался.
    Есть подмиссия с методом OnActorDead(), она слушает все миссии(MissionNumberListener = -1;).
    Какой в ней будет missionNumber при уничтожении юнита из подмиссии и хост-миссии?
    хост миссия- та которая загружается первой имеет номер 0, в OnActorDead(int missionNumber, string shortName, AiActor actor, System.Collections.Generic.List<DamagerScore> damages) missionNumber - номер миссии убитого актора. Ну и лучше скрипт весь в начальной миссии делать.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Задача в методе OnActorDead() отделить юниты самой подмисии(missionNumber=0 ??)
    нет, у подмиссии свой порядковый номер, 0 - у самой первой.
    Don't happy, be worry

  7. #7
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    хост миссия- та которая загружается первой имеет номер 0, в OnActorDead(int missionNumber, string shortName, AiActor actor, System.Collections.Generic.List<DamagerScore> damages) missionNumber - номер миссии убитого актора. Ну и лучше скрипт весь в начальной миссии делать.

    нет, у подмиссии свой порядковый номер, 0 - у самой первой.
    А есть метод определения номера подмиссии в ее же скрипте? Или придется запоминать ее акторы в списке при помощи OnActorCreate?(Т.е. что-то вроде this.missionNumber)

  8. #8
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    47
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    А есть метод определения номера подмиссии в ее же скрипте? Или придется запоминать ее акторы в списке при помощи OnActorCreate?(Т.е. что-то вроде this.missionNumber)
    int MissionNumber в миссии хранит её номер.
    Don't happy, be worry

  9. #9
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    int MissionNumber в миссии хранит её номер.
    Спасибо

  10. #10
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Вопрос к naryv, наверное. Сейчас при разработке миссии приходится прибегать к локализации сообщений и более гибкой настройке параметров(иначе миссия будет только на одном языке) - куда отправлять это сообщение(например "Chat", "ChatAndScreen" и "Screen"), отправить определенным игрокам, всем или определенной армии или просто перевести текст, никуда не отправляя(для пункта меню к примеру). Также нужен вариант отправки сообщения без перевода как есть(но с аналогичным локализации примером). Сам перевод сообщений берется из текстового или xml-файлов. Для этого приходится в сам скрипт миссии добавлять большой кусок кода, но тогда появляется проблема - в скрипты подмиссий его тоже придется добавлять и вообще в любой скрипт, где используется локализация и отправка сообщений. В GamePlay.gpLogServer и GamePlay.gpHUDLogCenter не проводится проверка на null емнип и вообще эти команды в чистом виде неудобны(обычно используют введение дополнительных параметров, указаны выше).
    Есть другой способ - отдельный класс в своей сборке dll, которая подключается к каждому скрипту, где необходимо. Этот вариант лучше.
    Возможно ли введение нового класса для отправки/локализации сообщений с указанными выше параметрами в игру? Необходимость - для любой серьезной миссии на сервере.

    Есть еще одна необходимость - хранилище переменных разных типов, доступное из скриптов подмиссий и хост-миссии. Это реализовано в командере от Small_Bee с примером.

    Ну и кроме этого, возможно встроить проверку на null(это самая частая и не всегда очевидная ошибка, возникающая казалось бы при добавленных везде проверках) куда-нибудь поглубже в код, чтобы не заниматься этим в каждом скрипте?

    П.С. Если потребуется, могу более подробно объяснить и привести примеры кода

    И пара дополнительных вопросов, более важных, т.к. их нельзя решить самим пользователям. Первое - это контроль над статиками. Проблема известная. Имеем много отлично проработанных наземных статических объектов и возможность создавать миссию нон-стоп, но не имеем возможности объединить их, т.к. учитывать и перезагружать статитики невозможно. Из-за это нынешние миссии мало чем отличаются от старых иловских. Есть наземка(причем посчитать можно только нестатики), длительность миссии несколько часов. Никакой линии фронта в нормальном виде или даже захватываемых аэродромов нет до сих пор в онлайне. Даже цель - завод/склад толком не организовать. Старые иловские костыли в виде машинок не работают. Потому-что если поставить живые - они разъезжаются сквозь стены в разные стороны несмотря на таймаут. Статические машинки - ничем не отличаются от зданий. Приходится ставить ПТ-пушки. Но это тоже плохой вариант, т.к. артиллерия имеет ИИ и отбирает лишние ресурсы у сервера. К тому же если приедут вражеские танки захватить склад - его продукция начнет стрелять по ним.

    Вторая проблема - нельзя из подмиссии загружать здания/окопы. Т.е. к примеру если команда "построила" аэродром, то он будет без ангаров и красот, обычное поле с зенитками. Или к примеру создаем объект завод, который загружается в подмиссии. Все здания/цеха приходится в ручную копировать в файл хост-миссии. Если бы возможность грузить такие объекты из подмиссий была - можно было бы сделать полноценные сменяемые аэродромы или опорные пункты, играющие роль линии фронта. Или строящиеся динамически оборону, склады, переправы.

    Велась/проводится ли какая-то работа по работе со статиками в ближайшем патче?
    Крайний раз редактировалось podvoxx; 31.05.2012 в 09:36.

  11. #11
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    47
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Вопрос к naryv, наверное. Сейчас при разработке миссии приходится прибегать к локализации сообщений и более гибкой настройке параметров(иначе миссия будет только на одном языке) - куда отправлять это сообщение(например "Chat", "ChatAndScreen" и "Screen"), отправить определенным игрокам, всем или определенной армии или просто перевести текст, никуда не отправляя(для пункта меню к примеру). Также нужен вариант отправки сообщения без перевода как есть(но с аналогичным локализации примером). Сам перевод сообщений берется из текстового или xml-файлов. Для этого приходится в сам скрипт миссии добавлять большой кусок кода, но тогда появляется проблема - в скрипты подмиссий его тоже придется добавлять и вообще в любой скрипт, где используется локализация и отправка сообщений. В GamePlay.gpLogServer и GamePlay.gpHUDLogCenter не проводится проверка на null емнип и вообще эти команды в чистом виде неудобны(обычно используют введение дополнительных параметров, указаны выше).
    Есть другой способ - отдельный класс в своей сборке dll, которая подключается к каждому скрипту, где необходимо. Этот вариант лучше.
    Возможно ли введение нового класса для отправки/локализации сообщений с указанными выше параметрами в игру? Необходимость - для любой серьезной миссии на сервере.

    Есть еще одна необходимость - хранилище переменных разных типов, доступное из скриптов подмиссий и хост-миссии. Это реализовано в командере от Small_Bee с примером.

    Ну и кроме этого, возможно встроить проверку на null(это самая частая и не всегда очевидная ошибка, возникающая казалось бы при добавленных везде проверках) куда-нибудь поглубже в код, чтобы не заниматься этим в каждом скрипте?
    С транслятором, думаю можно сделать, что то типа функции возвращающей строку на указанном языке из файла-словаря, подойдёт такой вариант? С хранилищем не знаю, есть ли необходимость, тем более что Small_Bee уже сделал его. С проверкой на null нет, не получится.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    И пара дополнительных вопросов, более важных, т.к. их нельзя решить самим пользователям. Первое - это контроль над статиками. Проблема известная. Имеем много отлично проработанных наземных статических объектов и возможность создавать миссию нон-стоп, но не имеем возможности объединить их, т.к. учитывать и перезагружать статитики невозможно. Из-за это нынешние миссии мало чем отличаются от старых иловских. Есть наземка(причем посчитать можно только нестатики), длительность миссии несколько часов. Никакой линии фронта в нормальном виде или даже захватываемых аэродромов нет до сих пор в онлайне. Даже цель - завод/склад толком не организовать. Старые иловские костыли в виде машинок не работают. Потому-что если поставить живые - они разъезжаются сквозь стены в разные стороны несмотря на таймаут. Статические машинки - ничем не отличаются от зданий. Приходится ставить ПТ-пушки. Но это тоже плохой вариант, т.к. артиллерия имеет ИИ и отбирает лишние ресурсы у сервера. К тому же если приедут вражеские танки захватить склад - его продукция начнет стрелять по ним.

    Вторая проблема - нельзя из подмиссии загружать здания/окопы. Т.е. к примеру если команда "построила" аэродром, то он будет без ангаров и красот, обычное поле с зенитками. Или к примеру создаем объект завод, который загружается в подмиссии. Все здания/цеха приходится в ручную копировать в файл хост-миссии. Если бы возможность грузить такие объекты из подмиссий была - можно было бы сделать полноценные сменяемые аэродромы или опорные пункты, играющие роль линии фронта. Или строящиеся динамически оборону, склады, переправы.

    Велась/проводится ли какая-то работа по работе со статиками в ближайшем патче?
    В принципе добавили три события - на убитого статика, здание и взрыв бомбы, с именами и координатами думаю для учёта поможет, не загружающиеся статики надо посмотреть, не знаю пока. Но это всё возможно будет только в финальной версии патча.
    Don't happy, be worry

  12. #12
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    С транслятором, думаю можно сделать, что то типа функции возвращающей строку на указанном языке из файла-словаря, подойдёт такой вариант? С хранилищем не знаю, есть ли необходимость, тем более что Small_Bee уже сделал его. С проверкой на null нет, не получится.
    У Small_Bee dll, которая работает только с выделенным сервером. Однако сингл-миссии и кампании тоже нужно локализовывать(я добавил свою сборку, но это все-таки неудобно) . К тому же свою dll приходится прописывать в референсах, копировать в папку игры, добавлять нэймспэйс - не очень удобно. К стати о добавлении dll - хорошо бы какую-нибудь папку в папке с игрой сделать для пользовательских сборок, сейчас они помещаются либо в корень, либо в parts/core.
    По транслятору можно как-то так:
    Задаем путь к папке с файлами локализации. У Small_Bee каждый язык в отдельном .txt-файле, вполне удобно. Кодиак на желтом выкладывал вариант с xml-файлом и всеми языками в нем.
    Код:
        string langFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "\\1C SoftClub\\il-2 sturmovik cliffs of dover\\missions\\Single\\LocalizationExample\\localization\\";
    Далее перевод нужного текста по метке(параметры: путь к папке с файлами локализации, метка для перевода текста, язык перевода). Т.е. метод возвращает текст перевода. Если перевод не найден - возвращается то же, что было отправлено.
    Код:
    public static string getTranslate(string langFolderPath, string msgKey, string langName)
    Ну и отправка сообщения, 3 метода(или же еще один параметр добавить, отвечающий за адресатов). Для армии, определенным игрокам и всем игрокам.
    Код:
    public static void SendMessageToAll(string msgKey, string target, params object[] args)
    public static void SendMessageToArmy(string msgKey, int army, string target, params object[] args)
    public static void SendMessageToPlayers(string msgKey, Player[] players, string target, params object[] args)
    target лучше как-то по другому сделать, наверное. Он имеет три варианта - Чат, Экран, Чат и экран.
    Причем по назначению метод(ToAll, ToArmy,ToPlayers) должен сам фильтровать игроков и быть универсальным для выделенного, сингла и кампании, ну и проверять на null конечно)).

    Это все очевидные вещи конечно, думаю разберетесь. А на будущее неплохо бы доработать HUD сообщения с возможность задавания цвета, расположения, величины шрифта(и самого шрифта), времени отображения, а также одновременного отображения нескольких худ-сообщений(Таким образом можно отображать где-нибудь в уголке параметры, счет в миссии, кол-во доступных самолетов и т.п.)

    По хранилищу - вещь нужная для обмена данными между подмиссиями, но в принципе если сложно/долго сделать - можем пользоваться своими сборками.

    Цитата Сообщение от naryv Посмотреть сообщение
    В принципе добавили три события - на убитого статика, здание и взрыв бомбы, с именами и координатами думаю для учёта поможет,
    Спасибо, хорошая новость А удалять статики можно будет подобно "живым" объектам?

    Цитата Сообщение от naryv Посмотреть сообщение
    не загружающиеся статики надо посмотреть, не знаю пока. Но это всё возможно будет только в финальной версии патча.
    Было бы просто замечательно, мы уже особо не торопимся)

    И с желтого просили передать за статики )) :
    FG28_Kodiak
    Give him a big kiss from me!
    Крайний раз редактировалось podvoxx; 31.05.2012 в 13:37.

  13. #13

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    В принципе добавили три события - на убитого статика, здание и взрыв бомбы, с именами и координатами думаю для учёта поможет, не загружающиеся статики надо посмотреть, не знаю пока. Но это всё возможно будет только в финальной версии патча.

  14. #14
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Тестировал наземку и отправлял в чат тип техники, т.е. groundActor.Type(). Иногда кроме обычных тракторов и танчиков появлялся тип Unknown. Это что за тип такой?(на null проверка проводится)

    И по корабликам вопрос интересует - http://www.sukhoi.ru/forum/showthrea...=1#post1850412

    А вот свежее подтверждение проблемы со статиками с картинками - http://www.sukhoi.ru/forum/showthrea...=1#post1850601
    Крайний раз редактировалось podvoxx; 31.05.2012 в 15:24.

  15. #15
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Вопрос к naryv

    NOT Destroyed actor

    При перезагрузке карты на сервере появляются такие сообщения, как это исправить?
    http://www.sukhoi.ru/forum/showthrea...=1#post1850768

    И в чем отличие команд f и file в консоли?
    Крайний раз редактировалось podvoxx; 01.06.2012 в 10:37.

  16. #16
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    47
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    У Small_Bee dll, которая работает только с выделенным сервером. Однако сингл-миссии и кампании тоже нужно локализовывать(я добавил свою сборку, но это все-таки неудобно) . К тому же свою dll приходится прописывать в референсах, копировать в папку игры, добавлять нэймспэйс - не очень удобно.
    Сделал так - прписываем путь к словарю(может быть xml или SectionFile ), потом строку для перевода передаём в функцию, которая возвращает на заданном языке строку-перевод, либо оригинал, если перевода нет.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Ну и отправка сообщения, 3 метода(или же еще один параметр добавить, отвечающий за адресатов). Для армии, определенным игрокам и всем игрокам.
    тут не понял, ведь указывается уже кому отправляется сообщение.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Спасибо, хорошая новость А удалять статики можно будет подобно "живым" объектам?
    сейчас нет, только ивенты о смерти, но посмотрим.


    Проверил загрузку стационарных объектов в подмиссии - грузится, надо конкретизировать что именно не загружается.


    Цитата Сообщение от podvoxx Посмотреть сообщение
    Тестировал наземку и отправлял в чат тип техники, т.е. groundActor.Type(). Иногда кроме обычных тракторов и танчиков появлялся тип Unknown. Это что за тип такой?(на null проверка проводится)
    неизвестный тип, ни к кому из заданных не относится, или не указан в базе объектов.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    И по корабликам вопрос интересует - http://www.sukhoi.ru/forum/showthrea...=1#post1850412
    емнип нельзя.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    А вот свежее подтверждение проблемы со статиками с картинками - http://www.sukhoi.ru/forum/showthrea...=1#post1850601
    эммм на картинке разрушенный ангар, в чём именно проблема?

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Вопрос к naryv

    NOT Destroyed actor

    При перезагрузке карты на сервере появляются такие сообщения, как это исправить?
    http://www.sukhoi.ru/forum/showthrea...=1#post1850768
    Это стационарные объекты, стат. камеры и т.п. которые не были убиты в миссии остаются в следующую.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    И в чем отличие команд f и file в консоли?
    сейчас ни в чём, в Ил-е отличались, сейчас работают одинаково.
    Don't happy, be worry

  17. #17
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    тут не понял, ведь указывается уже кому отправляется сообщение.
    Указывается для армии, массива игроков и для всех игроков?
    Цитата Сообщение от naryv Посмотреть сообщение
    сейчас нет, только ивенты о смерти, но посмотрим.
    Просто если нельзя удалить объект, то миссию придется перезагружать. И на месте этого объекта другой не поставить(например поменять синий аэродром на красный с соответствующими статиками)
    Цитата Сообщение от naryv Посмотреть сообщение
    Проверил загрузку стационарных объектов в подмиссии - грузится, надо конкретизировать что именно не загружается.
    Я видимо запутал в понятиях. Под статиками имел в виду не только из группы "Статический" в редакторе, но и "Здания и сооружения" - вот они не грузятся в подмиссиях

    Цитата Сообщение от naryv Посмотреть сообщение
    эммм на картинке разрушенный ангар, в чём именно проблема?
    Хотелось бы об их убиении тоже получать сообщения. Сейчас там стоят пушки. Ангар взрывается, пушки заваливает, их почти не достать после этого. Их вообще не должно там быть по-хорошему(к тому же они "живые" и при приближении вражеской наземки начнут стрелять).
    В общем нужно чтобы при уничтожении здания обрабатывалось событие соответствующее, чтобы не запихивать в него пушки или вагончики, а достаточно было бы самого здания. Ну и чтобы они могли перезагружаться на карте нормально для организации войны нон-стоп с динамической линией фронта и складами/заводами

    Цитата Сообщение от naryv Посмотреть сообщение
    Это стационарные объекты, стат. камеры и т.п. которые не были убиты в миссии остаются в следующую.
    А зачем они в следующей? И как это влияет на работу миссии и сервера?
    Крайний раз редактировалось podvoxx; 01.06.2012 в 14:37.

  18. #18
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    47
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Указывается для армии, массива игроков и для всех игроков?
    для массива, а этот массив уже делается таким как автор хочет.
    Цитата Сообщение от podvoxx Посмотреть сообщение
    Просто если нельзя удалить объект, то миссию придется перезагружать. И на месте этого объекта другой не поставить(например поменять синий аэродром на красный с соответствующими статиками)
    да, это понятно.
    Цитата Сообщение от podvoxx Посмотреть сообщение
    Я видимо запутал в понятиях. Под статиками имел в виду не только из группы "Статический" в редакторе, но и "Здания и сооружения" - вот они не грузятся в подмиссиях
    Да, здания не грузятся.
    Цитата Сообщение от podvoxx Посмотреть сообщение
    Хотелось бы об их убиении тоже получать сообщения. Сейчас там стоят пушки. Ангар взрывается, пушки заваливает, их почти не достать после этого. Их вообще не должно там быть по-хорошему(к тому же они "живые" и при приближении вражеской наземки начнут стрелять).
    В общем нужно чтобы при уничтожении здания обрабатывалось событие соответствующее, чтобы не запихивать в него пушки или вагончики, а достаточно было бы самого здания. Ну и чтобы они могли перезагружаться на карте нормально для организации войны нон-стоп с динамической линией фронта и складами/заводами
    да, так и сделано, при уничтожении здания соответствующий ивент происходит.
    Цитата Сообщение от podvoxx Посмотреть сообщение
    А зачем они в следующей?
    не знаю точно, возможно, чтобы не перезагружать лишний раз.
    Цитата Сообщение от podvoxx Посмотреть сообщение
    И как это влияет на работу миссии и сервера?
    да никак по идее, просто стационарные объекты которых не убили остануться .
    Don't happy, be worry

  19. #19
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    для массива, а этот массив уже делается таким как автор хочет.
    Просто обычно используются три таких массива - армия, все игроки, произвольный массив игроков. И собрать такие массивы не так просто. Например если отправлять сообщения всем в чат и на экран одновременно нужно обязательно исключать Server из массива адресатов, иначе при отправке HUD на выделенном появляется ошибка. Это часть проблемы универсальности - нужно сначала определить что за тип игры, отсортировать, потом проверять на null и так для все трех вышеуказанных основных типов сообщений. И это будет засорять каждый скрипт, где есть отправка сообщений. Вот такой кусок примерно:
    Код:
    public static void SendMessageToAll(string langFolderPath, string msgKey, string target, params object[] args)
            {
                List<Player> players = new List<Player>();
                List<Player> playersScreen = new List<Player>();
                if (target == "Chat")
                {
                    if (GamePlay.gpPlayer() != null)           
                        players.Add(GamePlay.gpPlayer());            
                    if (GamePlay.gpRemotePlayers() != null)
                     players.AddRange(GamePlay.gpRemotePlayers());
    
                    if (players.ToArray() != null)
                        {
                            send(langFolderPath, players.ToArray(), msgKey, target, args);
                        }
    
                }
                else if (target == "Screen")
                {
                    if (GamePlay.gpPlayer() != null)
                        if (GamePlay.gpPlayer().Name().ToString() != "Server")
                        {
                            players.Add(GamePlay.gpPlayer());
                        }
                    if (GamePlay.gpRemotePlayers() != null)
                        players.AddRange(GamePlay.gpRemotePlayers());
    
                    if (players.ToArray() != null)
                    {
                        send(langFolderPath, players.ToArray(), msgKey, target, args);
                    }
                }
                else if (target == "ChatAndScreen")
                {
                    // Chat
                    if (GamePlay.gpPlayer() != null)                    
                        players.Add(GamePlay.gpPlayer());
                    if (GamePlay.gpRemotePlayers() != null)
                        players.AddRange(GamePlay.gpRemotePlayers());
    
                    if (players.ToArray() != null)
                    {
                        send(langFolderPath, players.ToArray(), msgKey, "Chat", args);
                    }
    
                    //Screen
                    if (GamePlay.gpPlayer() != null)
                        if (GamePlay.gpPlayer().Name().ToString() != "Server")
                        {
                            playersScreen.Add(GamePlay.gpPlayer());
                        }
                    if (GamePlay.gpRemotePlayers() != null)
                        playersScreen.AddRange(GamePlay.gpRemotePlayers());
    
                    if (playersScreen.ToArray() != null)
                    {
                        send(langFolderPath, playersScreen.ToArray(), msgKey, "Screen", args);
                    }
                }    
            }
    
            public static void SendMessageToArmy(string langFolderPath, string msgKey, int army, string target, params object[] args)
            {
                List<Player> players = new List<Player>();
                List<Player> acceptedPlayers = new List<Player>();
    
                if (GamePlay.gpPlayer() != null)           
                    players.Add(GamePlay.gpPlayer());            
                if (GamePlay.gpRemotePlayers() != null)
                    players.AddRange(GamePlay.gpRemotePlayers());
    
                if (players != null)
                {
                    foreach (Player player in players)
                    {
                        if (player.Army() == army) acceptedPlayers.Add(player);
                    }
                    if (acceptedPlayers.Count > 0)
                    {
                        send(langFolderPath, acceptedPlayers.ToArray(), msgKey, target, args);
                    }
                }
            }
    
            public static void SendMessageToPlayers(string langFolderPath, string msgKey, Player[] players, string target, params object[] args)
            {
                if (players != null)
                {
                    send(langFolderPath, players, msgKey, target, args);
                }
            }
    При том, что обычно используются только эти три типа(они покрывают все потребности) - SendMessageToAll, SendMessageToArmy и произвольные массив - SendMessageToPlayers
    Цитата Сообщение от naryv Посмотреть сообщение
    Да, здания не грузятся.
    Это не планируется менять? Просто для миссий, где загрузка подмиссий меняется от каких-то условий невозможно предусмотреть все постройки в хост миссии. И вообще получается окопы где-то в хостмиссии, артиллерия в подмиссии и еще неизвестно, появится ли она на карте(в зависимости от условий). Это не дает воспользоваться возможностями игры по организации динамической войны.

    И еще вопрос. По мультиплеерным аддинам будут изменения в новом патче?

  20. #20
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    47
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Просто обычно используются три таких массива ...
    При том, что обычно используются только эти три типа(они покрывают все потребности) - SendMessageToAll, SendMessageToArmy и произвольные массив - SendMessageToPlayers
    Это уход в частности, думаю вряд-ли будем делать.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Это не планируется менять? Просто для миссий, где загрузка подмиссий меняется от каких-то условий невозможно предусмотреть все постройки в хост миссии. И вообще получается окопы где-то в хостмиссии, артиллерия в подмиссии и еще неизвестно, появится ли она на карте(в зависимости от условий). Это не дает воспользоваться возможностями игры по организации динамической войны.
    Поменять нельзя, это связано с сетевым кодом и механизмом работы домиков. Как вариант - можно в стационарные объекты добавить здания нужные для подгрузки в таких миссиях(только надо список таких зданий).

    Цитата Сообщение от podvoxx Посмотреть сообщение
    И еще вопрос. По мультиплеерным аддинам будут изменения в новом патче?
    По идее должен быть пример, показывающий как делать такие аддины.
    Don't happy, be worry

  21. #21
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    Это уход в частности, думаю вряд-ли будем делать.
    Но тогда придется все равно использовать отдельную сборку, чтобы не засорять одинаковым кодом скрипты.
    По сути нужен метод, который будет собирать либо всех игроков, либо определенной армии в зависимости от задачи.

    Цитата Сообщение от naryv Посмотреть сообщение
    Поменять нельзя, это связано с сетевым кодом и механизмом работы домиков. Как вариант - можно в стационарные объекты добавить здания нужные для подгрузки в таких миссиях(только надо список таких зданий).
    Все ангары, промышленные здания и окопы можно перенести в статические. Остальное не помню, посмотрю сегодня. А так будет идеальное решение.

    И спасибо за ответы и доработку

  22. #22

    Re: Вопросы.

    Кто может подсказать, написать мнуал, как сделать в полном редакторе миссию для теста набивки лент. 1 противник бот самый простой летящий по прямой и за ним с превышением в 500 м мы. В редакторе я полный бот.

  23. #23
    Пилот Аватар для aeros
    Регистрация
    02.04.2005
    Адрес
    Краснодар
    Возраст
    52
    Сообщений
    762

    Re: Вопросы.

    Кто может подсказать, написать мнуал, как сделать в полном редакторе миссию для теста набивки лент. 1 противник бот самый простой летящий по прямой и за ним с превышением в 500 м мы. В редакторе я полный бот.
    Метод проб и находок ни кто не отменял).
    Для начала нужно добиться появления своего самолета и себя в нем.
    1. Загрузить карту по-проще.
    2. Самолет выбирается в "объектах", затем клик на карте ЛКМ и "инсерт" - появится кружок, т.е. самолет. Это не все, дальше нужно еще раз кликнуть и инсертнуть - появится следующая точка маршрута, соединенная линией - т.е. куда он будет лететь.
    3. Изучить все менюшки во всех вкладках в свойствах этого самолета, найти галку "самолет игрока" или "игрок", не помню, и поставить ее.
    4. Найти меню с набивкой и набить).
    5. Сохранить миссию как "летчик снайпер - 1!!"
    6. Запустить ее, убедиться, что самолет, патроны и пилот функционируют нормально.
    ---
    Все, после этого создать противников труда не составит.
    Сведение в редакторе не выставляется!!!!, только в настройках самолета в основном меню игры.
    P8P67EVO/i5 2500K 3.30GHz/8Gb/6950 2Gb/600W/DELL U2410 1920x1200/Directroad HOTAS металл-холлы/TrackIR5 ClipPro/Win7x64

  24. #24

    Re: Вопросы.

    На карте можно нажать только правой и то предлагает "вставить из файла". Я просто тупо не могу добавить объект на карту.

  25. #25
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от Malevich Посмотреть сообщение
    На карте можно нажать только правой и то предлагает "вставить из файла". Я просто тупо не могу добавить объект на карту.
    Меню сверху смотри, навигатор объектов. В верхнем меню все основные инструменты

Страница 20 из 30 ПерваяПервая ... 10161718192021222324 ... КрайняяКрайняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •