Софт [SF Plugin] 0pReg

Статус
В этой теме нельзя размещать новые ответы.

SR_team

like pancake
Автор темы
BH Team
4,803
6,475
Плагин немного упрощает разработку CLEO скриптов и SF плагинов
0F80: playerId 0@ bone 1@ save_coord 2@ 3@ 4@
  • Получает координаты указанной части тела указанного игрока
  • 0@ - id игрока [in]
  • 1@ - часть телка [in]
  • 2@ 3@ 4@ - координаты X Y Z [out]
96C846.jpg
0F81: GET_CLEO_COUNT 0@
  • Получает количество подключенных скриптов
  • 0@ - Количество скриптов [out]
0F82: SET_CLEO_COUNT 1@
  • Устанавливает новое значение количества подключенных скриптов
  • 1@ - количество скриптов [in]
0F83: 2@ = Skill_for 1@ weapon
  • Получает уровень скилла по id оружия (в процентах)
  • 2@ - уровень скилла [out]
  • 1@ - id оружия [in]
0F84: Set_for 1@ weapon_skill 2@
  • Устанавливает оружию скилл (в процентах)
  • 1@ - id оружия [in]
  • 2@ - скилл [in]
0F85: 3@ = get_dmg_for 1@ weapon_skill 2@
  • Получает уровень дамага оружия
  • 3@ - дамаг [out]
  • 1@ - id оружия [in]
  • 2@ - скилл оружия (на разных скиллах разный урон) [in]
0F86: 2@ = get_name_for 1@ weapon
  • Получает название оружия
  • 2@ - название [out]
  • 1@ - id оружия [in]
0F87: 3@ = get_recoil_for 1@ weapon_skill 2@
  • Получает уровень разброса пуль оружия
  • 3@ - уровень разброса [out]
  • 1@ - id оружия [in]
  • 2@ - скилл (разброс зависит от скилла) [in]
0F88: set_recoil 3@ for 1@ weapon_skill 2@
  • Устанавливает уровень разброса оружию
  • 3@ - уровень разброса [in]
  • 1@ - id оружия [in]
  • 2@ - скилл (разброс зависит от скилла) [in]
0F89: 2@ = get_speed_for 1@ weapon
  • Получает скорострельность оружия (выстрелы в минуту)
  • 2@ - скорострельность [out]
  • 1@ id оружия [in]
0F8A: Find3rdPersonCamTargetVector(dist 1@, POS 2@ 3@ 4@, Source 5@ 6@ 7@, Target 8@ 9@ 10@)
  • В зависимости от указанных координат находит для них координаты камеры и координаты точку в заданном удаление от координат камеры
  • 1@ - заданное удаление [in]
  • 2@ 3@ 4@ - координаты [int]
  • 5@ 6@ 7@ - координаты камеры для координат 2@ 3@ 4@ [out]
  • 8@ 9@ 10@ - координаты удаленной точки [out]
0F8B: Get_players_onServer 0@
  • получает количество игроков на сервере
  • 0@ - число игроков [out]
0F8C: Get_count_players_inStream 0@
  • получает количество игроков в стриме
  • 0@ - число игроков [out]
0F8D: SetPosition 1@ 2@ 3@ //for local player and hes car
  • Телепортирует локального игрока без сброса анимации / скорости. Работает пешком и в машине
  • 1@ 2@ 3@ - координаты [in]
0F8E: GetSpeed 1@ 2@ 3@ //for local player and hes car
  • Получает скорость локального игрока (его машины) по 3м осям
  • 1@ 2@ 3@ - скорости по осям [out]
0F8F: SetSpeed 1@ 2@ 3@ //for local player and hes car
  • Устанавливает новую скорость локальному игроку (его машине) по 3м осям
  • 1@ 2@ 3@ - скорости по осям [in]
0F90: dump memory 1@ size 2@
  • Создает дамп указанного участка памяти, название исходного файла состоит из адреса и размера, расширение .bin (от binary)
  • 1@ - адрес [in]
  • 2@ - размер [in]
