код не входит в систему автоматически

Статус
В этой теме нельзя размещать новые ответы.

then

Новичок
Автор темы
8
0
Версия MoonLoader
Другое
Lua:
-- Указываем автора скрипта и версию
script_author("unocomescada")
script_version("1.0")

-- Подключаем необходимые библиотеки
require("lib.moonloader")

-- Определение переменных
slot0 = require("lib.samp.events") -- Библиотека для работы с событиями SA-MP
slot1 = false -- Флаг для автоматического входа
slot2 = true -- Флаг для автоматического переподключения

-- Проверяем наличие файла настроек autologinscp.ini и создаем его, если не существует
if not doesFileExist("moonloader/config/autologinscp.ini") then
    -- Создаем файл настроек autologinscp.ini и устанавливаем пароль по умолчанию
    slot3.save(require("inicfg").load({
        config = {
            senha = "Password"
        }
    }, "autologinscp.ini"), "moonloader/config/autologinscp.ini")
end

-- Главная функция
function main()
    -- Ожидаем доступность SA-MP
    while not isSampAvailable() do
        wait(100)
    end

    -- Выводим сообщение в чат о запуске скрипта
    sampAddChatMessage("{FFFF00}[ Auto Login + Auto Reconnect SPC ]  {ffffff}Автор: unocomescada", -1)

    -- Проверяем имя файла скрипта и, если не соответствует ожидаемому, выгружаем скрипт
    if thisScript().filename ~= "AutoLoginSpectrumRPG_By_unocomescada.lua" then
        thisScript():unload()
    end

    -- Если имя файла скрипта все еще не соответствует ожидаемому, выводим сообщение и перезагружаем скрипт
    if thisScript().filename ~= "AutoLoginSpectrumRPG_By_unocomescada.lua" then
        sampAddChatMessage("Не {FFFF00}изменяйте{FFFFFF} имя скрипта!", -1)
        os.rename(thisScript().path, thisScript().directory .. "\\AutoLoginSpectrumRPG_By_unocomescada.lua")
        thisScript():reload()
    end

    -- Бесконечный цикл
    while true do
        wait(0)

        -- Если флаг slot1 установлен в true, вызываем функцию enviarcmd()
        if uv0 then
            enviarcmd()
        end
    end
end

-- Обработчик события onServerMessage
function slot0.onServerMessage(slot0, slot1)
    -- Создаем отдельный поток выполнения (thread) для обработки сообщения от сервера
    lua_thread.create(function ()
        -- Если сообщение содержит указанную строку, устанавливаем флаг slot1 в true
        if uv0:find("Для входа нажмите") then
            uv1 = true
        end

        -- Если сообщение содержит указанную строку, устанавливаем флаг slot2 в false
        if uv0:find("последний раз входил") then
            uv2 = false
        end
    end)
end

-- Обработчик события onShowTextDraw
function slot0.onShowTextDraw(slot0, slot1)
    -- Создаем отдельный поток выполнения (thread) для обработки TextDraw
    lua_thread.create(function ()
        -- Бесконечный цикл, ожидание
        while uv0 do
            wait(0)

            -- Если значение переменной slot1 соответствует определенным ID TextDraw, отправляем команду на клик
            if uv1 == 2146 then
                sampSendClickTextdraw(2146)
            elseif uv1 == 2142 then
                sampSendClickTextdraw(2142)
            elseif uv1 == 2147 then
                sampSendClickTextdraw(2147)
            end
        end
    end)
end

-- Функция для отправки команды
function enviarcmd()
    -- Если флаг slot1 установлен в true, создаем отдельный поток выполнения (thread)
    if uv0 then
        lua_thread.create(function ()
            -- Отправляем команду чата, включая пароль из файла настроек
            sampSendChat("/logar " .. inicfg.load(nil, "moonloader/config/autologinscp.ini").config.senha)

            -- Устанавливаем флаг slot1 в false
            uv1 = false
        end)
    end
end
 
Решение
Если я всё правильно понял то вот
эмэм:
local events = require('samp.events')
local inicfg = require ('inicfg')

local AutoLogin = true;
local AutoReconnect = true;

function SendMessage(t) return sampAddChatMessage('{FFFF00}[ Auto Login + Auto Reconnect SPC ] {FFFFFF} '.. t, -1) end

textDraw = {
    [2146] = 'TextDrawName_1',
    [2142] = 'TextDrawName_2',
    [2147] = 'TextDrawName_3'
};

function checkFile()
    if not doesFileExist('moonloader/config/AutoLoginSCP.ini') then
        inicfg.save(inicfg.load({
            config = {
                senha = 'Password'
            }
        }, 'AutoLoginSCP.ini'), 'moonloader/config/AutoLoginSCP.ini')
        SendMessage('Конфиг не был найден!')
    end
end

function main()
    while not...

quesada

q-team
Проверенный
892
1,294
Если я всё правильно понял то вот
эмэм:
local events = require('samp.events')
local inicfg = require ('inicfg')

local AutoLogin = true;
local AutoReconnect = true;

function SendMessage(t) return sampAddChatMessage('{FFFF00}[ Auto Login + Auto Reconnect SPC ] {FFFFFF} '.. t, -1) end

textDraw = {
    [2146] = 'TextDrawName_1',
    [2142] = 'TextDrawName_2',
    [2147] = 'TextDrawName_3'
};

function checkFile()
    if not doesFileExist('moonloader/config/AutoLoginSCP.ini') then
        inicfg.save(inicfg.load({
            config = {
                senha = 'Password'
            }
        }, 'AutoLoginSCP.ini'), 'moonloader/config/AutoLoginSCP.ini')
        SendMessage('Конфиг не был найден!')
    end
end

function main()
    while not isSampAvailable() do wait(0) end
    checkFile()
    SendMessage('Успешно загружен ёпта')
    wait(-1)
end

function events.onShowTextDraw(id, data)
    if AutoLogin then
        if textDraw[id] then
            sampSendClickTextdraw(id)
        end
    end
end

function events.onServerMessage(color, text)
    if text:find('Для входа нажмите') and AutoLogin then
        lua_thread.create(function()
            wait(0)
            sampSendChat('/logar ' .. inicfg.load(nil, 'moonloader/config/AutoLoginSCP.ini').config.senha)
            AutoLogin = false;
        end)
    elseif text:find('последний раз входил') then
        AutoReconnect = false;
    end
end
 
Статус
В этой теме нельзя размещать новые ответы.