Lua [ARZ] Helper for insurance company.

?


  • Всего проголосовало
    13
  • Опрос закрыт .

Sidney31

Известный
Автор темы
1,124
385
Версия SA-MP
  1. Любая
Helper for insurance company.


Функции:
○ Автоматическое открытие двери перед собой.
○ Взятие нового заявления с расстояние - /tickets (<15м)
○ Автонажатие Y/N.
○ Полностью* автоматическое выполнение третьего этапа.

Если при выполнении третьего этапа скрипт пропускает

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


Зависимости: samp.lua, mimgui
Автор: Sidney31
Помощь: Cosmo
Активация: /ih
Демонстрация:

Демонстрации нет, ибо свобода слова на ютубе не для всех

v1:
Добавлена функция автоввода информации с диалога. (этап 3)
Добавлена функция кликера по текстдраву.
Почти полностью автоматизирует третий этап.
Добавлена функция открытия списка заявок /tickets. (by
Cosmo)
Добавлена функция автоматического открытия двери перед собой. (by Cosmo)
Добавлен флудер y/n.

Увеличена задержка между кликами на третьем этапе.
Исправлен флуд "Доступно только рядом со 2-ым кабинетом!"

v.2:
Адаптация под mimgui.
Добавлена возможность настройки в графическом окне.

v.2.1:
Фикс дверей. (от
maxsimmmaxsimm)
v.2.2:
Фикс текстдравов. (от Z
eusss)
 

Вложения

  • insuranceHelper.v2.lua
    12.6 KB · Просмотры: 3,946
  • insuranceHelper.v2.1.lua
    12.7 KB · Просмотры: 559
  • insuranceHelper.v2.2.lua
    12.7 KB · Просмотры: 4,981
Последнее редактирование:

Rice.

Известный
Модератор
1,756
1,622
Зачем добавлять wait(0), если он у тебя не используется?
Lua:
function main()
    while not isSampAvailable() do wait(0) end
      
    while true do
        wait(0)
      
    end
end



Lua:
function main()
    while not isSampAvailable() do wait(0) end
    wait(-1)
end
 

_razor

t.me/sssecretway | ТГК: t.me/razor_code
Всефорумный модератор
1,952
3,223
Зачем добавлять wait(0), если он у тебя не используется?
Lua:
function main()
    while not isSampAvailable() do wait(0) end
    
    while true do
        wait(0)
    
    end
end



Lua:
function main()
    while not isSampAvailable() do wait(0) end
    wait(-1)
end
его вообще можно убрать цикл этот и wait(-1), у него не упадет скрипт из-за onShowDialog
 
  • Нравится
Реакции: Rice.

Cosmo

Известный
Друг
656
2,744
Когда работал в страховой, делал для себя тоже пару полезных функций
Если хочешь, можешь добавить в свой скрипт, и получится уже что-то типо мини-хелпера
* Отправляет /opengate каждые 0.5 секунд возле дверей в кабинеты
Lua:
-- В бесконечном цикле main:
if getActiveInterior() ~= 0 then
    if opengate_timer == nil or (os.clock() - opengate_timer) >= 0.5 then
        local pX, pY, pZ = getCharCoordinates(PLAYER_PED)
        for id = 0, 2047 do
            if sampIs3dTextDefined(id) then
                local text, _, x, y, z, _, _, _, _ = sampGet3dTextInfoById(id)
                if string.match(text, "^{%x+}Открыть\n\n{%x+}H$") then
                    if getDistanceBetweenCoords2d(pX, pY, x, y) <= 1 then
                        sampSendChat("/opengate")
                        opengate_timer = os.clock()
                    end
                end
            end
        end
    end
end
* Нужно быть в < 15 метров от пикапа
Lua:
sampRegisterChatCommand("tickets", function()
    local pX, pY, pZ = getCharCoordinates(PLAYER_PED)

    for id = 0, 4095 do
        local pickup = sampGetPickupHandleBySampId(id)
        if doesPickupExist(pickup) then
            local x, y, z = getPickupCoordinates(pickup)
            local bX = math.modf(x) == 1520
            local bY = math.modf(y) == 1616
            local bZ = math.modf(z) == 10
            local dist = getDistanceBetweenCoords3d(pX, pY, pZ, x, y, z)
          
            if bX and bY and bZ and dist <= 15 then
                lua_thread.create(function()
                    sampSendPickedUpPickup(id)
                    wait(50)
                    setGameKeyState(21, 255)
                    wait(0)
                    setGameKeyState(21, 0)
                end)
            else
                sampAddChatMessage("Доступно только рядом со 2-ым кабинетом!", 0xAAAAAA)
            end
        end
    end
end)
 
  • Нравится
  • Вау
Реакции: Sidney31, xor и cooqie

vizerpad

Активный
186
47
Когда работал в страховой, делал для себя тоже пару полезных функций
Если хочешь, можешь добавить в свой скрипт, и получится уже что-то типо мини-хелпера
* Отправляет /opengate каждые 0.5 секунд возле дверей в кабинеты
Lua:
-- В бесконечном цикле main:
if getActiveInterior() ~= 0 then
    if opengate_timer == nil or (os.clock() - opengate_timer) >= 0.5 then
        local pX, pY, pZ = getCharCoordinates(PLAYER_PED)
        for id = 0, 2047 do
            if sampIs3dTextDefined(id) then
                local text, _, x, y, z, _, _, _, _ = sampGet3dTextInfoById(id)
                if string.match(text, "^{%x+}Открыть\n\n{%x+}H$") then
                    if getDistanceBetweenCoords2d(pX, pY, x, y) <= 1 then
                        sampSendChat("/opengate")
                        opengate_timer = os.clock()
                    end
                end
            end
        end
    end
end
* Нужно быть в < 15 метров от пикапа
Lua:
sampRegisterChatCommand("tickets", function()
    local pX, pY, pZ = getCharCoordinates(PLAYER_PED)

    for id = 0, 4095 do
        local pickup = sampGetPickupHandleBySampId(id)
        if doesPickupExist(pickup) then
            local x, y, z = getPickupCoordinates(pickup)
            local bX = math.modf(x) == 1520
            local bY = math.modf(y) == 1616
            local bZ = math.modf(z) == 10
            local dist = getDistanceBetweenCoords3d(pX, pY, pZ, x, y, z)
         
            if bX and bY and bZ and dist <= 15 then
                lua_thread.create(function()
                    sampSendPickedUpPickup(id)
                    wait(50)
                    setGameKeyState(21, 255)
                    wait(0)
                    setGameKeyState(21, 0)
                end)
            else
                sampAddChatMessage("Доступно только рядом со 2-ым кабинетом!", 0xAAAAAA)
            end
        end
    end
end)
а на авто y/n не было функций? :)