Перейти к содержанию
  • При телепортации в места с низким потолком можно застрять


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


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

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

    Electr0

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

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

     

     

    Electr0

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

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

    // если самый низкий угол выше либо равен высоте предмета (99.9 % что нет, но все же если такое произойдет то у логики не должно быть исключений)
    if (vLowestEdgeZ >= fVecEntPos[2])
    {
    	// приравниваем высоту предмета к высоте над головой игрока.
    	fVecEntPos[2] = fVecPlayerPos[2] += vPlayerMaxs[2] + 10.0;
    	DispatchKeyValueVector( entity, "Origin", fVecEntPos );
    }
    else
    {
    	// высота выше либо равной которой должен быть самый низкий край предмета (это позиции ног + рост игрока + 10 юнитов)
    	fVecPlayerPos[2] += vPlayerMaxs[2] + 10.0;
    	
    	// вычитаю из самого низкого края, высоту выше которой должен быть самый низкий край, получаю кол-во юнитов на которое надо поднять проп.
    	float vUnitsToMoveUP = vLowestEdgeZ - fVecPlayerPos[2];
    	
    	// если число получилось отрицательное делаю его положительным.
    	if (vUnitsToMoveUP < 0.0)
    	{
    		vUnitsToMoveUP = -vUnitsToMoveUP;
    	}
    	
           // прибавляю к оси Z предмета кол-во юнитов на которое надо поднять предмет.              
    	fVecEntPos[2] += vUnitsToMoveUP;
    	DispatchKeyValueVector( entity, "Origin", fVecEntPos );
    }

     

    Electr0

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

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

    Electr0

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

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

    Electr0

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

    Значение Статус изменено на: Исправлено

    Electr0

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

    т.к. плагин исправления застревания работает не мгновенно, а с задержкой в 0.5 сек и шагом 1 предмет 0.5 сек, то есть. если поставить кучу предметов и сунуть туда танка, то он будет раз в 0.5 сек убирать предмет мешающий танку, думаю надо подумать как его ускорить, надо как-то научится за один раз передавать данные обо всех предметах что мешают игроку, тогда это будет то что нужно, и можно будет за раз хоть 200 предметов двинуть.

    Electr0

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

    Значение Статус изменено на: В обработке

    Electr0

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

    Готово, пришлось обновить только созданный плагин (см. последние коментарии):

     

     

    Вот стопка предметов в которые будет помещен танк:

    20180311024819_1.jpg

     

    Помещаем танка и ждем 0.5 сек:

    20180311024824_1.jpg

     

    А вот что случилось через пол секунды:

    20180311024826_1.jpg

    Electr0

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

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

    Electr0

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

    Значение Статус изменено на: В обработке

    Electr0

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

    Что то не правильно работает, вот эту убегу:

    20180311152633_1.jpg

     

    Раздестроили в это состояние три телепорт танка.

    20180311152618_1.jpg

     

     

    Electr0

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

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

     

    еще проблема в том что когда телепорт танков два начинается экшен с двойным телепортированием порой к одному игроку в результате чего танк становится на другого и "пробивает головой потолок"

    Electr0

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

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

    Electr0

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

    Значение Статус изменено на: В обработке

    Electr0

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

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

    Electr0

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

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

    Electr0

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

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



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

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

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

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

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

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

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

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


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

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

    Исправлено = Проблема исправлена.

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

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

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