Перейти к содержанию
Авторизация  

Рекомендуемые сообщения

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

 

Сам проект.

 

P.S. Где не прокомментировал не понял или не знал как написать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, mumut сказал:

не понял или не знал как написать

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

Поделиться сообщением


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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 часов назад, Senpai сказал:

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, mumut сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 часов назад, mumut сказал:

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

Никто не будет искать ошибку в твоих макаронах. Или выкладывай блок кода, в котором ошибка или

  • Учишь язык, на котором исходник
  • Понимаешь как работает аимбот
  • Разбираешь в своей пасте, где что и как работает
  • Ошибка нашлась

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, Senpai сказал:

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

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

Изменено пользователем mumut

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, mumut сказал:

А какого типа такой аимбот я не знаю.

Желательно знать

 

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

делаем математическую магию и ложем в поворот камеры

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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;
	}
}

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
angles[0] = (float)(asinf(delta[2] / hyp) * 57.295779513082f);
	angles[1] = (float)(atanf(delta[1] / delta[0]) * 57.295779513082f);

Перевод из радиан в градусы

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]);

Вторая строчка это длина вектора(линии из одной точки в другую)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, mumut сказал:

 "от -32750 до +32750" а по Y "от -16385 до +16385".

Спойлер

wat-kartinka-mem-20.jpg.16d8e1a0ba08551d 

 

Изменено пользователем Senpai

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
10 часов назад, Senpai сказал:
11 часов назад, mumut сказал:

 "от -32750 до +32750" а по Y "от -16385 до +16385".

  Скрыть контент

wat-kartinka-mem-20.jpg.16d8e1a0ba08551d 

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

Поделиться сообщением


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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 часов назад, mumut сказал:

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

А вот как думаешь. Если игра принимает углы "от -32750 до +32750", а по Y "от -16385 до +16385", то какой смысл записывать углы в градусах?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, Senpai сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, mumut сказал:

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

Тебе нужно преобразовать значения из игры в радианы(т.к. тригонометрические функции в c++ работают с радианами), а потом из радиан в значения из игры

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, Senpai сказал:

а потом из радиан в значения из игры

Окей допустим я преобразовал значения из игры в радианы а как мне обратно преобразовать в значения из игры ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 минут назад, mumut сказал:

Окей допустим я преобразовал значения из игры в радианы а как мне обратно преобразовать в значения из игры ?

Хз, по какой-то формуле, мейби 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, Senpai сказал:

Хз, по какой-то формуле, мейби 

Спасибо за помощь я посмотрю какие есть формулы связаны с радианом

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 минут назад, mumut сказал:

Спасибо за помощь я посмотрю какие есть формулы связаны с радианом

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
15 минут назад, Senpai сказал:

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

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

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

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

Изменено пользователем mumut

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 минут назад, mumut сказал:

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

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

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

А зачем переводить в градусы, а потом в радианы, если можно сразу в радианы, ну ,в принципе, делай как хош

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, Senpai сказал:

А зачем переводить в градусы, а потом в радианы, если можно сразу в радианы, ну ,в принципе, делай как хош

Нет это как пример может ли такое сработать или лучше проверить и узнать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
12 минут назад, mumut сказал:

Нет это как пример может ли такое сработать или лучше проверить и узнать.

Может, why not? Но это будет тот ещё гомнокод B-)

Изменено пользователем Senpai

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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));
	}

 

 

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

×

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

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