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


    Electr0
    • Сделано

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


    Отзывы пользователей

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

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

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

    Ссылка на комментарий
    Поделиться на других сайтах

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

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

    Ссылка на комментарий
    Поделиться на других сайтах

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

    Ссылка на комментарий
    Поделиться на других сайтах

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

    Ссылка на комментарий
    Поделиться на других сайтах

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

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

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

    Ссылка на комментарий
    Поделиться на других сайтах

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

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

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

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

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

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

    Ссылка на комментарий
    Поделиться на других сайтах

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

    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

     

    Ссылка на комментарий
    Поделиться на других сайтах

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

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

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

    Ссылка на комментарий
    Поделиться на других сайтах

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

     

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

     

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

    Ссылка на комментарий
    Поделиться на других сайтах

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

    Ссылка на комментарий
    Поделиться на других сайтах

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

    Ссылка на комментарий
    Поделиться на других сайтах

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

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

    Ссылка на комментарий
    Поделиться на других сайтах



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

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

    Гость
    Добавить комментарий...

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

      Разрешено не более 75 эмодзи.

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

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

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


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

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

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

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

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

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

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