Author Topic: Скрипт для g.t.a  (Read 4698 times)

0 Members and 2 Guests are viewing this topic.

supersonic

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Скрипт для g.t.a
« on: September 22, 2018, 02:01:20 PM »
Расклад таков - надо что бы персонаж входил выходил из грузовика по кругу.
Пример выложил здесь
https://youtu.be/oTBKsqakrUs

С бегом и подтверждением выхода из грузовика по клавише Enter проблем нет. Помогите с поворотом мыши (или клавиши D) на определенный градус вправо.
Ну и возможно ли запускать сценарий когда например экран с загрузки возле дверей внутри грузовика переходит уже в игровой мир, потому что разработчики сделали так, что иногда персонаж выходит за 2 секунды, а иногда загрузка провисает до 5-6 сек. (видимо для фикса каких то других программ что бы сбить цикл) 

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Скрипт для g.t.a
« Reply #1 on: September 22, 2018, 07:07:00 PM »
Чтобы в гта точно повернуть камеру, нужно использовать

MOVER (rx, ry) - Смещает указатель мышки относительно текущего положения.
rx, ry - величины, на которые указатель будет сдвинут по соотв. осям

Значение  rx выставляется при отладке, зависит от настройки чувствительности мыши в игре. ry = 0.

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

Примерно так
Code: (clickermann) [Select]
//ожидание затемнения экрана
WHILE(PXLXOR(400,200, 500,400)!0) //координаты свои, небольшая область в центре окна игры
   waitms(200)
   GETSCREEN
END_CYC


//ожидание посветления экрана
WHILE(PXLXOR(400,200, 500,400)=0) //координаты свои, небольшая область в центре окна игры
   waitms(200)
   GETSCREEN
END_CYC

wait(1) //задержка на всякий случай

//продолжаем, двигаем камеру, шагаем...

В место PXLXOR можно использовать чтонибудь другое, типа PXLCOUNT, SCANPXL, можно и ожидание картинки IF_PICTURE_IN. Вариантов уйма. О каждой функции подробнее в спарвке.

Если это САМП, то там нет зашиты чтения памяти. А в гта все нужные данные отлично читаются  в памяти (для твоего случая это может быть ид локации, угол поворота персонажа, координаты персонажа).  Все нужные адреса и указатели есть в свободном доступе в интернете, нужно поискать.


supersonic

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Скрипт для g.t.a
« Reply #2 on: October 02, 2018, 12:47:04 PM »
Уже более менее разобрался) Нужен скрипт поворота мыши по горизонтали на определенный градус после смены екрана с черного на локацию. Только не постоянное смещение курсора, а одиночный поворот например на 90 градусов

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Скрипт для g.t.a
« Reply #3 on: October 05, 2018, 01:15:04 PM »
Уже более менее разобрался) Нужен скрипт поворота мыши по горизонтали на определенный градус после смены екрана с черного на локацию. Только не постоянное смещение курсора, а одиночный поворот например на 90 градусов
Я ж писал выше, для поворота камеры в игре на определенный угол нужно использовать MOVER (rx, ry)

Code: (clickermann) [Select]
wait(2)// задержка, чтобы сделать активным окно с игрой
mover(30, 0) // поворот камеры в право на какойто угол, нужно подбирать на практике, зависит от чувствительности мыши.
halt