Перейти к содержанию
  • Нужно сделать анализатор координат спец зараженных. Если после спавна в течении 10 сек их позиция не изменилась, значит они застряли.


    Это поможет с застреванием спец зараженных, и танков на некоторых картах когда они не видят выживших.


    Обратная связь

    Рекомендуемые комментарии

    Electr0

    Опубликовано

    механизм работает в рамках своей задачи, однако работать будет иначе.

    по ходу пьесы я записываю первые координаты спец зараженных которые не застряли после создания, и если спец зараженный застрял, я поднимаю этот стек правильных координат и рандомно выбераю среди них. Это может помочь погасить проблему на 30%, ибо иногда зараженный тянется к выжившим но.. он не вкуривает что он не обходит препядствие, а просто продолжает идти стучась головой об стенку как болван при этом чутка сдвигаясь но все же без особого результата.

    Electr0

    Опубликовано

    После введения определения расстояния между векторами прошлой и текущей позиции и увеличения погрешности в расстоянии с нуля до 50 игровых юнитов эффективность возросла почти до 90%.

    к слову комнаты примерно по ширине обычно 500 на 600 юнитов так что мм это даже слишком большая погрешность на сдвиг в комнате.

    Electr0

    Опубликовано

    Не получается сделать 100% работающий детектор базируясь проверками на расстояние от прошлой, текущей, и первой позиции. Если не получится придется использовать технологии работы с геометрией пространства с сервера Mega Survival и пометить в комнату где все зависают блок во всю комнату и если хоть один спец зараженный там родится то телепортировать его в место откуда они точно найдут выживших. (зы. тестирую на карте концерт, и это означает что если использовать этот метод придется все финалки проверять на зависаемость спец зараженных, этот метод наименее хорош в данном случае, но на сто процентов рабочий.

    Electr0

    Опубликовано

    есть еще один вариант, можно вести учет если таймер на 5 секунд через 5,10,15 секунд подряд видит что спец зараженный не может уйти от позиции рождения дальше чем на 256 игровых юнитов, то телепортировать этого истукана на помеченую хорошей позицию.(обычно они за 12-15 секунд уходят на расстояние 500-1200 от позиции рождения.

    Electr0

    Опубликовано

    1 час назад, Electr0 сказал:

    есть еще один вариант, можно вести учет если таймер на 5 секунд через 5,10,15 секунд подряд видит что спец зараженный не может уйти от позиции рождения дальше чем на 256 игровых юнитов, то телепортировать этого истукана на помеченую хорошей позицию.(обычно они за 12-15 секунд уходят на расстояние 500-1200 от позиции рождения.

    тот же результат, видимо они рецидивисты, и возращаются обратно в ту ебучую комнату!.

    Electr0

    Опубликовано

    Видимо придется пробовать оценивать по наличию в плохих комнатах.

    Electr0

    Опубликовано

    В итоге в комнате на концерте теперь будет стоять невидимый куб блокировка для зараженных. т.к. он блокирует их передвижение он не дает им сдвинутся с места и когда плагин начинает проверять сразу 9 точек спец зараженного, его центр тела и 8 точек краев  тела, и если видит что невидимый куб кого-то поймал то по старому сценарию, из стека хороших позиций берется координата и спец зараженный телепортируется на хорошую позицию.

    2016-02-08_00003.thumb.jpg.9a0cda18e4ba4

    Ввиду особенностей карты иначе как ромбиком не выходит создать блокировщик, если его повернуть то он не будет корректно работать.

    Однако плагину приходится сканировать спавн позиции всех спец зараженных. поэтому если бы вы видели лучи трассировки карта была бы такой:

    2016-02-08_00001.thumb.jpg.24de9219b09d32016-02-08_00002.thumb.jpg.3500aeebce687

    тут я сделал отображение лучей от стартовой координаты до конца чтобы понимать правильно ли себя ведет трассировка.

    Electr0

    Опубликовано

    Тестирование на танках прошло успешно:

    L 02/08/2016 - 16:05:04: [ally_fix_stuck_spawn_pos.smx] Heal Tank (userid 785) появился сразу на плохой позиции стартовой позиции -312.500000 2437.500000 320.031250
    L 02/08/2016 - 16:05:04: [ally_fix_stuck_spawn_pos.smx] Heal Tank (userid 785) телепортирую спец зараженного на помеченую хорошей позицию -3766.261718 3481.865966 -255.968750, номер в стеке 53
    
    L 02/08/2016 - 16:06:25: [ally_fix_stuck_spawn_pos.smx] Meteor Tank (userid 816) появился сразу на плохой позиции стартовой позиции -112.500000 2137.500000 330.031250
    L 02/08/2016 - 16:06:25: [ally_fix_stuck_spawn_pos.smx] Meteor Tank (userid 816) телепортирую спец зараженного на помеченую хорошей позицию -3101.168212 1805.222778 166.396545, номер в стеке 77
    
    L 02/08/2016 - 16:10:08: [ally_fix_stuck_spawn_pos.smx] Spawn Tank (userid 860) появился сразу на плохой позиции стартовой позиции -399.875152 1872.670288 320.031250
    L 02/08/2016 - 16:10:08: [ally_fix_stuck_spawn_pos.smx] Spawn Tank (userid 860) телепортирую спец зараженного на помеченую хорошей позицию -3994.246337 2188.520507 256.031250, номер в стеке 56

    Спец зараженных гораздо чаще ловит:

    L 02/08/2016 - 16:10:24: [ally_fix_stuck_spawn_pos.smx] (1)Spitter (userid 875) появился сразу на плохой позиции стартовой позиции -87.500000 2162.500000 320.031250
    L 02/08/2016 - 16:10:24: [ally_fix_stuck_spawn_pos.smx] (1)Spitter (userid 875) телепортирую спец зараженного на помеченую хорошей позицию -3055.258056 1799.548095 178.031250, номер в стеке 19
    
    L 02/08/2016 - 16:10:54: [ally_fix_stuck_spawn_pos.smx] Hunter (userid 884) появился сразу на плохой позиции стартовой позиции -237.500000 2375.000000 320.031250
    L 02/08/2016 - 16:10:54: [ally_fix_stuck_spawn_pos.smx] Hunter (userid 884) телепортирую спец зараженного на помеченую хорошей позицию -4485.897949 2795.819091 184.031265, номер в стеке 99
    
    L 02/08/2016 - 16:12:18: [ally_fix_stuck_spawn_pos.smx] (1)Boomer (userid 905) появился сразу на плохой позиции стартовой позиции -487.549102 2002.672851 320.031250
    L 02/08/2016 - 16:12:18: [ally_fix_stuck_spawn_pos.smx] (1)Boomer (userid 905) телепортирую спец зараженного на помеченую хорошей позицию -725.000000 2390.843750 128.031250, номер в стеке 78
    
    L 02/08/2016 - 16:12:28: [ally_fix_stuck_spawn_pos.smx] Charger (userid 909) появился сразу на плохой позиции стартовой позиции -489.528808 2033.608642 320.031250
    L 02/08/2016 - 16:12:28: [ally_fix_stuck_spawn_pos.smx] Charger (userid 909) телепортирую спец зараженного на помеченую хорошей позицию -691.968750 2286.041503 165.043319, номер в стеке 74

     

    Electr0

    Опубликовано

    Значение Статус изменено на: Тестируется

    Electr0

    Опубликовано

    в ходе нескольких этапов тестирования эффективность определения полная, осталось утвердить все запрещенные места для спауна спец зараженных.

    Действует только на карте концерт. на остальных он самовыключается.

    я не уверен что только на концерте такая ситуация, администрацию коопов просьба сообщить где еще наблюдались такие случаи, когда зараза сидит на спавне.

    Electr0

    Опубликовано

    Значение Статус изменено на: Сделано

    Electr0

    Опубликовано

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

     

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

     

    По идее нужно сохранять координаты которые  что находятся выше определенных областей например тоннеля

    Electr0

    Опубликовано

    Добавил проверку на минимальную высоту для конкретных карт, как оказалось зомби успевают заспавнится в высоких местах и проблема с голодом не возникает.

    Electr0

    Опубликовано

    Значение Статус изменено на: Тестируется

    Electr0

    Опубликовано

    метод с фильтром по высоте вызывал проблему с запоминанием хороших координат, у меня не осталось выбора, я отключил запоминание координат и добавил в стек координаты хороших точек для рождения зараженных.

    Electr0

    Опубликовано

    для выживания исключил две торцовые точки спауна т.к. игроки в них строятся, и телепорт зараженных на игроков вызывает странные вопросы.

    исправил позицию первой ловушки на спауне



    Присоединяйтесь к обсуждению

    Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

    Гость
    К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
    Добавить комментарий...

    ×   Вставлено с форматированием.   Вставить как обычный текст

      Разрешено использовать не более 75 эмодзи.

    ×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Обозначения статусов

    В обработке = Мы работаем над вашим отзывом.

    Будет сделано = Ваша идея добавлена к плану будущих изменений.

    Тестируется = Изменения внесены, но требуют тестирования.

    Сделано = Ваша идея реализована!

    Отклонено = Отзыв некорректный, бред, либо уже реализовано. Если у вас есть дополнительная информация напишите комментарий и мы снова откроем этот вопрос.

×
×
  • Создать...