0F91: get gamespeed 0@
  • Получает текущую скорость игры
  • 0@ - скорость игры [out]
0F92: WininetGetURLSend(1@ 2@)
  • Отправляет GET запрос с заданным UserAgent
  • 1@ - UserAgent [in]
  • 2@ - URL адрес [in]
0F93: Wininet get respone to 0@ //If and set
  • Проверяет, что предыдущий запрос был отправлен и получает ответ сервера
  • 0@ - ответ сервера [out]
0F94: Get target radian Z 0@ Y 1@
  • Получает углы прицеливания в радианах
  • 0@ - угол по оси Z (вращение влево/вправо) [out]
  • 1@ - угол по оси Y (вращение вверх/вниз) [out]
0F95: Set target radian Z 0@ Y 1@
  • Устанавливает углы прицеливания в падианах
  • 0@ - угол по оси Z [in]
  • 1@ - угол по оси Y [in]
0F96: SetCursorPos(0@ 1@)
  • Устанавливает координаты курсора (функция получения есть в СФ)
  • 0@ - координата X [in]
  • 1@ - координата Y [in]
0F97: SetCursor(0@)
  • Изменяет внешний вид курсора
  • 0@ - id вида
//0f97: SetCursor
const
IDC_NULL = 0 //скрыть курсор
IDC_ARROW = 1
IDC_HAND = 2
IDC_HELP = 3
IDC_APPSTARTING = 4
IDC_CROSS = 5
IDC_IBEAM = 6
IDC_ICON = 7
IDC_NO = 8
IDC_SIZE = 9
IDC_SIZEALL = 10
IDC_SIZENESW = 11
IDC_SIZENS = 12
IDC_SIZENWSE = 13
IDC_SIZEWE = 14
IDC_UPARROW = 15
IDC_WAIT = 16
end
0F98: is_make_screenshot
  • Проверяет делается ли сейчас скриншот, если возвращает false значит не делается, иначе вашему скрипту стоит перестать рисовать всякую хуйню на экране
0F99: Get gravity 0@
  • Получает текущую гравитацию
  • 0@ - гравитация [out]
0F9A: Set gravity 0@
  • Устанавливает новую гравитацию
  • 0@ - гравитация [in]
0F9B: ATB_Create_bar 1@
  • Создает новое меню ATB
  • 1@ - название меню [in]
0F9C: ATB_add_on_bar 1@ button 2@ for @label define 4@
  • Добавляет в меню кнопку
  • 1@ - название меню, в которое надо добавить кнопку [in]
  • 2@ - название переменной в ATB для кнопки [in]
  • @label - метка на которой будет выполнятся код после нажатия кнопки [in]
  • 4@ - параметры [in]
0F9D: ATB_add_on_bar 1@ separator 2@ define 3@
  • Добавляет разделяющую линию в меню
  • 1@ - название меню [in]
  • 2@ - имя разделителя [in]
  • 3@ - параметры [in]
0F9E: ATB_define 1@
  • Устанавливает параметры
  • 1@ - параметры [in]
0F9F: ATB_add_on_bar 1@ VarRO 2@ TwType 3@ localVar4@ define 5@
  • Добавляет статичную переменную
  • 1@ - название меню [in]
  • 2@ - название переменной в ATB [in]
  • 3@ - тип переменной [in]
  • 4@ - номер локальной переменной (к примеру, что бы в меню вывести переменную 17@ в 4@ должно быть записано 17) [in]
  • 5@ - параметры [in]
0FA0: ATB_add_on_bar 1@ VarRW 2@ TwType 3@ localVar 4@ define 5@
  • Добавляет изменяемую переменную
  • 1@ - название меню [in]
  • 2@ - название переменной в ATB [in]
  • 3@ - тип переменной [in]
  • 4@ - номер локальной переменной (к примеру, что бы в меню вывести переменную 17@ в 4@ должно быть записано 17) [in]
  • 5@ - параметры [in]
