Координаты самп луа

Обновлено: 05.07.2024

mousepos - получить координаты курсора мыши. move - переместить курсор мыши в указанные координаты. move_smooth - плавно переместить курсор мыши в указанные координаты. drag - перенести из точки с координатами <откуда> в точку с координатами <куда>. simple (в активном и не активном окне) left - клик левой кнопки мыши в указанные координаты. right - клик правой. middle - клик средней. double_left - двойной клик левой кнопки мыши в указанные координаты. double_right - двойной клик правой. double_middle - двойной клик средней. left_down - зажать левую кнопку мыши. right_down - зажать правую. middle_down - зажать среднюю. left_up - отпустить левую кнопку мыши. right_up - отпустить правую. middle_up - отпустить среднюю. k (только в активном окне, захватывают мышь) kleft - клик левой кнопки мыши в указанные координаты. kright - клик правой. kmiddle - клик средней. double_kleft - двойной клик левой кнопки мыши в указанные координаты. double_kright - двойной клик правой. double_kmiddle - двойной клик средней. kleft_down - зажать левую кнопку мыши. kright_down - зажать правую. kmiddle_down - зажать среднюю. kleft_up - отпустить левую кнопку мыши. kright_up - отпустить правую. kmiddle_up - отпустить среднюю. wheel (эмулирует прокручивание колёсика мыши) wheel_down - прокручивание вниз. wheel_up - прокручивание вверх. kwheel_down - аналог Wheel_down. kwheel_up - аналог Wheel_up. pwheel_down - для Windows XP sp2-3 32 бит и Vista Home 32 бит). pwheel_up - для Windows XP sp2-3 32 бит и Vista Home 32 бит).

Клавиши

getlayout - позволяет получить текущую раскладку клавиатуры. setlayout - устанавливает язык раскладки клавиатуры для команд send, sendex. В активном и не активном окне send - нажать клавишу. send_down - зажать клавишу. send_up - отпустить клавишу. send217 - аналог send. send217_down - аналог send_down. send217_up - аналог send_up. say - набрать текст. Только в активном окне (Позволяют нажимать\зажимать клавиши Ctrl, Alt, Shift) sendex - нажать клавишу или комбинацию клавиш. sendex_down - зажать клавишу или комбинацию клавиш. sendex_up - отпустить клавишу или комбинацию клавиш.

Циклы

break - прерывание цикла. repeat - выполняет блок кода до тех пор, пока условие не станет истинным. for - выполняет цикл несколько раз в соответствии со значением переменной управления циклом. Также используется для обхода элементов массива/таблицы. while - цикл, с проверкой условия.

Условия

Цвет и изображения

findimage - поиск изображения. color - определяет цвет в заданных координатах. Может находить цвет в перекрытых окнах. getimage - запомнить части экранной области. saveimage - сохраняет часть экранной области из памяти. deleteimage - удаляет запомненную часть экранной области. loadimage - функция загрузки изображения в память.

Массивы и таблицы

table.insert - добавляет элемент в массив. table.remove - удаляет из массива элемент. table.concat - возвращает значения массива. unpack - возвращает значения массива. table.maxn - возвращает наибольший положительный числовой индекс таблицы table.sort - сортирует массив в заданном порядке.

Скрипты

start_script - запустить указанный скрипт. stop_script - остановить текущий или указанный скрипт. restart_script - перезапуск скрипта или всех скриптов. end_script - остановbnm скрипт. load_script - загрузить скрипт. current_script - переменная, возвращающая номер закладки текущего скрипта. active_script - переменная, возвращающая номер закладки активного скрипта. scripts - позволяет выяснить количество вкладок со скриптами, с занесением в массив их номеров, имен и статуса запуска. get_script_text - возвращает в таблицу скрипт с указанным номером, либо текущий, если номер не указан.

Программы

exec - запуск внешнего приложения. execandwait - запуск внешнего приложения и ожидание его завершения. terminate - завершает приложение.

Файлы

dir - вывод дерева каталогов. filecopy - копировать файл. filerename - переименовать файл. filedelete - удалить файл. filesetdate - установить дату и время последнего изменения файла. filesetattr - установить атрибуты для файла. filegetattr - получить атрибуты файла. filegetdate - получить дату и время последнего изменения. fileexists - возвращает 1, если файл существует, иначе 0. dircreate - создание директории (папки/папок). dirremove - удаление пустых каталогов (папок). write - дописать текст в файл.

findwindow - поиск хендла окна по его заголовку или PID. workwindow - возвращает хендл окна, к которому привязан скрипт. Привязывает скрипт к окну с указанным хендлом. workwindowpid - переменная, возвращающая PID процесса, которому принадлежит рабочее окно. windowhandle - переменная хранящая хендл окна пилота. windowfromcursor - возвращает хэндл окна или контрола под курсором мыши. getwindow - позволяет получить хендл активного окна или же окна относительно указанного. getfocus - возвращает хэндл окна, имеющего фокус ввода. windowpos - позволяет получить или установить координаты и размер окна. showwindow - управление состоянием окна. setwindowtext - изменяет заголовок указанного окна. getwindowtext - возвращает заголовок указанного окна.

Память

Буфер

Строки

Числа

