SA:MP Lua Arizona [ARZ] Auto-Interaction Securities | Автопризыв охранника | АвтоПризыв до PayDay

Swiftly

Участник
Автор темы
81
23
Скрипт для автоматизации работы с охранниками на Arizona RP Launcher. Позволяет быстро призывать выбранного охранника, автоматически проверять его состояние, использовать автокормление и не тратить время на ручные действия через инвентарь.
Оригинальная логика призыва была доработана под более стабильную работу с текущим CEF-инвентарём Arizona. Теперь скрипт лучше обрабатывает ситуации, когда сервер не сразу принимает действие, охранник не появляется после входа в игру или призыв приходится делать в определённое время.

Основные функции:

Автоматический призыв охранника.
Скрипт может сам призывать выбранного охранника после входа в игру или по ручной команде.

Поддержка двух охранников.
Можно выбрать первого и второго охранника и включить режим работы сразу с двумя.

Проверка в xx:29 и xx:59.
В 29 и 59 минут каждого часа скрипт дополнительно проверяет, активен ли охранник. Если охранника нет, запускается серия попыток призыва.

Повторные попытки при ошибке “Подождите немного!”.
Если сервер временно не даёт призвать охранника, скрипт не останавливается после одной попытки, а пробует ещё несколько раз с задержкой.

Защита от лишнего призыва.
Если охранник уже заспавнен, скрипт не будет пытаться призывать его заново.
Сохранение настроек.
Все выбранные параметры сохраняются в конфиг, поэтому после перезахода не нужно настраивать всё заново.

Удобное меню.
Основные функции вынесены в mimgui-меню, где можно включить автопризыв, выбрать охранников, настроить автокормление и время использования еды.

Команды:

/ais — открыть главное меню скрипта.
/sppet — призвать охранника вручную.
/allsppet — запустить автопризыв выбранных охранников.
/fasteat — быстро покормить охранника.
/allpet — выполнить действие со всеми выбранными охранниками.
/rais — перезагрузить настройки скрипта.

Добавлена стабильная система автопризыва. Теперь скрипт не делает одну попытку и не останавливается, если сервер отвечает ошибкой. При сообщении “Подождите немного!” запускаются повторные попытки.

Добавлена проверка в xx:29 и xx:59. Это полезно в ситуациях, когда охранник не появился после входа, пропал или сервер не сразу обработал призыв.

Добавлена проверка состояния охранника через CEF-инвентарь. Скрипт понимает, какой охранник уже активен, а какого нужно призвать.

Исправлено поведение, когда скрипт пытался повторно заспавнить уже активного охранника.

Улучшен автопризыв после входа в игру. Если функция включена, скрипт сам пытается привести охранника в рабочее состояние.

Добавлено автокормление первого и второго охранника.

Настройки сохраняются в JSON-конфиг.


Установка:
Скачайте файл скрипта и переместите его в папку moonloader. После запуска игры введите /ais, откройте меню, выберите нужного охранника и настройте автопризыв или автокормление.
Файл настроек создаётся автоматически в папке moonloader/config.

Требования: mimgui samp.events encoding ffi

Примечание:
Если сервер пишет “Подождите немного!”, это не ошибка скрипта, а временное ограничение со стороны сервера. Скрипт учитывает это и делает повторные попытки, поэтому не нужно вручную нажимать призыв несколько раз.

Скрипт подойдёт тем, кто часто использует охранников и хочет, чтобы они автоматически появлялись после входа, не пропадали в нужный момент и не требовали постоянного ручного контроля.

Если автор оригинального скрипта захочет удалить данный пост - сделаю. Удачного всем фарма
 

Вложения

  • Auto-Interaction Securities 1.5.1.3.lua
    31 KB · Просмотры: 70

Pepeno

Известный
320
36
В автоспавне стоит первый охранник но спавнит другого охраника по кд
1787489755832.png
 
  • Нравится
Реакции: Порожденный

Swiftly

Участник
Автор темы
81
23
попробуйте выбрать другого, щас фиксану

либо же охру на кента перекиньте вторую
 
Последнее редактирование:

nejnost

Новичок
1
0
Спавнит не того охранника, которого выбираешь в списке
 

Swiftly

Участник
Автор темы
81
23
привет друзя, зафикшу как охру вторую куплю, извиняюсь за задержку
 

AleksHеll

Известный
26
5
Он не призывает охранника с русским ником

Теперь нихуя не работает
 
Последнее редактирование:
  • Грустно
Реакции: |_Ayarg_|

Compich

Известный
242
45
У меня лично не призывает второго охранника (возможно из-за русского имени), начинает призывать ещё до подключения на сервер, не призывает заново после /rec, в 29/59 минут проверяет по настроению, задержка между входом на сервер и призывом чисто рандомная: бывает призывает сразу по конфигу, а бывает через минуту, даже после успешного призыва начинает призывать ещё раз

На тебе фикс от меня (клода то есть) всех описанных ошибок + ещё одной проблемы с сохранением конфига:
1. Краш на строке 39. Твой config/Auto-Interaction Securities.json — 0 байт (в логе: CJSON: Expected value but found T_END at character 1). Load делал decodeJson(F:read() or {}): F:read() без '*a' читает одну строку и на пустом файле даёт nil → decodeJson вернул nil → падение на TABLE[def_k].

А занулился конфиг из-за Save: файл открывался на запись до encodeJson, и вызывался этот Save на каждый CEF-пакет (парсер еды) — любой сбой/перезагрузка в момент записи оставляли пустой файл. Теперь: сначала кодируем в pcall, потом открываем файл; чтение через '*a' + pcall + рекурсивный мердж дефолтов (битый конфиг сам восстанавливается); запись — только когда данные реально изменились.

2. Второй охранник. Русское имя тут не при чём — имя вообще не участвует в выборе. В коде было захардкожено selectSecurity|{"id":0} и clickOnMenu|{"id": 0}, то есть всегда выбирался охранник с id 0. Проверил по фронтенду (frontend/svelte_js/main.bundle.js): оба сообщения должны нести id охранника из массива securities. Теперь подставляется id выбранного питомца, сопоставление по id (slot сдвигается при покупке/продаже — только резерв).

3. Призыв до подключения. main() ждал isSampAvailable(), а он истинен уже в меню. Теперь вход в игру = пакет 34 (CONNECTION_REQUEST_ACCEPTED) + onSendSpawn (RPC 52) либо подсказка «На сервере есть инвентарь»; резерв — sampIsLocalPlayerSpawned() через 45 с после коннекта.

4. Не призывал после /rec. spawnedPet1Known/2Known оставались true с прошлой сессии, и цикл ретраев сразу выходил. Пакеты 32/33/37 и 34 теперь полностью сбрасывают состояние сессии.

5. Случайная задержка и повторный призыв после успеха. Триггеров было два независимых: таймер при загрузке скрипта (TimeUsePet+3с) и та же подсказка в чате — что срабатывало первым, то и определяло задержку, а второй давал повторный призыв. Теперь один взвод на подключение и ровно TimeUsePet секунд.

6. «Проверка 29/59 по настроению». Минутный триггер сбрасывал флаги и слепо жал призыв 24 раза по 6 с, вообще не заглянув в инвентарь. Теперь: прочитать spawned из playerInventory → призвать только отсутствующих → перечитать инвентарь. Максимум 6 итераций, чат почти не спамит.
 

Вложения

  • Auto-Interaction Securities 1.5.1.3.lua
    43.3 KB · Просмотры: 2
Последнее редактирование: