SA:MP Lua Arizona Автоматическая оплата всех налогов и продление отеля одной командой

maras_

Участник
Автор темы
41
2
Версия SA-MP
  1. Любая
Скрипт для Arizona RP, который полностью автоматизирует рутинную оплату налогов и продление номера в отеле.
Достаточно написать одну команду /w в чат, и скрипт самостоятельно откроет телефон, оплатит все налоги, продлит отель, откроет семейное меню и оплатит налог на квартиру. Помимо ручного запуска, скрипт автоматически выполняет оплату каждый час, чтобы вы никогда не забыли про налоги и не потеряли имущество.

ВОЗМОЖНОСТИ:

[1] Оплата всех налогов через телефон
Скрипт открывает телефон, заходит в приложение оплаты и автоматически
оплачивает все имеющиеся налоги (транспорт, дома, бизнес и т.д.).
Если налогов нет - сообщит об этом в чат.

[2] Продление аренды номера в отеле
После оплаты налогов скрипт проверяет, можно ли продлить номер в отеле.
Если доступно 12 и более часов - автоматически продлевает на 12 часов.
Если часов недостаточно - закрывает диалог и уведомляет в чат.

[3] Оплата налога на семейную квартиру (/fammenu)
Скрипт открывает семейное меню, получает сумму налога на квартиру
и автоматически вводит нужную сумму для полной оплаты.
Если налог $0 - просто закрывает диалог.

[4] Автоматический запуск каждый час
Скрипт автоматически выполняет полный цикл оплаты каждые 60 минут.
Вам не нужно следить за временем - всё происходит само.

/w - Ручной запуск полного цикла оплаты налогов

1. Скопируйте файл phone_shortcut.lua в папку moonloader/
2. Перезагрузите скрипты или перезайдите в игру
3. Готово! Используйте /w или ждите автоматического запуска

================================================================================
PhoneShortcut v1.0 | by Kromskii
================================================================================​

код закрыл что бы не видели мой гавно код
Кстати добавил авто переодевание в форму
 

Вложения

  • phone_shortcut.luac
    4 KB · Просмотры: 18
Последнее редактирование:
  • Bug
Реакции: elyrin и kyrtion

vovans.

Активный
134
129
[00:51:10.092098] (error) phone_shortcut.luac: D:\arz\Arizona Games Launcher\bin\arizona\moonloader\phone_shortcut.luac: cannot load incompatible bytecode
[00:51:10.092098] (error) phone_shortcut.luac: Script died due to an error. (24E83DFC)
 

kyrtion

Известный
1,345
512
спс @constersuonsis что дал де-компилированный скрипт, что-ж приступаю к оценку
и так
0. ты недавно писал скрипт и не вижу нормальные скрипты, но почему скомпилировал? что там секретного? не понятно. по моему решил скомпилировать чтобы я не мог оценить? :D. не бойтесь. отзыв от экспертов луашки ты получишь фидбек и это улучит твой опыт, гораздо больше чем слушать и смотреть в ютуб
1. зачем зациклить на проверку диалога, если достаточно получить диалог с помощью событиев (samp.events)? проще говоря, прослушку диалога, листинг. как раз появится диалога в событие - затронет раз и больше не нужно, правда там нужно построить адекватные условия (вроде не указать dialog id, если сервер обновит, то сломает и тебе придется обновлять новые условия) для конкретной работоспособности скрипта и воплощение идея
2. если проверяешь на несколько диалога, то тебе пригодится несколько переменные, например: диалог для оплата налогов открыт? диалог отправлен и необходимо снова проверить? и тд. и тогда получается несколько условия в 1 событие диалога. а цеф, кажется лучше ещё подключить arizona-events (там пока что не свежий, автор либа ушел спать надолго)

вот так у меня выглядит мой собственный алгоритм (только для примера и не относится на твоего скрипта):
1770442961354.png

слишком удобно если указать несколько событиев в разном плагинах (имею ввиду модули, у них свои логики)
правда нужно ставить очень строгая условия, дабы не повиляло на других модулях

вот ещё один пример на получение комплектные оружки на пикап в самп-рп для госков
1770443179444.png

примечание 1: начиная функция с "d" это видит только для разрабов, юзеры не увидят.
примечание 2: проект ещё свежий и там могло быть баги появится

короче ты понял да? я тебе скинул дабы мотивация не рухнуть))
p.s. если ты пишешь в 1 скрипт, то условия можно соединить, указывая как дополнительное условия elseif <code> end
и получится несколько условия в 1 событие диалога
 
  • Нравится
Реакции: constersuonsis и elyrin

maras_

Участник
Автор темы
41
2
хз зачем надо было компилировать
Для скрытия ужаса кода

