B3OP Posted August 13, 2016 Posted August 13, 2016 (edited) Экспериментирую. Создал тестовую миссию для обкатки рандома событий и вот опять двадцать пять. Миссию прикрепил к сообщению. В ней сгородил алгоритм появления(старта) юнитов, они рандомно выдвигаются причём в случайный момент. Вопервых, сначала не получалось сделать что бы это вообще заработало, вроде по логике должно но ребус оказался тот ещё. Оказалось что триггер "СТАРТ МИССИИ" у меня не срабатывал. В итоге сделал миссию с одинм триггером "СТАРТ МИССИИ", условие 5 сек, действие - текст всем "блаблабла" — и не работает!. А заменил на триггер "ОДИН РАЗ" и все заработало. Это баг? У меня старая версия игры, не знаю как в крайней это дело работает. Второй момент, я не могу сообразить почему юниты выполняют программу в два раза дольше чем ожидал. Они должны вроде уложится за 20 сек, так как в условиях крайнее рандомное число выпадает не более 20. Таймер по идеи тикает 1 раз в сек, но по ощущениям как 1 раз в 2 сек. Или я что-то не замечаю.:dunno: Надо сказать что рандом сильно меняет миссию, на союзный юнит выскакивает неизвестное количество противника и ещё каждый раз в случайное время, одних уже обнаружил, а другие только начинают свой ход. Я был в напряжении защищая на ка-50 союзного юнита хотя знаю откуда их ожидать, но приходится крутиться на акуле не по детски. А разброс по времени в я им сделал +/- 2 минуты и ползут эти Уралы ЗУ-23 буквально со всех сторон. Такое вот одно из заданий будет :D Короче вирпилы, рекомендую побольше рандома в ваших миссиях!TestRND.miz Edited August 13, 2016 by B3OP Без разрыва шаблонов — нет прогресса.
ED Team SL PAK Posted August 13, 2016 ED Team Posted August 13, 2016 ..Оказалось что триггер "СТАРТ МИССИИ" у меня не срабатывал. В итоге сделал миссию с одинм триггером "СТАРТ МИССИИ", условие 5 сек, действие - текст всем "блаблабла" — и не работает!. А заменил на триггер "ОДИН РАЗ" и все заработало. Это баг? У меня старая версия игры, не знаю как в крайней это дело работает. Триггер "СТАРТ МИССИИ" срабатывает при старте миссии. Никаких условий ему устанавливать не надо.
29S Posted August 14, 2016 Posted August 14, 2016 Второй момент, я не могу сообразить почему юниты выполняют программу в два раза дольше чем ожидал. Они должны вроде уложится за 20 сек, так как в условиях крайнее рандомное число выпадает не более 20. Таймер по идеи тикает 1 раз в сек, но по ощущениям как 1 раз в 2 сек. Или я что-то не замечаю.:dunno: Замени триггер "время после флага (10,1)" на триггер "флаг истинен (10)". Тогда и будут раз в секунду действия.
B3OP Posted August 14, 2016 Posted August 14, 2016 Триггер "СТАРТ МИССИИ" срабатывает при старте миссии. Никаких условий ему устанавливать не надо. Ну вот, оказывается ларчик просто открывался ) Замени триггер "время после флага (10,1)" на триггер "флаг истинен (10)". Тогда и будут раз в секунду действия. Кажется понимаю почему, во "времени после флага" добавляется 1 секунда. Триггеры проверяются 1 раз в сек, если "флаг истинен" то факт налицо и далее действие. А если "время после флага" то сначала выявляется факт того что флаг есть, а потом ещё факт того что прошла 1 секунда. Я правильно понял? Но в моем случае не применимо, надо чтобы проверялось время после флага. Потому что если в условии "флаг истинен" то разброс по времени не сделать больше 100 сек из-за того что у флага максимальное значение не может быть больше 100. А временем после флага можно регулировать разброс по времени и сделать случайное появление хоть в течении часа. Спасибо мужики, очень выручаете. Вопрос, имеет ли значение на каком языке делать названия триггерам, юнитам, группам и т.д? Я знаю что имя у картинок и звука обязательно должны быть на латинице, а от про остальное не в курсе. Без разрыва шаблонов — нет прогресса.
29S Posted August 15, 2016 Posted August 15, 2016 из-за того что у флага максимальное значение не может быть больше 100. Почему? Можно также использовать переменные и луа-предикаты для их проверки. Это не так сложно, чтобы разобраться в этом. Но лучше хоть частично использовать скрипты. Вот у тебя сейчас шесть бойцов (групп), и для каждого из них по два триггера. А если их будет двадцать?
B3OP Posted August 15, 2016 Posted August 15, 2016 Почему? Можно также использовать переменные и луа-предикаты для их проверки. Это не так сложно, чтобы разобраться в этом. Но лучше хоть частично использовать скрипты. Вот у тебя сейчас шесть бойцов (групп), и для каждого из них по два триггера. А если их будет двадцать? Подобных юнитов в миссии будет много больше чем 20. Но большая часть заморожены, активирую только тех что в текущем задании. Мне показывали талмут про скрипты, там такая жирная книженция. Это очень много времени. Я как-то давненько пытался баловаться Бейсиком на ZX Spectrum и понял что мой мозг не адаптирован к программированию :D То что можно сделать парой изящных строк, я сделаю нагородив забор. Без разрыва шаблонов — нет прогресса.
Neuman Posted August 17, 2016 Posted August 17, 2016 Интересно, а возможно ли когда-нибудь будет другая реализация зон ? То есть не через окружность, а например через квадрат, отрезок или другие фигуры? Или это потенциально настолько архи-сложно, что шансы на реализацию стремятся к нулю? [sIGPIC][/sIGPIC] Core i5, 16GB RAM, GF-760, SSD
azm Posted August 17, 2016 Posted August 17, 2016 (edited) Интересно, а возможно ли когда-нибудь будет другая реализация зон ? То есть не через окружность, а например через квадрат, отрезок или другие фигуры? Или это потенциально настолько архи-сложно, что шансы на реализацию стремятся к нулю? Писал подобное в хотелки. Реализация зон произвольной формы (например обвести нужный район по контуру) по идее не архисложная задача (определение принадлежности точки многоугольнику), вопрос скорее в приоритетах и ресурсах. Edited August 17, 2016 by azm 1
29S Posted August 17, 2016 Posted August 17, 2016 Интересно, а возможно ли когда-нибудь будет другая реализация зон ? То есть не через окружность, а например через квадрат, отрезок или другие фигуры? Или это потенциально настолько архи-сложно, что шансы на реализацию стремятся к нулю? Скриптами можно и сферу, и куб, и квадрат, и по сетке координат.
Neuman Posted August 17, 2016 Posted August 17, 2016 Понятно, спасибо, надеюсь что когда-нибудь реализуют в более простом виде. [sIGPIC][/sIGPIC] Core i5, 16GB RAM, GF-760, SSD
B3OP Posted August 18, 2016 Posted August 18, 2016 Писал подобное в хотелки. Реализация зон произвольной формы (например обвести нужный район по контуру) по идее не архисложная задача (определение принадлежности точки многоугольнику), вопрос скорее в приоритетах и ресурсах. Отслеживание юнитов в таких произвольных зонах заметно увеличит нагрузку на комп. Круг самое простое решение в плане вычислений, нужно проверить только расстояние юнита от центра триггерной зоны и все. Без разрыва шаблонов — нет прогресса.
azm Posted August 18, 2016 Posted August 18, 2016 Отслеживание юнитов в таких произвольных зонах заметно увеличит нагрузку на комп. Нет. Особенно в сравнении с общим объёмом вычислений в игре.
azm Posted August 19, 2016 Posted August 19, 2016 Такой вопрос - можно как-то сделать чтобы борта типа "клиент" появлялись на стоянке сразу после старта миссии а не после того когда в него садишься?
B3OP Posted August 19, 2016 Posted August 19, 2016 (edited) Возник опять вопрос с последовательностью проверок условий. Допустим: Граничное условие________|___флаг 10 = 0 ___________________| флаг 10 присвоить значение 1 ____________________________Время после флага 9=300 ____________________________"Юнит" в зоне "N" Вопрос, будет ли проверка юнита в зоне N если флаг 10 = 1 ? апд. Не правильно вопрос сформулировал ) Вопшем, интересует вот что, проверяется ли наличие юнита в зоне всегда или проверка начинается если условие того требует. Ну т.е. если сделать триггер который в условиях должен проверить наличие юнита в этой зоне то проверка будет постоянной, 1 раз в сек. А если в условиях перед проверкой зоны с юнитом поставить ещё одно условие то проверится ли зона если предыдущее условие не выполнено. Т.е есть ли разница между (флаг=10, юнит в зоне N ) и (юнит в зоне N, флаг=10) :D Edited August 19, 2016 by B3OP Без разрыва шаблонов — нет прогресса.
B3OP Posted August 20, 2016 Posted August 20, 2016 Выложу "менеджер звуковых сообщений" Может кому пригодится. Чтобы одно звуковое сообщение не прерывало другое можно использовать следующий алгоритм из двух строк: 1) повторяющиеся — если (F1 = true) то (F2 + 1) 2) повторяющиеся — если (F2 = F3) то (F2 = 0, F1 = false) А в триггерах с сообщениями нужно указать флаги F1 и F3: 1) 1 раз — если (F1 = false, + условие для срабатывания триггера ) то (F3 = t, F1 = true, + текстовое сообщение + звуковое сообщение) F1, F2, F3 — это флаги. true — флаг поднят false — флаг убран t — время в секундах, указывается длительность звука. И тогда сообщение будет "стоять в очереди" пока другое не проиграется, t указывайте на 1-2 секунды больше чем длительность звука. Без разрыва шаблонов — нет прогресса.
29S Posted August 20, 2016 Posted August 20, 2016 Т.е есть ли разница между (флаг=10, юнит в зоне N ) и (юнит в зоне N, флаг=10) :D Есть. В логическом "И" при ложности первого условия, второе и последующие условия проверяться не будут. Это уже не имеет смысла. В логическом "ИЛИ" при истинности первого условия, второе и последующие условия проверяться не будут (или будут проверяться до первого истинного). Поэтому, первыми лучше ставить простые условия для сравнения, далее - более сложные.
B3OP Posted August 20, 2016 Posted August 20, 2016 (edited) Можно как-то отследить факт стрельбы конкретного юнита и (или) игрока? Как отследить что конкретный юнит уничтожил другого юнита? апд Разобрался с одним вопросом, благодаря постам SL_PAK. Теперь я могу отличать выстрелы юнитов от выстрелов игрока, ууА! А как определить что по этому БТРу лупит вон тот бородатый, а не этот — идей нет. Ну или хотя бы выяснить что стреляет противник, а не союзник. Edited August 20, 2016 by B3OP Без разрыва шаблонов — нет прогресса.
ASW Posted August 21, 2016 Posted August 21, 2016 Если не сложно,у кого нибуть есть пример миссии-Мой ЛА в триггерной зоне(15 м),к нему подъехал АТЗ,ЛА выехал изх зоны-АТЗ отъехал на свое место,и так постоянно. Мне проще посмотреть на примере,как это сделано т.к уже неделю мозг ломаю.( GreyCat_SPb
BKZerg Posted August 21, 2016 Posted August 21, 2016 Если не сложно,у кого нибуть есть пример миссии-Мой ЛА в триггерной зоне(15 м),к нему подъехал АТЗ,ЛА выехал изх зоны-АТЗ отъехал на свое место,и так постоянно. Мне проще посмотреть на примере,как это сделано т.к уже неделю мозг ломаю.( Попробуй так: Создаешь маршрут для АТЗ из двух точек ИПМ и КПМ В действиях на ППМ пропиши Группа Стоп. На обоих ППМ. В триггерных действиях для АТЗ пропиши 1. Следвать на КПМ 2. Следовать на ИПМ Граничное условие МойЛА в зоне --> действие АТЗ -- триггерное действие 1 Граничное условие МойЛА вне зоны --> деиствие АТЗ -- триггерное действие 2 Как-то так. Пишу с телефона -- редактора перед носом нет. Мог накосячить с некоторыми определениями. Так что -- лови суть.
B3OP Posted August 21, 2016 Posted August 21, 2016 Если не сложно,у кого нибуть есть пример миссии-Мой ЛА в триггерной зоне(15 м),к нему подъехал АТЗ,ЛА выехал изх зоны-АТЗ отъехал на свое место,и так постоянно. Мне проще посмотреть на примере,как это сделано т.к уже неделю мозг ломаю.( Тут выход один делать длинный маршрут в котором юнит будет двигаться туда-сюда несколько раз. И сделать несколько копий таких АТЗ с одинаковыми маршрутами. Ты же на самом деле не будешь вечно взлетать и садиться, когда-нибудь спать пойдешь ведь ) Поэтому посчитай сколько времени ты в среднем в полете и сколько раз ты взлетаешь-садишься. Если ты 1 час ты в полете между взлетами и посадками то чтобы АТЗ к тебе подъехал 5 раз нужно пять часов реального времени. Делай цикл из 5 или 10 раз, машинка АТЗ подъехала - АТЗ уехала. Должно хватить на несколько часов. Можно сделать несколько АТЗ которые будут стоять рядом и одна из них будет подъезжать, когда у неё кончится топливо (цикл:D) то начнет подъезжать вторая машинка и т.д. Но код усложнится. В конечных точках в РАСШЫРЕННЫЙ (ППМ, ДЕЙСТВИЯ) делай ОСНОВНУЮ ЗАДАЧУ стоять. В точках возле самолета в задаче "стоять" указывай КОНЕЦ УСЛ... по длительности, например 3 минуты. А в точках где АТЗ ожидает твоего прибытия в задаче "стоять" указывай КОНЕЦ УСЛ... по флагу, например флаг 1 есть. Далее создавай триггеры (для 1 АТЗ): 1) ( повторяющийся ) --> мойЛА в зоне "15м", скорость моегоЛА меньше 1, флаг 1 ложен --> флаг 1 поднять. 2) (повторяющийся) --> время после "флага 1" 3 сек --> флаг 1 убрать. Попробуй так: В триггерных действиях для АТЗ пропиши 1. Следвать на КПМ 2. Следовать на ИПМ Не, к сожалению наземных юнитов не отправить на точку маршрута ( Без разрыва шаблонов — нет прогресса.
StarLey_Andrew Posted August 25, 2016 Posted August 25, 2016 Задал вопрос в другой ветке, хотя безусловно нужно было сюда. [sIGPIC]http://forums.eagle.ru/signaturepics/sigpic70217_5.gif[/sIGPIC] Актуальные скрипты от StarLey_Andrew Автоматизация процессов при создании миссий в обновляемом сообщении с набором миссий использования скриптов без навыка программирования
ED Team SL PAK Posted August 26, 2016 ED Team Posted August 26, 2016 Если не сложно,у кого нибуть есть пример миссии-Мой ЛА в триггерной зоне(15 м),к нему подъехал АТЗ,ЛА выехал изх зоны-АТЗ отъехал на свое место,и так постоянно. Мне проще посмотреть на примере,как это сделано т.к уже неделю мозг ломаю.( После старта миссии подъедет заправщик и через полминуты уедет. Если покинуть стоянку и вернуться снова на неё же, то заправщик снова подъедет-уедет. Его маршрут проложен на три ходки - если надо более, то просто добавить ещё ППМ в круговой маршрут. ??? УДИВИТЕЛЬНОЕ ДЕЛО, сделав три ходки бот продолжил подвозить топливо. Возможно баг :) Добавляя ППМ в маршрут бота, старайтесь ставить точки маршрута подальше друг от друга. Боты-водители не любят когда ППМ расположены рядом. Удачи в воспитании ИИ![Su-25T] REFUEL LOOP.miz
B3OP Posted September 4, 2016 Posted September 4, 2016 Как определить что Ка-50 игрока не может вернуться на базу? Есть два случая, вертолет получил повреждения, не боеспособен но может вернутся на базу. Второй вариант, вертолет не боеспособен и однозначно не может вернутся на базу. В обоих случаях пилот жив. Без разрыва шаблонов — нет прогресса.
B3OP Posted September 9, 2016 Posted September 9, 2016 Такой вопрос. Может случится так что из-за обилия триггеров некоторые могут не сработать? Без разрыва шаблонов — нет прогресса.
ED Team Chizh Posted September 9, 2016 ED Team Posted September 9, 2016 Такой вопрос. Может случится так что из-за обилия триггеров некоторые могут не сработать? Теоретически да, если они выпадут на одну секунду. Единственный урок, который можно извлечь из истории, состоит в том, что люди не извлекают из истории никаких уроков. (С) Джордж Бернард Шоу
Recommended Posts