-
Posts
983 -
Joined
-
Last visited
-
Days Won
4
Content Type
Profiles
Forums
Events
Everything posted by BAntDit
-
Собсно я с тем же вопросом, что и остальные - помоги выбрать проц. и вюдюху, и все остальное тоже помогите выбрать :) Сам я себе набросал, что-то такое: У меня когнитивный диссонанс в плане выбора проца - смотреть на процы с LGA 2011 или все таки на LGA 1150) - пока решил, что на 1150. Не уверен, что удачно выбрал видеокарту. Вообще не знаю, какой винт выбрать.
-
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Нет, собственно это и не нужно. Координаты CargoPlace можно задать и без триггерной зоны. Триггерная зона это просто такой способ получить координаты нужной точки. Можно создать несколько триггерных зон, сохранить их координаты (точки), а сами триггерные зоны поудалять из миссии, а в миссии использовать только их сохраненные точки, выбирая их случайным образом. Прикрепил к посту миссию, которая выполняет сохранение в лог координат всех триггерных зон, которые есть в миссии. Пользоваться так: Эти сохраненные координаты потом можно использовать при написании скриптов без необходимости привязываться к каким-либо триггерным зонам или статическим объектам. save_points.miz -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
я помню, просто пока не получается выделить время. можно, когда буду более свободен - попробую сделать. -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Can't say exactly - even in russian language there is a lot of work to complete documentation. I think, on my nearest vacation (May 2014) i'll try to find somebody who can speak well enough in english and russian and who can help me to translate documentation and add subtitles for video guides. -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Можно. Все объекты созданные в редакторе (в т.ч. точки маршрутов) доступны в процессе миссии через таблицу env.mission. В частности точки маршрута группы Test в миссии, которая приводилась выше можно получить так: env.mission.coalition.red.country[2].vehicle.group[3].route.points 1. То что привел выше это только пример. По уму должна быть функция, которая по заданной коалиции, ИД страны и имени группы возвращает массив точек маршрута. 2. Проще, наверно сделать так: 1) создать группу в редакторе и нужные точки маршрута 2) Открыть файлик миссии в Notepad++ и списать из него координаты точек. 3) снова открыть миссию в редакторе удалить статические точки маршрута и задать скриптовые по известным координатам. Между скриптовыми можно уже переключатся как угодно. -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Для наземной техники без динамически созданных Waypoint-ов (WP) этого не сделать никак, в идеале лучше все движение группы задавать динамическими WP. (Триггерные зоны создавать для этого не обязательно, в примере я просто привязывался к координатам триггерной зоны). -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
как вариант: local _tz = trigger.misc.getZone('zone_name'); local _volume = { id = world.VolumeType.SPHERE, params = { point = _tz.point, radius = _tz.radius }; } local _found_units = world.searchObjects(Object.Category.UNIT, _volume, function(_object, _data) return false; end, {}); if #found_units > 0 then local _group = _found_units[1]:getGroup(); trigger.action.outText('В зоне группа: ' .. _group:getName(), 15); end Так ты получаешь одну из группу, которая находится в зоне, но это не гарантирует, того, что ты получишь ту самую группу по которой сработал триггер . -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Если не использовать MSF, то как-то так: local _test_group = Group.getByName('test'); local _start_position = _test_group:getPoint(); local _destination_zone = trigger.misc.getZone('destination'); -- новая точка маршрута -- в центре триггерной зоны destination local _task = { id = 'Mission', params = { route = { points = { [1] = { action = AI.Task.VehicleFormation.OFF_ROAD, x = (_start_position.x + 0.2), y = (_start_position.z + 0.2), speed = 10, ETA = (timer.getTime() + 4), ETA_locked = true, speed_locked = false, name = 'start_point' }, [2] = { action = AI.Task.VehicleFormation.OFF_ROAD, x = _destination_zone.point.x, y = _destination_zone.point.z, speed = 15, ETA = (timer.getTime() + 20), ETA_locked = false, speed_locked = true, name = 'destination point' } } } } }; local _controller = _test_group:getController(); local _task_status, _task_error = pcall(function() _controller:setTask(_task); return 0; end); if not _task_status then env.error('task error: ' .. tostring(_task_error), false); end -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Ты пытаешься удалить некоторую сущность (группу) из команды, которая собсно в этой сущности и хранится - это не хорошо :) Удаляй группу с задержкой и все будет нормально - исправленную версию твоей миссии приложил к посту. ----- MSF я использовал, только для более удобного создания динамической группы - он тут не причем. ---- P.S.: баг я все равно добавлю в баг репорты, пожалуй, если он воспроизведется на внутренней версии, так как не верные решения в пользовательских скриптах в любом случае не должны приводить к крешам. P.S.S: забавно, но не давно столкнулся с такой же ошибкой в другой игрушке, когда одна сущность зафигачивала тут в которой сама хранится :D test_fixed.miz -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Сейчас проверил, все работает. Метод destroy нормально удаляет любые группы как динамически созданные, так и группы созданные в редакторе миссий. Миссию для примера приложил к посту: 1. Группа dynamic_group создает на 1-ой секунде миссии, удаляется на 10-ой. 2. Группа static_group создана в редакторе миссий, удаляется на 20-ой секунде. ----- P.S.: можешь выложить сюда свой пример миссии, которая вызывает crash? - только такой пример, чтобы crash легко воспроизводился и не нужно было ждать его два часа после старта миссии. destroy_test_2.miz -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Достигает, он не может не достигнуть 180 сек. Потому, что при каждой высадке заново назначается задача, при этом старую никто не отменял - результат: scheduled functions перекрывают друг друга. ---- 1. Этого принципиально не может быть. Задаче 'Fire At Point' фиолетово в онлайне она выполняется или нет. 2. Разрешать управление группой, которой управляет скрипт - это уже не правильное решение. -------- Используя функцию: function array DetectedTargets Controller.getDetectedTargets(Controller self, [Controller.Detection detection1, Controller.Detection detection2, ... Controller.Detection detectionN] or nil) Controller.Detection может иметь значения: DetectedTarget имеет следующую структуру: Примечание: 1. distance содержит не текущую дистанцию до цели, а дистанцию, которая была до цели в момент контакта (в тот момент, когда visible принимает значение true). 2. Для ЛА-юнитов контроллер лучше получать через юнит (Controller function Unit.getController(Unit self)), для наземных юнитов хоть как: хоть через группу, хоть через юнит (Controller function Unit.getController(Unit self) или Controller function Group.getController(Unit self)). У наземных юнитов нет индивидуальных контроллеров - у них коллективный разум :) Нет. Т.к. вертолет управляется игроком. (Возможность получения ЦУ от игрока скриптом есть в хотелках, но пока не известно будет ли эта хотелка реализована). MSF группы имеют метод addTask принимающий scheduled функцию, которая будет выполнятся с определенной периодичностью или однократно. Можно написать функцию целеуказания (используя SSE - то что описано выше) и использовать её как задачу. -
1. Достаточно просто запретить управление динамическими группами. 2. Во внутренней тестовой версии вроде как баг уже исправлен. ---- P.S.: И это кстати была причина креша клиентов, а не зависания. P.P.S.: Кривой скрипт и без багов сервак положит запросто :) P.P.P.S: Как временное решение для моих скриптов, запрет управления высаженными группами ставьте в ините пример: table.insert(_en_2b11, { unitType = '2B11 mortar', [b]playerCanDrive =[color="Red"] false[/color][/b], pointOffset = { x = 14, y = 14 } }); ---- На сколько помню на RAF-е запрет на управление высаживаемых групп как раз таки включен был всегда
-
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
1. Да, но если вы заменили файлы с .wav на .ogg то нужно переписать ссылки на файлы внутри скрипта sound_map.lua (это файл внутри миссии), внутри него же можно посмотреть список файлов, который используется. 2. Я для озвучки этой миссии брал голос ДРЛО, сейчас посмотрел - лучше брать голос одного из ведомых - он как-то пободрее звучит. -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
В версии 1.0.2 beta, которая сейчас доступна для скачивания уже все реализовано, протестировано и работает. Есть несколько недоделок, но они не критичны: 1. Не реализованы AI перехватчики (боты). 2. Есть баг при вычислении скорости сближения при выдаче ЦУ для перехватчиков. 3. Есть баг воспроизведения озвучки для коалиции (т.е. если озвучка воспроизводится сразу для всей коалиции, а не для группы) 4. Документация дописана не до конца. -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Можно, но пока не могу взяться - со временем плохо. Можно попробовать перегнать .wav файлы в .ogg, качество у них уменьшить, тогда может получится сократить объем. Если полностью убирать озвучку, то будет не атмосферно, для перехватчиков заменить озвучку на текст так почти не реально - слишком много сообщений для них идет. Я уже джва года жду, когда реализуют возможность проигрывать стандартные звуковые файлы игры, не вкладывая их в файл миссии, но пока такой возможности нет. Т.е. хотелка такая есть, её уже давно просили в англоязычной части форума, но пока она не реализована, если реализуют это даст множество возможностей по озвучке миссий, не увеличивая их объема. На RF-е одно время крутились миссии по 8-9 Мб вполне нормально. Просто в начало описания миссии лучше фразу добавлять, что объем миссии значительный, загружаться будет долго, просьба проявить терпение. -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Спасибо. Проверили на внутренней версии. Баг добавлен в баг репорты. Как будут новости по этому багу сообщу. -
Тогда лучше в TeamSpeak - я в субботу, воскресенье буду в ТС RF-а сидеть, примерно, в 19-22 по МСК. Возможно и сегодня, но сегодня я не знаю во сколько домой доберусь.
-
Может лучше сделать тогда, что если место приземления пилота вода, то это равносильно тому что пилот утонул и не создавать юнита? ---- Вообще приводнится с парашютом на воду - это большая вероятность утонуть.
-
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Ok, воспроизведу на внутренней версии, добавлю в баг репорты. -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Это делается через обработчик события высадки onUnloadCargoEventHandler. Пример позже выложу. ---- Нужен трек или миссия,в которой это можно воспроизвести. -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
1. Не очень понял, что должно происходить - пересчитываться координаты появления юнита, если текущие координаты попадают в триггерную зону? 2. Триггерная зона случайно не для того, чтобы ограничить появление юнита в воде? -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
действие радио передача имеет соответствующие настройки в редакторе и частоту, и модуляцию - соответственно, чтобы прослушать звуковой файл в кабине самолета, одна из радиостанций должна быть настроена на параметры выставленные в редакторе. -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Качай бету: MSF beta 1.0.2 - он актуальней (старый я давно уже не обновляю - наверно уже пришла пора полностью убрать msf 1.0.1, а msf beta 1.0.2 переименовать в msf 1.0.2). У аэродромов близлежащая территория считается зоной аэродрома и посадка в этой зоне вызывает соответствующее событие - с этим ничего не поделать. Но тем не менее проверить, соответствует ли место посадки зоне ВПП можно,в том числе можно проверить коалиционную принадлежность аэродрома севшему юниту. Это все можно сделать через обработку события S_EVENT_LAND. Тут сразу вопрос возникает, а каким именно способом у вас воспроизводится звук? Если через редактор, то какое действие по триггеру используется, если через скрипт, то какая функция? -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Файл скрипта в миссии не заменился значит, бывает иногда (может миссию не пересохранил, может глюк). Можешь распаковать миссию и заменить файл руками, так надежней. -
Разработка миссии на основе Simulator Scripting Engine
BAntDit replied to BAntDit's topic in Треки, Миссии и Кампании
Бегло просмотрел - транспортный юнит не прописан в ининте, собсно поэтому не работает. В ините должна быть строчка: mission.model:addUnit('Vert_1'); ---- P.S.: сейчас вдруг подумал, что наверно нужно сделать, чтоб транспортные юниты в модель MSF добавлялись автоматически при страте.