0FA1: ATB_isBarMinimized 1@
  • Проверяет. что меню свернуто
  • 1@ - название меню[in]
0FA2: ATB_MinimizeBar 1@
  • Сворачивает меню
  • 1@ - название меню[in]
0FA3: ATB_MaximizeBar 1@
  • Разворачивает меню
  • 1@ - название меню [in]
0FA4: ATB_isBarClosed 1@
  • Проверяет, что меню закрыто
  • 1@ - название меню [in]
0FA5: ATB_CloseBar 1@
  • Открывает меню
  • 1@ - название меню [in]
0FA6: ATB_OpenBar 1@
  • Закрывает меню
  • 1@ - название меню [in]
0FA7: ATB_delete_bar 1@
  • Удаляет меню
  • 1@ - название меню [in]
0FA8: ATB_IsLoaded
  • проверяет загружен ли ATB
0FA9: ATB_return
  • возвращает выполнение кода туда где оно оборвалось при нажатие на кнопку (0F9C)
параметры для define
//TwType
const
TW_TYPE_UNDEF = 0
TW_TYPE_BOOL32 = 4
TW_TYPE_CHAR = 5
TW_TYPE_INT32 = 10
TW_TYPE_UINT32 = 11
TW_TYPE_FLOAT = 12
TW_TYPE_DOUBLE = 13
TW_TYPE_COLOR32 = 14
TW_TYPE_COLOR3F = 15
TW_TYPE_COLOR4F = 16
TW_TYPE_CDSTRING = 17
TW_TYPE_STDSTRING = 18
TW_TYPE_QUAT4F = 19
TW_TYPE_QUAT4D = 20
TW_TYPE_DIR3F = 21
TW_TYPE_DIR3D = 22
end
0FAA: Vec_id 1@ type 2@ push_back 3@
  • Добавляет данные в конец вектора
  • 1@ - id вектора (от 0 до 1023) [in]
  • 2@ - тип данных [in]
  • 3@ - данные [in]
0FAB: Vec_id 1@ type 2@ back_to 3@
  • Читает данные с конца вектора
  • 1@ - id вектора (от 0 до 1023) [in]
  • 2@ - тип данных [in]
  • 3@ - данные [out]
0FAC: Vec_id 1@ type 2@ pop_back
  • Удаляет последний элемент вектора
  • 1@ - id вектора (от 0 до 1023) [in]
  • 2@ - тип данных [in]
0FAD: Vec_id 1@ type 2@ get_cell 3@ to 4@
  • Читает указанный элемент вектора
  • 1@ - id вектора (от 0 до 1023) [in]
  • 2@ - тип данных [in]
  • 3@ - номер элемента[in]
  • 4@ - данные [out]
0FAE: Vec_id 1@ type 2@ clear
  • Очищает вектор от данных
  • 1@ - id вектора (от 0 до 1023) [in]
  • 2@ - тип данных [in]
0FAF: Vec_id 1@ type 2@ size_to 3@
  • Получает размер вектора
  • 1@ - id вектора (от 0 до 1023) [in]
  • 2@ - тип данных [in]
  • 3@ - размер [out]
0FB0: Vec_id 1@ type 2@ data_to 3@
  • Получает все содержимое вектора
  • 1@ - id вектора (от 0 до 1023) [in]
  • 2@ - тип данных [in]
  • 3@ - данные [out]
0FB1: Vec_id 1@ type 2@ set_cell 3@ from4@
  • Записывает данные в указанный элемент вектора
  • 1@ - id вектора (от 0 до 1023) [in]
  • 2@ - тип данных [in]
  • 3@ - номер элемента[in]
  • 4@ - данные [in]
