Перейти к содержанию

mumut

Пользователи
  • Постов

    86
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные mumut

  1. 7 минут назад, Senpai сказал:

    Те же самые?

    Да. Если честно я думаю что надо сделать скрипт на 1 и 3 инструкции но вот что делать в инструкциях я не знаю.

  2. 22 минуты назад, Senpai сказал:

    а если занопить, сдвинуть камеру, а потом разнопить?

    Камера возвращается в обратное состояние.

     

    23 минуты назад, Senpai сказал:

    Там одна инструкция, которая пишет в адрес с углом поворота ?

    К этому адресу обращается 3 инструкции которые на скриншоте. Да там одна инструкция которая пишет в адрес.

  3. 2 часа назад, Senpai сказал:

    Ставишь на адрес бряк на запись. Там будут инструкции. Смотришь, куда они пишут. Если есть такая, которая пишет только в нужный адрес, то всё гуд. Нопишь её и поехал дальше.

    Есть но если занопить то все не гуд потому что камера перестает двигаться.

  4. В Borderlands 2 при изменении поворота камеры она становится обратно. К примеру поворот камеры был -100 я изменил на 0 а она обратно на -100. К повороту камеры обращаются 3 инструкции. При занопливании только 1 или 3 камера перестает поворачивается а при занопливании только 2 ничего не происходит. Как изменить инструкцию так что бы при изменении поворота камеры, камера не становилась обратно а думала что она так и находилась. К примеру поворот камеры был -100 я изменил на 50 и игра думала что она так и стояла. Но после изменения поворота камеры чтоб можно поворачивать камеру как и всегда.

     

    P.S. Если вы захотите помочь то вот: Borderlands2.CT

  5. 10 часов назад, Senpai сказал:

     

    12 часов назад, mumut сказал:

    angles[0] = (float)(asinf(delta[2] / hyp) * 5215.5f); // как я понял это значение записывается в Y поворот "16385/3.14"
    angles[1] = (float)(atanf(delta[1] / delta[0]) * 10427.8f); // а это значение записывается в X поворот "32750/3.14"

    То есть в angles[0] и angles[1] значение которое надо добавить в текущему повороту а не записать в поворот камеры или нет ?

      Показать контент

    f2jrqyugathrdarh.jpg 

     

     

     

    Прости что спросил просто я уже поплыл с этим аимботом.

  6. 26 минут назад, Senpai сказал:

    Читаешь 4 байта, переводишь в float, делаешь вычисления ,а потом переводишь обратно и записываешь 4 байта.

    angles[0] = (float)(asinf(delta[2] / hyp) * 5215.5f); // как я понял это значение записывается в Y поворот "16385/3.14"
    angles[1] = (float)(atanf(delta[1] / delta[0]) * 10427.8f); // а это значение записывается в X поворот "32750/3.14"

    То есть в angles[0] и angles[1] значение которое надо добавить в текущему повороту а не записать в поворот камеры или нет ?

  7. 3 минуты назад, Senpai сказал:

    везде должно быть 10427.8f

    А почему, просто же диапазон Y равен от -16385 до +16385. Да даже когда я ставил 10427.8f ничего не изменялось вообще.

  8. 2 минуты назад, Garik66 сказал:

    тебе нужно сначала рассчитать углы в радианах

    Так я не могу понять как найти и рассчитать этот самый угол на который надо повернуть камеру.

    5 минут назад, Garik66 сказал:

    При этом рассчитываешь во float

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

  9. 20 часов назад, Senpai сказал:

    Возьмём число из игры

    Можешь помочь решить мою проблему. Она состоит в том что камера не поворачивается по Y. По твоей формуле я сделал чучуть поменял функцию вот так:

    Спойлер
    
    void CalcAngle_Test(float *myCoords, float * enCoords, float *angles)
    {
    	float delta[3] = { (myCoords[0] - enCoords[0]), (myCoords[1] - enCoords[1]), (myCoords[2] - enCoords[2]) };
    	float hyp = sqrt(delta[0] * delta[0] + delta[1] * delta[1]);
    	angles[0] = (float)(asinf(delta[2] / hyp) * 5215.5f); // как я понял это значение записывается в Y поворот "16385/3.14"
    	angles[1] = (float)(atanf(delta[1] / delta[0]) * 10427.8f); // а это значение записывается в X поворот "32750/3.14"
    
    	if (delta[0] >= 0.0)
    	{
    		angles[1] += 32760.0f;
    	}
    }

     

     

  10. 4 часа назад, Senpai сказал:

    Не думаю, что будет что-то подходящее. Тут лучше самому подумать. Вот 32750 это π . тогда 32750/π мы получаем какое-то число . если на него поделить число из игры, то получим значение в радианах

    Если 32750 это число пи тогда зачем 32750 делить на 32750 ?

  11. 2 часа назад, Senpai сказал:

    Может, why not?

    Можно у тебя еще кое что узнать а точнее про эту функцию:

    Спойлер
    
    	float Get3dDistance(float myCoordsX, float myCoordsY, float myCoordsZ, 
                            float enCoordsX, float enCoordsY, float enCoordsZ)
    	{
    		return sqrt(pow(double(enCoordsX - myCoordsX), 2.0) +
    					pow(double(enCoordsY - myCoordsY), 2.0) +
    					pow(double(enCoordsZ - myCoordsZ), 2.0));
    	}

     

     

  12. 15 минут назад, Senpai сказал:

    то получим значение в радианах

    А можно ли сделать так: 

    1. Получить текущий поворот камеры
    2. Поделить на максимальный поворот камеры
    3. Умножить на 180
    4. Проверить если значение меньше 0 то прибавить 360
    5. По формуле преобразовать из градусов в радианы
    6. Прибавить к нашему значению значение из математической магии
    7. По формуле преобразовать из радианов в градусы
    8. Проверить если значение больше 0 то отнять 360
    9. Поделить на 180
    10. Умножить на максимальный поворот камеры
    11. Записать в поворот камеры

    Или получится какая то кашица ?

  13. 5 минут назад, Senpai сказал:

    А вот как думаешь

    То есть мне надо прочитать угол поворота преобразовать в 360 градусов прибавить полученное значение из математической магии и обратно преобразовать в значение исходного типа. Если да то у меня вопрос по поводу как преобразовать обратно.

  14. 3 часа назад, Senpai сказал:

    И распиши, что не так с аим ботом.

    Сначала он не записывал в адрес "поворот камеры" но я это исправил. Теперь он поворачивает но не туда куда нужно примерно в диапазоне от нуля до ста по X и Y координате когда максимальный поворот камеры по X составляет примерно "от -32750 до +32750" а по Y "от -16385 до +16385". Я предполагаю что за почти всю математическую магию

    отвечает эта функция.

    Спойлер
    
    void CalcAngle_Test(float *src, float * dst, float *angles)
    {
    	double delta[3] = { (src[0] - dst[0]), (src[1] - dst[1]), (src[2] - dst[2]) };
    	double hyp = sqrt(delta[0] * delta[0] + delta[1] * delta[1]);
    	angles[0] = (float)(asinf(delta[2] / hyp) * 57.295779513082f);
    	angles[1] = (float)(atanf(delta[1] / delta[0]) * 57.295779513082f);
    	angles[2] = (float)0;
    
    	if (delta[0] >= 0.0)
    	{
    		angles[1] += 180.0f;
    	}
    }

     

    Но я не могу понять что делает вторая, третья, и четвертая строчка если можно то объясните.

     

  15. 2 часа назад, Senpai сказал:

    А что не так? Аим там какого типа? Fov или шо? 

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

  16. 6 часов назад, Senpai сказал:

    Попробуй вывести сначала просто координаты игроков в консоли или куда-то ещё

    Вывести на консоль у меня получается и игрока и противников

    7 часов назад, JustHack сказал:

    чтобы за тебя сделали.

    Я не прошу сделать за меня я прошу указать на ошибку из за которой проект не работает так как надо

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

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.