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

Автонаведение на что нибудь в 3D (LUA)


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

Многие из вас слышали такие понятия как AIM, автонаведение, автоприцел и тому подобное, когда прицел игрока автоматически наводится на какой нибудь объект.
В видео показано как сделать такое на LUA, ассемблер ничем не будет отличаться, разве что кучей команд ?.

В первых четырёх (включая пример) видео - создание и мелкие нюансы.. В 5 просто демонстрация.
Патроны летят в цель, неровная камера - просто обновления и это не влияет. Попадание зависит от разброса оружия ?.
 

Видео о поиске значений ♦️:

Спойлер

 


Видео о создании и вычислениях ?:

Спойлер

 


Видео дополнение ко второму (запись сломалась и потому пришлось доснять тут):

Спойлер

 


Обзор первый:

Спойлер

 


Обзор второй:

Спойлер

 


Ну и скрипт на LUA:

Спойлер

{$lua}
[ENABLE]
OnHit = readPointer('HitUkaz+4') --Получаем адрес указателя с ID на прицеле
PCam = getAddress('engine.dll+4E05F4') --Получаем адрес Y камеры

local function AngMath(timer) --Функция выполняющаяся таймером
 if(isKeyPressed(VK_LMENU)) then
 if(readInteger(OnHit+11344)<60) then
  --координаты игрока
  PX = readFloat('client.dll+624C58') --X
  PY = readFloat('client.dll+624C5C') --Y
  PZ = readFloat('client.dll+624C60') --Z
  --Цель
  Goal = readPointer('HitUkaz') --Получаем адрес цели
  GX = readFloat(Goal+648) --X
  GY = readFloat(Goal+652) --Y
  GZ = readFloat(Goal+656) --Z
  --Гипотенуза (дистанция до объекта) Y
  DistZ = PZ - GZ + 10 --Дистанция по высоте (пригодится позже)
  Dist = math.sqrt((PX - GX)*(PX - GX)+(PY - GY)*(PY - GY)+DistZ*DistZ)
  AngV = math.deg(math.asin(DistZ / Dist))
  writeFloat(PCam,AngV) --Запись в Y камеры
  --X камеры расчёт
  AngG = math.deg(math.atan((PY - GY) / (PX - GX)))
  if(PX - GX > 0) then
  AngG = 180 + AngG
  end
  writeFloat(PCam+4,AngG) --Запись в X
 end
 end
end

--Таймер
mathTimer = createTimer(nil, false) --Создаём выключенный таймер
mathTimer.Interval = 1 --Задаём ему интервал - 1 (частота выполнений)
mathTimer.OnTimer = AngMath --Функция которая будет вызываться
mathTimer.Enabled = true --Включаем таймер
 
[DISABLE]
mathTimer.destroy() --Уничтожаем таймер

 


 

Изменено пользователем imaginary
Видео починено
  • Понравилось 3
  • Плюс 3
Ссылка на комментарий
Поделиться на другие сайты

24 минуты назад, Antonshka сказал:

Почему видео без голоса?

Ты точно хочешь услышать её голос?  А если без шуток, @imaginary уже писала - пока нету нормального микрофона.

Спойлер

 

 

 

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

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

Ты точно хочешь услышать её голос?  А если без шуток, @imaginary уже писала - пока нету нормального микрофона.

 

Помню автора по теме "x64 Проектный Minecraft делаем полёт по повороту камеры". Не знал до этого сообщения что автор представитель прекрасной половины человечества.

Про микрофон - понятно.

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

Можно попробовать записывать голос через телефон на диктофон.

 

@imaginary я заметил у тебя интерес к разным модификациям камеры. Осилишь самостоятельное создание эффекта "Camera Sway" (я его называю HHE эффект - Human Hands Effect)?

Также осилишь получение Yaw, Pitch, Roll из видовой матрицы 3x3 с обратной конвертацией в неё? А из кватернионов 1x4? Есть много игр в которых нет готовых углов поворота камеры, а только матрицы.

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

22 минуты назад, Antonshka сказал:

Осилишь самостоятельное создание эффекта "Camera Sway"

Не вижу тут никакой выгоды... Ладно бы мне свою игру делать надо было.. ?
 

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

Также осилишь получение Yaw, Pitch, Roll из видовой матрицы 3x3 с обратной конвертацией в неё? А из кватернионов 1x4?

Если оно мне приспичит то осилю.. Даже человек который ничего не знает о взломах может осилить если оно будет надо ?. Вон у меня в Танках онлайн был скрипт - движение в сторону поворота камеры - то есть танк двигает туда куда смотрит камера. Там непонятно что за поворот, есть 2 значения, одно 2... что то там, другое в это время -2... и они странным образом меняются. Так мне пришлось сначала вычислить одно постоянное используя другое как условие, а потом формулу кривой создать потому что там когда поворачиваешься в бок выходило 67 или вроде того а не 90 градусов. а на 180 и ноль - нормально. Незнаю что это было, может радианы какие а может матрица..) Я наглядно всё беру, не разбираюсь что там - мне главное получить нормальное...
 

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

3 часа назад, imaginary сказал:

Не вижу тут никакой выгоды... Ладно бы мне свою игру делать надо было.. ?

Этот эффект весьма интересен. Его использует DICE в battlefield 5 в Spectator Mode. Его использовал Hattiwatti в сделанных им "Cinematic Tools" для разных игр.

Пример использования "Camera Sway" в игре Need For Speed

Спойлер

 

 

Вообще попытка сделать самому такой эффект для меня была некоторым интересным вызовом/занятием.

 

Вот еще одна идея для модификации камеры - в игре от первого лица "Far Cry New Down" при посадке персонажа в автомобиль включается "Cockpit view" (вид из кабины),  но что если мы хотим видеть весь автомобиль целиком, притом еще и хотим использовать мышь для вращения камеры вокруг него. А что если мы хотим чтобы камера была не просто "приклеена" к автомобилю, но и имела бы некоторое запаздывание в перемещении и вращении (как в играх Racing жанра).

Осилишь и эту задачу?

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

9 минут назад, Antonshka сказал:

Осилишь и эту задачу?

Ты что хочешь взять на слабо? :D Любую задачу можно осилить - думаю сам это понимаешь,
Лучше бы записал серию уроков (с голосом конечно):P

 

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

@Xipho что если выкладывать на Gamehacklab[RU] YouTube Channel видеоуроки и пользователей форума? С предварительным согласием последних. Таким образом канал будет более чаще пополняться контентом, что приведет к увеличению аудитории.

За одно предоставленное пользователем видео ему полагаается какое-либо некоторое вознаграждение (репутация к примеру или некоторая денежная премия).

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

45 минут назад, Xipho сказал:

И потом снова удалил, как и предыдущие?

Да я и забыл.
AntonVit @antosha Здравствуйте! Не узнал-  богатым будишь! :D

 

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

10 часов назад, Antonshka сказал:

@Xipho что если выкладывать на Gamehacklab[RU] YouTube Channel видеоуроки и пользователей форума? С предварительным согласием последних. Таким образом канал будет более чаще пополняться контентом, что приведет к увеличению аудитории.

За одно предоставленное пользователем видео ему полагаается какое-либо некоторое вознаграждение (репутация к примеру или некоторая денежная премия).

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

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

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

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

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