{$CLEO}
0000:
//^ начало всех скриптов
thread "warp"
//^ метка которая будет применяться при декомпеляции скрипта
if not 0@ = SAMP.Base() // подключаем SF
then 0a93:
end
repeat //даем прогрузиться ГТА, при использование сф лучше использовать
wait 600 //задержка для проверки загруженности
until SAMP.Available() //выход если гта загружена
0B34: samp register_client_command "zaebal" to_label @cmd //регистрируем команду, в данном случае включения
while true //цикл в котором код скрипта
wait 0 //wait 0 что не закрашило/зависло
if //начало условия
30@ == 1 //само условие: скрипт активирован? почему 1 активация чуть позже
then //да-акивирован, идем дальше, если не активирован то пропускает эту часть ниже и цикл идет снова
0AC8: 3@ = allocate_memory_size 128 //выделяем память под переменную, в ней будет содержаться текст
0AC8: 5@ = allocate_memory_size 64 // аналогично, тому что выше
0B75: samp get_chat_string 99 text_to 3@ prefix_to 5@ color_to 4@ prefix_color_to 0@ //получаем тест(3@), цвет(4@), префикс(5@) и т.д. у 99 строки
if //начало условия
0C18: 2@ = strstr string1 3@ string2 "Загружено" //если в тексте строки есть слово "Загружено"-пишем учитывая регист
then //тогда
Actor.StorePos($PLAYER_ACTOR, 4@ 5@ 6@) // получаем координаты актера(тебя)
if //условие
0AE2: 0@ = random_vehicle_near_point 4@ 5@ 6@ in_radius 250.0 find_next 0 pass_wrecked 1 //ищем рандомный кар в радиусе 250 от твоих координат, в 0@ записывается хэнгл кара
then //если нашли
repeat //цикл
wait 0 //чтоб не крашнуло
if or //2е условие, оно выполняется если из нескольких условий 1 = правде
car.Model(0@) == 584 //получаем модель найденого кара и сразу сравниваем с нужной нам моделью, модель прицепа с бензом 584
car.Model(0@) == 450 // 450 прицеп с углев и деревом вроде
then //если выполнилось 1 из условий
0B2C: samp 2@ = get_vehicle_id_by_car_handle 0@ // то, получаем ид кара из хэнгла
wait 100 //ждем 0.1 секунду
0AD3: string 4@ format "/tid %d" 2@ //создаем текст где будет использоваться наш ид
0B79: samp set_chat_input_enabled 1 //открываем чат
0B76: samp set_chat_input_text 4@ //пишем туда наш текст
0AB1: call @keyPress 2 key 13 time 10 //вызываем функция эмуляции нажатия клавиши Ентре на 10 мс
0AF8: samp add_message_to_chat "Загрузили прицеп с идом: %d" /*можешь писать любой текст*/ color 0x007bff /*любой цвет что хочешь можншь сделать*/ 2@ //2@- указатель на ид машины || относительно этого опкода он пишет в чат текст который будешь видеть только ты, он не особо нужен написал чтоб знал
end //завершаем
until 8AE2: not 0@ = random_vehicle_near_point 4@ 5@ 6@ in_radius 250.0 find_next 0 pass_wrecked 1 //выходим из цикла если нету каров больше
end
end //завершаем
0ac9: 3@ //удаляем выделеную память
0ac9: 5@ //аналогично тому что выше
end
end
:cmd //метка
0b12: 30@ = 30@ xor 1 // изменяем 30@ отновистельно 1, т.е. будет равно или 1 или 0, по условию 1 у нас активация, можно там заменит на 0 и тогда будет автовключение
samp.CmdRet() //завершаем команду чтобы вернуться к основному коду скрипта
:keyPress //отсюда начинается функция эмуляции нажатия клавиши, обьяснять не буду, если дальше понадобилться тупо копируй
if 0AA2: 2@ = load_library "User32.dll"
then
if 0AA4: 2@ = get_proc_address "keybd_event" library 2@
then
0AA5: call 2@ num_params 4 pop 0 0 0 0 0@
wait 1@
0AA5: call 2@ num_params 4 pop 0 0 0x02 0 0@
end
end
0AB2: ret 0