Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2023, 00:59   #1
bunny8
Новичок
Джуниор
 
Регистрация: 09.12.2023
Сообщений: 1
По умолчанию LUA скрипт САМП

Приветствую, я являюсь игроком в ГТА САМП, где собственно являюсь администратором, игроки часто запрашивают некоторые вещи для выдачи в репорт, и вот проблема что я не могу сделать так, чтобы ключевые слова реагировали только на репорт(скрины прикреплю), они регируют на любой из видов чата и мешают этим, кто может решить проблему, суть задачи это просто сделать так, чтобы ключевые слова считывались только с репорта, и приходило в этот момент подтверждение по типу "Для перехода в слежку, нажмите F1", если проходит условно скунд 10, то в чат отправлялось "предложение больше не актуально", оно тут уже присутствует, но не выводит текст.
вот код:
Код:
require "lib.moonloader"
local keys = require "vkeys"
local samp = require("samp.events")

local report_keywords = {"Велик", "починить", "перевернуть", "вел", "почините", "велик", "заправьте", "зап", "вел", "velik", "vel"}

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage("{FFA500}Скрипт \"REPORT\" успешно загружен.Version:0.03", -1)
    sampAddChatMessage("{FFA500}Автор скрипта \"VINCENZO\"", -1)
	
    while true do
        wait(0)
        if isKeyJustPressed(VK_F1) and not sampIsChatInputActive() and not sampIsDialogActive() and not isPauseMenuActive() and not isSampfuncsConsoleActive() then
            if last_report then
                if os.clock() - last_report.time >= 5 then
                    sampAddChatMessage("{ff00ff}Слежка более не актуальна", -1)
                    last_report = nil
                else
                    sampSendChat("/sp " .. last_report.player_id)
                    wait(500) -- задержка в 1.5 секунды
                    sampSendChat("/ans " .. last_report.player_id .. " Уважаемый игрок, слежу за Вами")
                    last_report = nil
                end
            else
                sampAddChatMessage("{ff00ff}Активных предложений нет", -1)
            end
        end
    end
end

function samp.onServerMessage(color, text)
    for _, keyword in ipairs(report_keywords) do
        if string.find(text, keyword) then
            local player_id = string.match(text, "%[(%d+)%]") -- предполагается, что ID игрока указывается в квадратных скобках
            if player_id then
                last_report = {player_id = player_id, text = text, time = os.clock()}
                sampAddChatMessage("{ff00ff}Если вы хотите перейти по этому репорту нажмите F1", -1)
            end
            break
        end
    end
end
А вот скрин репорта, как он выглядит и надо чтобы отсюда считывало:
msg852670434-79382.jpg
bunny8 вне форума Ответить с цитированием
Старый 09.12.2023, 06:19   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

А если добавить?
Код:
function samp.onServerMessage(color, text)
    if string.find(text, "%[/arep%]") then
        for _, keyword in ipairs(report_keywords) do
            ...
        end
    end
end
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрипт работает только с первым инпутом. Как я понимаю, нужно сделать так, чтобы этот мой скрипт работал с динамической страницей. dodsik JavaScript, Ajax 0 13.12.2019 18:33
Sql скрипт Ramza Фриланс 5 31.08.2012 19:18
мой сайт взломали и в коды скриптов добавили вот этот скрипт. Что за скрипт? nsbox JavaScript, Ajax 9 21.01.2010 18:19
Скрипт pop Under (скрипт попандера) Jensi JavaScript, Ajax 2 13.07.2009 00:17