Модификация скрипта

bruma

Новичок
Автор темы
1
0
Версия MoonLoader
.026-beta
Нашел скрипт для Arizona работы пилота, позволяющий автоматом писать буквы, заданные для проверки зрения, а также для показа градусника автоматом. Есть одно но: когда мой персонаж пробегает около стула, на котором сидит уже другой персонаж для проверки зрения, мой начинает автоматически повторять буквы, которые подсвечиваются для другого игрока. Не в моих силах знаний такое сотворить, поэтому я обращаюсь к тем, кто сможет реализовать мною задуманное.

Модернизация скрипта:
1. Если существует возможность сделать так, чтобы задача начала выполняться только тогда, когда игрок нажмет кнопку "Alt"(чтобы сесть за стул для проверки зрения), то сделайте так. Если нет, то пускай скрипт начнет работать после кмд "/pilot".
2. Сделать рандомную задержку(от 1-ой до 2-ух секунд), т.к. бот пишет по КД 1 секунды.

Открытый код скрипта:
local sampev = require "lib.samp.events"
local AlphaBet = {
    {x = "1545.9962158203", z = "1506.4874267578", str = "з"},
    {x = "1546.1060791016", z = "1506.6175537109", str = "в"},
    {x = "1546.1074218750", z = "1506.0870361328", str = "й"},
    {x = "1546.2662353516", z = "1506.6175537109", str = "г"},
    {x = "1546.2764892578", z = "1506.4874267578", str = "й"},
    {x = "1546.3277587891", z = "1506.2572021484", str = "ч"},
    {x = "1545.9874267578", z = "1506.2572021484", str = "ф"},
    {x = "1545.9359130859", z = "1506.6175537109", str = "б"},
    {x = "1546.2968750000", z = "1506.3673095703", str = "р"},
    {x = "1546.1574707031", z = "1506.0870361328", str = "а"},
    {x = "1546.2875976563", z = "1506.1671142578", str = "ф"},
    {x = "1545.7757568359", z = "1506.6175537109", str = "а"},
    {x = "1545.8360595703", z = "1506.4874267578", str = "ж"},
    {x = "1546.5378417969", z = "1506.1671142578", str = "н"},
    {x = "1546.2275390625", z = "1506.1671142578", str = "р"},
    {x = "1546.6868896484", z = "1506.4874267578", str = "м"},
    {x = "1546.0974121094", z = "1506.1671142578", str = "п"},
    {x = "1546.5880126953", z = "1506.2572021484", str = "щ"},
    {x = "1546.1075439453", z = "1506.2572021484", str = "х"},
    {x = "1546.5270996094", z = "1506.3673095703", str = "т"},
    {x = "1546.4578857422", z = "1506.2572021484", str = "ш"},
    {x = "1546.1363525391", z = "1506.4874267578", str = "и"},
    {x = "1546.7366943359", z = "1506.6175537109", str = "ё"},
    {x = "1546.5367431641", z = "1506.4874267578", str = "л"},
    {x = "1546.4777832031", z = "1506.1671142578", str = "д"},
    {x = "1546.4277343750", z = "1506.0870361328", str = "ы"},
    {x = "1546.4066162109", z = "1506.4874267578", str = "к"},
    {x = "1546.4169921875", z = "1506.3673095703", str = "с"},
    {x = "1546.0666503906", z = "1506.3673095703", str = "о"},
    {x = "1546.1867675781", z = "1506.3673095703", str = "п"},
    {x = "1546.4077148438", z = "1506.1671142578", str = "п"},
    {x = "1546.1674804688", z = "1506.1671142578", str = "ц"},
    {x = "1546.1975097656", z = "1506.0870361328", str = "д"},
    {x = "1546.3576660156", z = "1506.1671142578", str = "м"},
    {x = "1546.2076416016", z = "1506.2572021484", str = "ц"},
    {x = "1545.9465332031", z = "1506.3673095703", str = "н"},
    {x = "1546.2976074219", z = "1506.0870361328", str = "й"},
    {x = "1546.2475585938", z = "1506.0870361328", str = "ф"},
    {x = "1546.4777832031", z = "1506.0870361328", str = "х"},
    {x = "1546.0473632813", z = "1506.1671142578", str = "г"},
    {x = "1546.6271972656", z = "1506.3673095703", str = "у"},
    {x = "1546.4063720703", z = "1506.6075439453", str = "д"},
    {x = "1546.3376464844", z = "1506.0870361328", str = "е"},
    {x = "1546.5765380859", z = "1506.6075439453", str = "е"},
    {x = "1546.3876953125", z = "1506.0870361328", str = "ь"},
}

local Word, TimeWord = "", 0

function main()
    while true do wait(0)
        if Word ~= "" and TimeWord < os.clock() then
            sampSendChat(Word)
            Word = ""
        end
    end
end

local function CutFloat(float)
    return ("%.10f"):format(float)
end

local function TryFindAnswer(pos)
    for i, k in pairs(AlphaBet) do
        if CutFloat(pos.x) == k.x and CutFloat(pos.z) == k.z then
            Word, TimeWord = k.str, os.clock() + 1
            sampAddChatMessage("{C7FF6A}Буква - "..k.str, -1)
            return true
        end
    end

    sampAddChatMessage("{FAFF6A}Не знаю что за буква, её координаты скопированы в консоль", -1)
    return false
end

local x, z = 0, 0

function sampev.onMoveObject(id, lastpos, newpos, speed, rot)
    if speed == 2 and isCharInArea2d(1, 1548, 1395, 1544, 1399, false) then
        if not TryFindAnswer(newpos) then
            x, z = newpos.x, newpos.z
        end
    end
end

function sampev.onSendChat(str)
    if x ~= 0 then
        print("{x = \""..CutFloat(x).."\", z = \""..CutFloat(z).."\", str = \""..str.."\"},")
        x, z = 0, 0
    end
end

function sampev.onServerMessage(color, text)
    if text == "[Подсказка] {ffffff}Пора показать градусник врачу-терапевту, который выдал Вам градусник. {ffff00}У Вас 40 секунд!" then
        local data = allocateMemory(68)
        sampStorePlayerOnfootData(select(2, sampGetPlayerIdByCharHandle(1)), data)
        setStructElement(data, 4, 2, 1024, true)
        sampSendOnfootData(data)
        freeMemory(data)
    end
end
 

Вложения

  • FastPilot_.lua
    4.1 KB · Просмотры: 7
Последнее редактирование:
  • Эм
Реакции: qdIbp и YarikVL