спс @constersuonsis что дал де-компилированный скрипт, что-ж приступаю к оценку
и так
0. ты недавно писал скрипт и не вижу нормальные скрипты, но почему скомпилировал? что там секретного? не понятно. по моему решил скомпилировать чтобы я не мог оценить? :D. не бойтесь. отзыв от экспертов луашки ты получишь фидбек и это улучит твой опыт, гораздо больше чем слушать и смотреть в ютуб
1. зачем зациклить на проверку диалога, если достаточно получить диалог с помощью событиев (samp.events)? проще говоря, прослушку диалога, листинг. как раз появится диалога в событие - затронет раз и больше не нужно, правда там нужно построить адекватные условия (вроде не указать dialog id, если сервер обновит, то сломает и тебе придется обновлять новые условия) для конкретной работоспособности скрипта и воплощение идея
2. если проверяешь на несколько диалога, то тебе пригодится несколько переменные, например: диалог для оплата налогов открыт? диалог отправлен и необходимо снова проверить? и тд. и тогда получается несколько условия в 1 событие диалога. а цеф, кажется лучше ещё подключить arizona-events (там пока что не свежий, автор либа ушел спать надолго)

вот так у меня выглядит мой собственный алгоритм (только для примера и не относится на твоего скрипта):
Посмотреть вложение 286267
слишком удобно если указать несколько событиев в разном плагинах (имею ввиду модули, у них свои логики)
правда нужно ставить очень строгая условия, дабы не повиляло на других модулях

вот ещё один пример на получение комплектные оружки на пикап в самп-рп для госков
Посмотреть вложение 286269
примечание 1: начиная функция с "d" это видит только для разрабов, юзеры не увидят.
примечание 2: проект ещё свежий и там могло быть баги появится

короче ты понял да? я тебе скинул дабы мотивация не рухнуть))
p.s. если ты пишешь в 1 скрипт, то условия можно соединить, указывая как дополнительное условия elseif <code> end
и получится несколько условия в 1 событие диалога
Спасибо большое да самый первый скрипт я в первые вообще в cef что то отправлял да и с диалогами работал

Великий чапо спасибо что оставили след в моей теме

хз зачем надо было компилировать
А в чем смысл того компилятора если им же можно так легко раскомпилить?
 
Последнее редактирование:

chapo

tg/inst: @moujeek
Всефорумный модератор
9,204
12,536
спс @constersuonsis что дал де-компилированный скрипт, что-ж приступаю к оценку
и так
0. ты недавно писал скрипт и не вижу нормальные скрипты, но почему скомпилировал? что там секретного? не понятно. по моему решил скомпилировать чтобы я не мог оценить? :D. не бойтесь. отзыв от экспертов луашки ты получишь фидбек и это улучит твой опыт, гораздо больше чем слушать и смотреть в ютуб
1. зачем зациклить на проверку диалога, если достаточно получить диалог с помощью событиев (samp.events)? проще говоря, прослушку диалога, листинг. как раз появится диалога в событие - затронет раз и больше не нужно, правда там нужно построить адекватные условия (вроде не указать dialog id, если сервер обновит, то сломает и тебе придется обновлять новые условия) для конкретной работоспособности скрипта и воплощение идея
2. если проверяешь на несколько диалога, то тебе пригодится несколько переменные, например: диалог для оплата налогов открыт? диалог отправлен и необходимо снова проверить? и тд. и тогда получается несколько условия в 1 событие диалога. а цеф, кажется лучше ещё подключить arizona-events (там пока что не свежий, автор либа ушел спать надолго)

вот так у меня выглядит мой собственный алгоритм (только для примера и не относится на твоего скрипта):
Посмотреть вложение 286267
слишком удобно если указать несколько событиев в разном плагинах (имею ввиду модули, у них свои логики)
правда нужно ставить очень строгая условия, дабы не повиляло на других модулях

вот ещё один пример на получение комплектные оружки на пикап в самп-рп для госков
Посмотреть вложение 286269
примечание 1: начиная функция с "d" это видит только для разрабов, юзеры не увидят.
примечание 2: проект ещё свежий и там могло быть баги появится

короче ты понял да? я тебе скинул дабы мотивация не рухнуть))
p.s. если ты пишешь в 1 скрипт, то условия можно соединить, указывая как дополнительное условия elseif <code> end
и получится несколько условия в 1 событие диалога
ну, если приходится ждать несколько диалогов то проще и удобнее будет сделать как-то примерно так
Lua:
local SampEvents = require('samp.events');

---@enum State
local State = {
    None = 0,
    WaitForPhone = 1,
    WaitForAppDialog = 2,
    WaitForTaxesDialog = 3,
    WaitForTaxesResult = 4
};

local DialogTitle = {
    AppDialog = 'Заголовок первого окна',
    TaxesDialog = 'Заголовок второго окна'
};

local state = State.None;

sampRegisterChatCommand('paytax', function()
    if (state ~= State.None) then
        return print('Ошибка, процесс оплаты уже идет.');
    end
    state = State.WaitForPhone;
    sampSendChat('/phone');
end);

-- CEF handler
if (state == State.WaitForPhone) then
    if (появился телефон) then
        state = State.WaitForAppDialog;
        send('launchedApp|24');
    end
end

-- onShowDialog
if (state == State.WaitForAppDialog) then
    if (title:find(DialogTitle.AppDialog)) then
        state = State.WaitForTaxesDialog;
        -- тут какой-нибудь sendDialogResponse или че там нужнл
    end
end
ну или как это делал я для парсера предметов из тест-драйва: https://github.com/vAcs-reborn/item...b35c7b25aaa7796167511c817fa/src/hooks.lua#L53
 
  • Нравится
Реакции: kyrtion и elyrin