SAMP-RP Arizona Помогите написать маленький скрипт

vv135

Новичок
Автор темы
2
0
Вообщем мне нужен скрипт который прописывал бы реконект на 15 минут (/rec 900) если в рабочий чат напишут что либо про "строй". Я уже пытался разобраться в этом сам, но никогда ещё не писал код на луа.

Мне нужно что то подобное и в идеале чтоб реагировало на слово "строй" от определённых людей в чате которых можно будет указать в коде.

Код который нашёл в интернете:
local ev = require('samp.events')

function ev.onServerMessage(color, text)
    if text:match('^%[VIP PENIS%] .+%[%d+%]:.*мащина пж пж дай матебу') then - типо тут должно быть слово строй из рабочего чата
        local id = text:match('^%[VIP PENIS%] .+%[(%d+)%]:)
        sendInput('/givecar 123 '..id) - а тут /rec 900
    end
end
P.s Я искал уже готовые скрипты по моей теме но нечего подобного или рабочего найти не смог

Ещё я пробовал сделать это с помощью нейросети но она выдавала какую-то хуйню
Неработающий код от нейросетки:
local sampev = require('lib.samp.events')
local sampfuncs = require('lib.samp.funcs')

-- Лучше вынести в отдельный файл конфигурации
local allowedPlayers = {
    ["1"] = true,
    ["2"]      = true,
    ["3"]    = true,
    ["4"] = true
}

local function isAllowedPlayer(playerName)
    return allowedPlayers[playerName] == true
end

-- Список ключевых слов для активации
local triggerWords = {"строй"}

local function containsTriggerWord(text)
    local lowerText = string.lower(text)
    for _, word in ipairs(triggerWords) do
        if string.find(lowerText, word, 1, true) then
            return true
        end
    end
    return false
end

function sampev.onServerMessage(color, text)
    if not containsTriggerWord(text) then
        return
    end

    -- Более гибкий поиск ника: ищем паттерн, похожий на ник SA‑MP
    local senderName = text:match("[%w_]+")

    -- Можно добавить дополнительную проверку, что имя действительно похоже на ник (например, содержит '_')
    if senderName and string.find(senderName, "_") and isAllowedPlayer(senderName) then
        sampfuncs.sendChat("/rec 9")
        print("[Reconnect Script] Авто-рек коннект активирован игроком: " .. senderName)
    end
end

И + я понял что сообщения могут меняться и лучше сделать реакцию на слово без окончания "стро"
 
Последнее редактирование:

user1241

Активный
408
43
Lua:
local sampev = require 'lib.samp.events'

function sampev.onServerMessage(color, text)
    if text:find('строй') or text:find('построение') or text:find('строимся') or text:find('строемся') or text:find('построились') or text:find('тест') then
        
        local ip, port = sampGetCurrentServerAddress()
        lua_thread.create(function()
        sampSetGamestate(5)
        wait(900000) -- 900 sec
        sampConnectToServer(ip, port)
        end)

    end
end
 
  • Нравится
Реакции: kodaskjdwlkj и Shezo

vv135

Новичок
Автор темы
2
0
Lua:
local sampev = require 'lib.samp.events'

function sampev.onServerMessage(color, text)
    if text:find('строй') or text:find('построение') or text:find('строимся') or text:find('строемся') or text:find('построились') or text:find('тест') then
       
        local ip, port = sampGetCurrentServerAddress()
        lua_thread.create(function()
        sampSetGamestate(5)
        wait(900000) -- 900 sec
        sampConnectToServer(ip, port)
        end)

    end
end
Т.к я никогда не писал код я даже и не знаю что мне с этим делать было бы неплохо если бы ты мне скинул сразу рабочий скрипт