Проверка в полном массиве

kyrtion

Известный
Автор темы
632
232
Версия MoonLoader
.026-beta
Lua:
function SE.onServerMessage(color, text)
    lua_thread.create(
        function()
            word = {'tess1', 'запертка', 'zdarova'}
            if text:find('привет '..#word) then
                wait(10)
                sampAddChatMessage('{FFFFFF}кто-то там сказал в массив')
            end
        end)
    --sampAddChatMessage('{AAFFFF}hooked')
end

Например, когда игрок пишет так:
"привет запертка" то выводит локальная строка "кто-то там сказал в массиве"
Как сделать так, чтобы массив применил на всё, от первого до последнего без цикла

Я не нашёл ни одной в поиске, может косячил, если есть тема, которая там содержит код проверка в полном массиве
 
Решение
Lua:
function SE.onServerMessage(color, text)
    lua_thread.create(
        function()
            word = {'tess1', 'запертка', 'zdarova'}
            if text:find('привет '..#word) then
                wait(10)
                sampAddChatMessage('{FFFFFF}кто-то там сказал в массив')
            end
        end)
    --sampAddChatMessage('{AAFFFF}hooked')
end

Например, когда игрок пишет так:
"привет запертка" то выводит локальная строка "кто-то там сказал в массиве"
Как сделать так, чтобы массив применил на всё, от первого до последнего без цикла

Я не нашёл ни одной в поиске, может косячил, если есть тема, которая там содержит код проверка в полном массиве
Поддерживаю человека выше, цикл юзать для таких штук нужно. Можно в...

Andrinall

Известный
678
531
Lua:
function SE.onServerMessage(color, text)
    lua_thread.create(
        function()
            word = {'tess1', 'запертка', 'zdarova'}
            if text:find('привет '..#word) then
                wait(10)
                sampAddChatMessage('{FFFFFF}кто-то там сказал в массив')
            end
        end)
    --sampAddChatMessage('{AAFFFF}hooked')
end

Например, когда игрок пишет так:
"привет запертка" то выводит локальная строка "кто-то там сказал в массиве"
Как сделать так, чтобы массив применил на всё, от первого до последнего без цикла

Я не нашёл ни одной в поиске, может косячил, если есть тема, которая там содержит код проверка в полном массиве
Поддерживаю человека выше, цикл юзать для таких штук нужно. Можно в тот же массив с текстом для поиска сунуть и текст, который будет писаться.
Lua:
local tbl = {
    { "tess1", "Найдено tess1" },
    { "запертка", "кто-то там сказал в массив" },
    { "zdarova", "ну привет." } -- было лень придумывать что-то своё)
}

function ev.onServerMessage(color, text)
    for i = 1, #tbl do
        if text:find(tbl[i][1]) then
            sampAddChatMessage(tbl[i][2], -1)
        end
    end
end
 

kyrtion

Известный
Автор темы
632
232
Похоже, проблему решил, благодаря цикл, но надеюсь цикл не нагрузит процессов и потоков
Lua:
function SE.onServerMessage(color, text)
    lua_thread.create(
        function()
            word = {'tess1', 'запертка', 'zdarova'}
            for i,#word do
                if text:find('привет '..word[i]) then
                    wait(10)
                    sampAddChatMessage('{FFFFFF}кто-то там сказал в массив '..word[i])
                end
            end
        end)
    --sampAddChatMessage('{AAFFFF}hooked')
end