math.random - генерирует псевдослучайное число. math.abs - возвращает абсолютную величину (модуль) числа. math.min - возвращает минимальный из аргументов. math.max - возвращает максимальный из аргументов. math.floor - возвращает x округлённый до ближайшего целого числа, которое меньше x. math.ceil - возвращает x округлённый до ближайшего целого числа, которое больше x. math.modf - возвращает целую и дробную часть числа. math.fmod - возвращает остаток от деления 'x' на 'y'. math.sqrt - возвращает квадратный корень. math.pow - возвращает x в степени n. Вместо функции можно использовать x^n. math.sin - возвращает синус угла. math.cos - возвращает косинус угла. math.tan - возвращает тангенс угла. math.asin - возвращает арксинус x. math.acos - возвращает арккосинус x. math.atan - возвращает арктангенс x. math.deg - преобразовывает угол, заданный в радианах, в градусы. math.rad - преобразовывает угол, заданный в градусах, в радианы. point_distance - возвращает расстояние между двумя точками в виде дробного числа, представленного строкой. point_direction - возвращает угол (в градусах) между осью X и вектором с началом в точке (x1,y1) и окончанием в точке (x2,y2). lengthdir_x - возвращает горизонтальный x-катет вектора определённый указанной длиной и направлением. lengthdir_y - возвращает вертикальный y-катет вектора определённый указанной длиной и направлением. dec2hex - преобразует десятичное значение в шестнадцатеричное. hex2dec - преобразует шестнадцатеричное значение в десятичное.

Дата и время

os.date - возвращает дату и время в виде строки или таблицы. os.time - возвращает время в формате posix. os.clock - возвращает время в секундах с точностью до миллисекунд с момента запуска UoPilot.

Другие

homepath - возвращает путь к exe пилота. exefilename - возвращает имя exe пилота. loghandle - возвращает хендл окна лога. version - возвращает в массив версию пилота. wait - приостанавливает выполнение текущего скрипта на указанное количество времени. printscreen - команда сохранения копии экрана в файл. exit - выход из пилота. type - возвращает тип параметра в виде строки. timer - выполняет код через определённый промежуток времени. goto - позволяет переходить к другому участку кода, обозначенному меткой. test - ыавмавымыв

Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:

Маппинг для сервера

Если вы хотите обновить Ваш сервер новыми доработками - то зайдите в наш раздел. Большой выбор готовых решений от наших пользователей

Моды для сервера

Огромный выбор различных модификаций для Вашего сервера. Пролистайте эти темы! Возможно именно там Вы найдете то, что искали уже давно.

Модификации SA

Хотите разнообразить свою игру в San Andreas? Смелее в наш раздел. Отличный сборник готовых решений. Играйте с удовольствием

Если вы ещё новичок в скриптинге, то эта информация будет для вас полезной. Речь пойдёт о пространстве игры, а точнее о координатах.

По-сути, игровой мир - это большой квадрат, в средине которой находится игровой мир. Как правило, и во всех играх, есть координаты ( координатная сетка ), по которых можно узнать где сейчас находится игрок. Есть две оси, по котором это делают: "X" и "Y". Это дробные величины, поэтому в любом случае координаты в скрипте пишутся с точной. Центр карты находится в координатах ( 0.0, 0.0 ). Давайте посмотрим на карту:


И так, центр мы видим, и его координаты мы знаем. Какая же максимальная длина "X" и "Y"? Каждой карте всегда есть предел. В нашем случае длина не может составлять больше 3000.0. Для моддинга рекомендую 2800.0 единиц, так как если выйти за его пределы, то карта станет невидимой, но поверхность всё равно ощущать можно.

Как осуществляется поиск игрока по координатам? Сначала идёт поиск по оси "Х", если смотреть на карту - то слева-направо. Останавливается поиск тогда, когда найден игрок. Дальше идёт поиск по оси "Y", то есть идёт поиск снизу-вверх. Когда игрок найден, компилятор сообщает нас текущую позицию игрока на карте в виде координат.

Также в 3D играх, в том числе и наша Сан Андреас, существует и 3-й параметр "Z". Как уже многие догадались - это высота над уровнем моря. То есть нам сообщат на какой высоте сейчас находится игрок.

Не забываем также и о отрицательных величинах! Координаты левого нижнего угла карты пишутся так: ( -2800.0, -2800.0 ), соответственно координаты правого верхнего угла карты - ( 2800.0, 2800.0 ).

Как видим, есть и отрицательные числа. Все координаты, которые по оси "X" находятся левее от центра будут идти в минус, причём чем далее от центра, тем больше число с минусом. По аналогии и по осям "Y" и "Z". Посмотрите на карту и представьте эту сетку и её координаты.

Но главная же наше цель урока - это вставка текущих позиций игрока в скрипт. Откроем наш санник и main.scm. Редактировать его мы сейчас не будет, по этому не сохраняйте наши эксперименты. Нажимаем в любое место скрипта, ставим курсор в очищенное место и запускаем игру. Далее найдите любое место в игре. Вот я, например, нашел такое:


Дальше, сворачиваем игру ( не выходим ) клавишей WIN в и санни билдере нажимаем комбинацию CTRL + SHIFT + C . Возле курсора должны появится текущие координаты игрока.


Первое число - позиция игрока по оси "X", другая - позиция по оси "Y", и третья - "Z".

Хорошо, с координатами разобрались. Давайте в Санни билдер, с новой строки вставим угол поворота игрока. Выберем любое место для нашего эксперимента :)


Далее сворачиваем игру, и в Sanny Builder нажимаем комбинацию клавиш CTRL + SHIFT + E . Возле курсора появится число, которое покажет текущий угол игрока:


В нашем случаи угол равен 308.2786 градусов.

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

Если вам нужно только просмотреть координаты и угол, то можно использовать комбинацию CTRL + SHIFT + 1 и тогда появится окно с текущими координатами и углами.

Читайте также: