Lua Прочее [ARZ] Legal Pilot Helper [UPDATE v1.1.4]

Revavi

Участник
Автор темы
101
24
Версия SA-MP
  1. Любая

logo3.png

Pilot Helper - Помощник для работы пилота на Arizona RP

Скрипт помогает записать свои результаты пилота и слегка облегчить саму работу

Скрипт способен:

  • Записывать чистую зарплату, полученную за рейсы
  • Записывать кол-во рейсов, разделяя их на дневные и ночные
  • Записывать кол-во выпавших ларцов и их общую цену
  • Автоматически выбирать частный самолёт
  • Распознавать буквы на доске у окулиста (Взято из другого скрипта, но улучшено)
  • Локально изменять погоду и время
  • Включать/выключать секундомер (Взято из другого скрипта)
Основное меню
main_window.png


окно статистики
statistics_window.png


Необходимые библиотеки

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

/pilot - открыть/закрыть меню
/ptimer - включить/выключить счётчик



(!) До версии 1.1.1 скрипт был в закрытом доступе для нашей семьи (Arizona RP Payson: семья Noble).
(!) Для корректного распознавания текущего времени суток (день/ночь), нужно перед началом смены звонить в службу точного времени, если на вашем ПК время не МСК, или идёт неправильно.
(!) Скрипт неуникальный, таких как этот много, но они запрещены на каждом сервере, в отличии от моего.
(!) Скрипт может конфликтовать с некоторыми money separator, советую выключить разделение сумм в чате.
(!) Функция распознавание букв у окулиста может быть наказуема на некоторых серверах.
< V 1.0.3 >
- Оптимизация кода
- Изменение окна статистики
- Разделение дневных и ночных рейсов в статистике

< V 1.1.0 >
- Баг фикс
- Распознавание букв у окулиста
- Учёт цены ларцов
- Изменение цветов меню
- Окно статистики скрывается при открытии меню паузы

< V 1.1.1 >
- Баг-фикс
- Изменение цветов меню
- Возможность отключать/включать локальную погоду/время

< V 1.1.2 >
- Баг-фикс
- Незначительное изменение кода

< V 1.1.3 >
- Баг-фикс

< V 1.1.4 >
- Обновление под новый интерьер.
- Добавлено предупреждение о возможности наказания за функцию "Распознавание букв у окулиста"
 

Вложения

  • Pilot.Helper.lua
    20.3 KB · Просмотры: 888
Последнее редактирование:

RoflHaHaWF

Известный
1,094
457

logo3.png

Pilot Helper - Помощник для работы пилота на Arizona RP

Скрипт помогает записать свои результаты пилота и слегка облегчить саму работу

Скрипт способен:

  • Записывать чистую зарплату, полученную за рейсы
  • Записывать кол-во рейсов, разделяя их на дневные и ночные
  • Записывать кол-во выпавших ларцов и их общую цену
  • Автоматически выбирать частный самолёт
  • Распознавать буквы на доске у окулиста (Взято из другого скрипта, но улучшено)
  • Локально изменять погоду и время
  • Включать/выключать секундомер (Взято из другого скрипта)
Основное меню
image.png


окно статистики
image2.png


Необходимые библиотеки​

mimgui
fAwesome6
samp.lua

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

/pilot - открыть/закрыть меню
/ptimer - включить/выключить счётчик



(!) V1.1.1 Так как до этого момента скрипт был в закрытом доступе для нашей семьи (Arizona RP Payson: семья Noble).
(!) Для корректного распознавания текущего времени суток (день/ночь), нужно перед началом смены звонить в службу точного времени, если на вашем ПК время не МСК, или неправильно идёт.
(!) Скрипт неуникальный, таких как этот много, но не все они разрешены, в отличии от моего.
(!) Если найдёте баг или функцию, за которую банят на вашем сервере - пишите, может даже сделаю разные версии под разные сервера.
< V 1.0.3 >
- Оптимизация кода
- Изменение окна статистики
- Разделение дневных и ночных рейсов в статистике

< V 1.1.0 >
- Баг фикс
- Распознавание букв у окулиста
- Учёт цены ларцов
- Изменение цветов меню
- Окно статистики скрывается при открытии меню паузы

< V 1.1.1 >
- Баг-фикс
- Изменение цветов меню
- Возможность отключать/включать локальную погоду/время
f3978fec7ee09fcec921d94e80e5cb30.jpg
Lua:
require("moonloader")--нахуя, если ты оттуда ничего не юзаешь?

local vkeys = require 'vkeys' -- нахуя? Ради одного "vkeys.VK_ESCAPE"? Escape - это 0x1B, без лишней либы

Lua:
--[[text = text:gsub('%{......%}', '')
text = text:gsub(',', '')
можно было сделать "text = text:gsub('%{......%}', ''):gsub(',', '')"]]
if not text:find('(.+)_(.+)%[(%d+)%]') then -- нах это вообще, если можно в нижних text:find расставить ^(начало строки) и $(конец строки)
    if text:find('Присаживайтесь на стул напротив доски') then firstChar = true end
    if text:find('Врач--окулист: Произносите как называется выделенная буква') then
        oculist = true
        if showCharacters[0] then lua_thread.create(function() wait(50); msg('Следующая буква: '..(nextChar:find('Неизвестно') and '{FF0000}' or '{00FF00}')..nextChar) end) end
        firstChar = false
    end
    if text:find('Врач--окулист: Хорошо со зрением у Вас всё впорядке проходите к') or text:find('Врач--окулист: Увы Вы не правильно назвали выделенную букву') then oculist=false nextChar='Неизвестно(Обратитесь к разработчику)' end
    if text:find('%[Подсказка%] Рейс успешно завершен! Заработано за рейс: $(%d+) за смену всего: $(%d+)') then
        local money = text:match('Заработано за рейс: $(%d+)')
        if day then proxyStats.main.countD = stats.main.countD + 1 else proxyStats.main.countN = stats.main.countN + 1 end
        proxyStats.main.money = stats.main.money + money
    end
    if text:find('Благодаря улучшениям вашей семьи вы получаете дополнительную зарплату: $(%d+)') then
        local money = text:match('дополнительную зарплату: $(%d+)')
        proxyStats.main.money = stats.main.money + money
    end
    if text:find('За работу в рабочее время вашей организации вы получаете прибавку к зарплате: $(%d+).') then
        local money = text:match('прибавку к зарплате: $(%d+).')
        proxyStats.main.money = stats.main.money + money
    end
    if text:find('Получено вознаграждение: (.+)') then
        local larec = text:match('Получено вознаграждение: (.+)')
        if larec == 'Ларец Tidex.' then proxyStats.main.tidex = stats.main.tidex + 1 end
        if larec == 'Ларец с премией.' then proxyStats.main.award = stats.main.award + 1 end
        if larec == 'Ларец пилота.' then proxyStats.main.pilot = stats.main.pilot + 1 end
    end
end
 
  • Грустно
  • Нравится
Реакции: Vespan и Revavi

Revavi

Участник
Автор темы
101
24
f3978fec7ee09fcec921d94e80e5cb30.jpg
Lua:
require("moonloader")--нахуя, если ты оттуда ничего не юзаешь?

local vkeys = require 'vkeys' -- нахуя? Ради одного "vkeys.VK_ESCAPE"? Escape - это 0x1B, без лишней либы

Lua:
--[[text = text:gsub('%{......%}', '')
text = text:gsub(',', '')
можно было сделать "text = text:gsub('%{......%}', ''):gsub(',', '')"]]
if not text:find('(.+)_(.+)%[(%d+)%]') then -- нах это вообще, если можно в нижних text:find расставить ^(начало строки) и $(конец строки)
    if text:find('Присаживайтесь на стул напротив доски') then firstChar = true end
    if text:find('Врач--окулист: Произносите как называется выделенная буква') then
        oculist = true
        if showCharacters[0] then lua_thread.create(function() wait(50); msg('Следующая буква: '..(nextChar:find('Неизвестно') and '{FF0000}' or '{00FF00}')..nextChar) end) end
        firstChar = false
    end
    if text:find('Врач--окулист: Хорошо со зрением у Вас всё впорядке проходите к') or text:find('Врач--окулист: Увы Вы не правильно назвали выделенную букву') then oculist=false nextChar='Неизвестно(Обратитесь к разработчику)' end
    if text:find('%[Подсказка%] Рейс успешно завершен! Заработано за рейс: $(%d+) за смену всего: $(%d+)') then
        local money = text:match('Заработано за рейс: $(%d+)')
        if day then proxyStats.main.countD = stats.main.countD + 1 else proxyStats.main.countN = stats.main.countN + 1 end
        proxyStats.main.money = stats.main.money + money
    end
    if text:find('Благодаря улучшениям вашей семьи вы получаете дополнительную зарплату: $(%d+)') then
        local money = text:match('дополнительную зарплату: $(%d+)')
        proxyStats.main.money = stats.main.money + money
    end
    if text:find('За работу в рабочее время вашей организации вы получаете прибавку к зарплате: $(%d+).') then
        local money = text:match('прибавку к зарплате: $(%d+).')
        proxyStats.main.money = stats.main.money + money
    end
    if text:find('Получено вознаграждение: (.+)') then
        local larec = text:match('Получено вознаграждение: (.+)')
        if larec == 'Ларец Tidex.' then proxyStats.main.tidex = stats.main.tidex + 1 end
        if larec == 'Ларец с премией.' then proxyStats.main.award = stats.main.award + 1 end
        if larec == 'Ларец пилота.' then proxyStats.main.pilot = stats.main.pilot + 1 end
    end
end
Насчёт библиотек, я просто пустой файл для скрипта делаю с ctrl+c ctrl+v, а потом чёто забиваю на не очень важные детали
А так учту в следующем апдейте)
 
  • Нравится
Реакции: RoflHaHaWF

Blasted!

Известный
714
167
f3978fec7ee09fcec921d94e80e5cb30.jpg
Lua:
require("moonloader")--нахуя, если ты оттуда ничего не юзаешь?

local vkeys = require 'vkeys' -- нахуя? Ради одного "vkeys.VK_ESCAPE"? Escape - это 0x1B, без лишней либы

Lua:
--[[text = text:gsub('%{......%}', '')
text = text:gsub(',', '')
можно было сделать "text = text:gsub('%{......%}', ''):gsub(',', '')"]]
if not text:find('(.+)_(.+)%[(%d+)%]') then -- нах это вообще, если можно в нижних text:find расставить ^(начало строки) и $(конец строки)
    if text:find('Присаживайтесь на стул напротив доски') then firstChar = true end
    if text:find('Врач--окулист: Произносите как называется выделенная буква') then
        oculist = true
        if showCharacters[0] then lua_thread.create(function() wait(50); msg('Следующая буква: '..(nextChar:find('Неизвестно') and '{FF0000}' or '{00FF00}')..nextChar) end) end
        firstChar = false
    end
    if text:find('Врач--окулист: Хорошо со зрением у Вас всё впорядке проходите к') or text:find('Врач--окулист: Увы Вы не правильно назвали выделенную букву') then oculist=false nextChar='Неизвестно(Обратитесь к разработчику)' end
    if text:find('%[Подсказка%] Рейс успешно завершен! Заработано за рейс: $(%d+) за смену всего: $(%d+)') then
        local money = text:match('Заработано за рейс: $(%d+)')
        if day then proxyStats.main.countD = stats.main.countD + 1 else proxyStats.main.countN = stats.main.countN + 1 end
        proxyStats.main.money = stats.main.money + money
    end
    if text:find('Благодаря улучшениям вашей семьи вы получаете дополнительную зарплату: $(%d+)') then
        local money = text:match('дополнительную зарплату: $(%d+)')
        proxyStats.main.money = stats.main.money + money
    end
    if text:find('За работу в рабочее время вашей организации вы получаете прибавку к зарплате: $(%d+).') then
        local money = text:match('прибавку к зарплате: $(%d+).')
        proxyStats.main.money = stats.main.money + money
    end
    if text:find('Получено вознаграждение: (.+)') then
        local larec = text:match('Получено вознаграждение: (.+)')
        if larec == 'Ларец Tidex.' then proxyStats.main.tidex = stats.main.tidex + 1 end
        if larec == 'Ларец с премией.' then proxyStats.main.award = stats.main.award + 1 end
        if larec == 'Ларец пилота.' then proxyStats.main.pilot = stats.main.pilot + 1 end
    end