//Vector types
const
INT = 0
FLOAT = 1
STRING = 2
end
0FB2: Print3Dtext on pos 1@ 2@ 3@ angle 4@ size 5@ text 6@ color 7@
  • Рисует 3D текст (клео медленно рисует)
  • 1@ 2@ 3@ - координаты начала рисования [in]
  • 4@ - угол для отрисовки [in]
  • 5@ - размер текста [in]
  • 6@ - текст [in]
  • 7@ - цвет [in]
0FB3: 3@ = Width3Dtext size 1@ text 2@
  • возвращает длину 3D текста
  • 3@ - длина [out]
  • 1@ - размер текста [in]
  • 2@ - текст [in]
0FB4: 2@ = Height3Dtext size 1@
  • возвращает высоту 3d текста
  • 2@ - высота [out]
  • 1@ - размер текста [in]
0FB5: 2@ = GetKeyNum 1@
  • Получает номер клавиши по ее имени ( 0FB5: 2@ = GetKeyNum "tab" //2@ будет = 9 )
  • 2@ - номер клавиши [out]
  • 1@ - имя клавиши [in]
0FB6: 2@ = GetKeyName 1@
  • Опкод противоположный предыдущему - получает имя клавиши по ее номеру
  • 2@ - имя клавиши [out]
  • 1@ - номер клавиши [in]
0FB7: MoveChat_to_XY 1@ 2@
  • Изменяет позицию чата. Координаты зависят от игрового разрешения игры (640.0*448.0)
  • 1@ - координата X [in]
  • 2@ - координата Y [in]
  • Для восстановления стандартных значений укажите в 1@ = -1.0 и 2@ = -1.0
0FB8: Get_marker_pos 1@ 2@ 3@ from_coords 4@ 5@ 6@ in_radius 7@ type 8@ //IF AND SE
  • Получает ближайший к указанным координатам чекпоинт в указанном радиусе, указанного типа
  • 1@ 2@ 3@ - координаты маркера (красный круг на земле) [out]
  • 4@ 5@ 6@ - координаты, возле которых ищется маркер [in]
  • 7@ - радиус в котором ищется маркер [in]
  • 8@ - тип маркера (0 - обычный, 1 - гоночный) [in]
0FB9: GetQuaternion_by 1@ store_to_WXQZ 2@ 3@ 4@ 5@
  • Получает кватернион указанного игрока. Игрок должен быть в зоне стрима!
  • 1@ - id игрока (для локального игрока -1) [in]
  • 2@ 3@ 4@ 5@ - кватернион [out]
0FBA: SetQuaternion_localPlayer_WXQZ 1@ 2@ 3@ 4@
  • Устанавливает локальному игроку кватернион
  • 1@ 2@ 3@ 4@ - кватернион [in]
0FBB: 0@ = Get oxygen
  • Получает количество кислорода в легких
  • 0@ - количество кислорода [out]
0FBC: 0@ = Get sprint power
  • Получает запас сил для спринта
  • 0@ - запас сил [out]
0FBD: ReadIncomingData 1@ into 2@
  • Распаковка пакетов 200 и 207
  • 1@ - BitStream [in]
  • 2@ - переменная с выделенной памятью под распакованую структуру [out]
ATB - 0pReg имеет Подключенный AntTweakBar, все что вам остается создать меню
MakeScreen - функция проверка, что создается скриншот экрана
Print3Dtext - функция рисует 3D текст (вызывать надо из колбека рисования (Present))
Width3Dtext - функция возвращает длину 3D текста
Height3Dtext - функция возвращает высоту 3D текста
MoveChat - Меняет позицию чата
Wait - логический таймер
ReadIncomingPacket - распаковка пакетов (200 и 207)

Для кодеров: Содержимое папки SB 3 folder с заменой кинуть в папку с SannyBuilder 3. Папка includes содержит в себе файлы для подключения плагинов к 0pReg и Lite ATB

Для Пользователей: Содержимое папки gta sa folder кинуть в папку с игрой, соглашаемся на замену, если спросит

20.09 11.51
Изменены опкоды 0f8b, 0f8c, 0f91. Так как есть их аналоги в SAMPFUNCS
Добавлены опкоды 0f99 и 0f9a
Интегрировано подключение ATB, создателям плагинов надо всего-лишь создать меню не парясь с подключением
5.10 21.25
Исправлен опкод 0f9a, который регистрировался как 0f9b
Добавлена импортируемая функция MakeScreen для плагинов, аналог опкода 0F98
15.10 20.24
Добавлены опкоды для работы с ATB в CLEO
15.10 23.50
Добавлен опкод 0FA9: ATB_return
16.10 16.28
Доработаны вызовы кнопок в ATB, теперь нормально работают функции с wait
Исправлен TwType TW_TYPE_STDSTRING
Добавлены векторы
18.10 02.35
Исправлены ошибки
Добавлены опкоды 0FB1, 0FB2, и функция Print3Dtext
18.10 11.35
Оптимизирована отрисовка 3D текста
Добавлены 3D символы _, [, ]
18.10 11.35
Добавлены опкоды 0FB3, 0FB4 и функции Width3Dtext Height3Dtext
23.10 16.22
Исправлен текст в консоли СФ
28.11 16:21
Исправлены опкоды 0F9F и 0FA0
28.11 17:17
Добавлены опкоды 0FB5 и 0FB6, для работы с именами клавишь
28.11 20:43
Интегрирован Lite AntTweakBar от FYP для устранения ошибок графики и избавления от прицепа из отдельной dll
Добавлены опкод 0FB7 и функция MoveChat для перемещения чата в игре
29.11 11:29
Добавлены опкоды 0FB8, 0FB9, 0FBA
15.12 15:21
Исправлены ошибки в опкодах 0F92 и 0F93
Добавлены опкоды 0FBB и 0FBC
02.01.2016 16.24
Добавлен опкод 0FBD и функция ReadIncomingData
 

Вложения

  • 0pReg.zip
    320.8 KB · Просмотры: 517
Последнее редактирование:

SR_team

like pancake
Автор темы
BH Team
4,803
6,475
Пример скрипта с использованием ATB:
CLEO:
{$CLEO}
NOP
repeat
    wait 0
until 0AFA:

0F9B: ATB_Create_bar "NewMenu (easy test)"
0F9B: ATB_Create_bar "NewMenu (easy test2)"

0F9C: ATB_add_on_bar "NewMenu (easy test)" button "tmn" for @1 define " label='testVar' " 
0F9D: ATB_add_on_bar "NewMenu (easy test)" separator " " define "  "
0@ = 17
0F9F: ATB_add_on_bar "NewMenu (easy test2)" VarRO "tmm" TwType 11 value 1337 define " label='localVar' "
0FA0: ATB_add_on_bar "NewMenu (easy test2)" VarRW "tmp" TwType 11 localVar 0 define " label='localVar' "
while true
    wait 0
end
:1
msg "LocalVar[0] = %d" -1 0@
0FA9: ATB_return
 
Последнее редактирование:

untеrmensch

Хуёвый феникс
360
281
Будет работать
0F83: 2@ = Skill_for 1@ weapon
не на себя?а то я чё то тупой.
 

SR_team

like pancake
Автор темы
BH Team
4,803
6,475
Будет работать
0F83: 2@ = Skill_for 1@ weapon
не на себя?а то я чё то тупой.
крнечно будет, у тебя все будет. и похуй что там не указывается игрок, у тебя все будет как ты хочешь, у тебя и 0001: wait 1337 будет всех кикать в казино
 

untеrmensch

Хуёвый феникс
360
281
В описание ошибка: место 0F8C: Set_players_inStream 0@ должно быть 0F8C: Get count player in steam to 0@
 
  • Нравится
Реакции: SR_team

SR_team

like pancake
Автор темы
BH Team
4,803
6,475
Важная обнова, исправляющая ошибки в АТБ
 
Статус
В этой теме нельзя размещать новые ответы.