end
Если не ошибаюсь функция с автораспознаванием букв запрещена
 

Улиточка

Активный
218
70
@добавляешь в свою копию другого популярного хелпера такие же запрещенные функции которые запрещены на всех серверах
@
@называешь легальный.
@
@?????????
@
@Profit!
 
  • Вау
Реакции: RoflHaHaWF
D

deleted-user-452405

Гость
@добавляешь в свою копию другого популярного хелпера такие же запрещенные функции которые запрещены на всех серверах
@
@называешь легальный.
@
@?????????
@
@Profit!
Пупсик а какие функции запрещены?
Название букв у окулиста?
 

Revavi

Участник
Автор темы
101
24
Если не ошибаюсь функция с автораспознаванием букв запрещена
по логике она должна быть разрешена, ведь это копия того, что есть на телефонах и оно не вводит автоматически буквы. Тем более это больше баг фикс, потому что эти самые буквы иногда могут вовсе пропасть с доски

@добавляешь в свою копию другого популярного хелпера такие же запрещенные функции которые запрещены на всех серверах
@
@называешь легальный.
@
@?????????
@
@Profit!
Почему копию?
Я объяснил выше, что распознавание букв разрешено
Про остальной функционал:
стата и секундомер - 0 преимущества, а значит разрешено
авто-выбор частного самолёта - 0 преимущества, его нельзя не словить, а значит разрешено
погода и время - оно где то запрещено?

Возможно некоторые функции запрещены именно на твоём сервере. Я играю на 15, и это всё тут разрешено
 
Последнее редактирование:

YarikVL

Известный
Проверенный
4,812
1,819
по логике она должна быть разрешена, ведь это копия того, что есть на телефонах и оно не вводит автоматически буквы. Тем более это больше баг фикс, потому что эти самые буквы иногда могут вовсе пропасть с доски


Почему копию?
Я объяснил выше, что распознавание букв разрешено
Про остальной функционал:
стата и секундомер - 0 преимущества, а значит разрешено
авто-выбор частного самолёта - 0 преимущества, его нельзя не словить, а значит разрешено
погода и время - оно где то запрещено?

Возможно некоторые функции запрещены именно на твоём сервере. Я играю на 15, и это всё тут разрешено
Чтобы вы дальше тут не разводили конфликт - хочу сказать что админы ( и руководство ) Аризоны очень непредсказуемые люди, они даже запрещают визуальные скрипты не дающие преимущества ( подтверждение моим словам это табличка со скринами ответов от руководства серверов:
https://www.blast.hk/threads/85370/ )
Поэтому просто спросите на форуме/в личке у руководства сервера - разрешен ли такой скрипт на вашем сервере.
 
  • Нравится
Реакции: Улиточка и Revavi

чо новман

Известный
191
121
Чтобы вы дальше тут не разводили конфликт - хочу сказать что админы ( и руководство ) Аризоны очень непредсказуемые люди, они даже запрещают визуальные скрипты не дающие преимущества ( подтверждение моим словам это табличка со скринами ответов от руководства серверов:
https://www.blast.hk/threads/85370/ )
Поэтому просто спросите на форуме/в личке у руководства сервера - разрешен ли такой скрипт на вашем сервере.
минич (га 24) вроде разрешил этот скрипт
 

mVsker

Новичок
3
2
if text:find('%[Подсказка%] Рейс успешно завершен! Заработано за рейс: $(%d+) за смену всего: $(%d+)') then
надо заменить на
if text:find('%[Подсказка%] Рейс успешно завершен! Заработано за рейс: $(%d+), за смену всего: $(%d+)') then

запятой не хватает и не находит строку, тем самым не считает рейсы и часть зп)
еще в теме лучше укажи, что может кофликтовать с money separator, поэтому на чат его лучше выключать
 
  • Нравится
Реакции: Revavi

YarikVL

Известный
Проверенный
4,812
1,819
  • Нравится
Реакции: Revavi и mVsker