разные цвета при поиске цвета в чате

Joce

Участник
Автор темы
32
7
Версия MoonLoader
.026-beta
Сам код
Lua:
script_properties('work-in-pause')
require "lib.moonloader"
local sampev = require 'lib.samp.events'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local tag = "[test]: "
local main_color = "{FFF000}"
local isAutoFindActive = false
local findPlayerId = nil
function main()
    repeat wait(0) until isSampAvailable()
   
    sampRegisterChatCommand("p", cmd_p)
    sampRegisterChatCommand("afind", cmd_afind)
    sampAddChatMessage(main_color .. tag .. 'Скрипт запущен и готов к работе', -1)
   
    while true do
        wait(3000)
        if isAutoFindActive and findPlayerId then
            sampSendChat("/find " .. findPlayerId)
        end
    end
end
function cmd_p(playerId)
    if playerId and tonumber(playerId) then
        sampSendChat("/pursuit " .. playerId)
    else
        sampAddChatMessage(main_color .. tag ..  'Используйте команду /p [ID игрока]', -1)
    end
end
function cmd_afind(playerId)
    if playerId and tonumber(playerId) then
        findPlayerId = playerId
        isAutoFindActive = true
        sampAddChatMessage(main_color .. tag ..  'Автоматическое нахождение активировано для игрока с ID ' .. playerId, -1)
    else
        isAutoFindActive = false
        findPlayerId = nil
        sampAddChatMessage(main_color .. tag ..  'Автоматическое нахождение деактивировано.', -1)
    end
end
function sampev.onServerMessage(color, text)
    if (text:find('%[Ошибка%] Вы не можете разыскивать игрока который не преступник!') and color == -1104335361) or
       (text:find('%[Ошибка%] Игрок находится в каком-то здании') and color == 1941201407) then
        print(text)
        sampAddChatMessage("[Debug]: Triggered Deactivation. Color: " .. tostring(color) .. " Text: " .. text, 0xFFFFFF)
        isAutoFindActive = false
        findPlayerId = nil
        sampAddChatMessage(main_color .. tag .. 'Автоматическое нахождение деактивировано по причине: '  .. text, -1)
    else
        sampAddChatMessage("[Debug]: Received message. Color: " .. tostring(color) .. " Text: " .. text, 0xFFFFFF)
    end
end
Функция
Lua:
function sampev.onServerMessage(color, text)
    if (text:find('%[Ошибка%] Вы не можете разыскивать игрока который не преступник!') and color == -1104335361) or
       (text:find('%[Ошибка%] Игрок находится в каком-то здании') and color == 1941201407) then
        print(text)
        sampAddChatMessage("[Debug]: Triggered Deactivation. Color: " .. tostring(color) .. " Text: " .. text, 0xFFFFFF)
        isAutoFindActive = false
        findPlayerId = nil
        sampAddChatMessage(main_color .. tag .. 'Автоматическое нахождение деактивировано по причине: '  .. text, -1)
    else
        sampAddChatMessage("[Debug]: Received message. Color: " .. tostring(color) .. " Text: " .. text, 0xFFFFFF)
    end
end
IMG_20240710_224725.png


image-10.png


Не могу понять, почему не ищется текст, может надо как-то еще получить цвет [Ошибка] и цвет дальнейшего текста
Так это пишет в чат логе: [Ошибка] {FFFFFF}Игрок находится в каком-то здании
Так это пишет в чат логе: [Ошибка] {FFFFFF}Вы не можете
 

Вложения

  • IMG_20240710_224725.png
    IMG_20240710_224725.png
    27.5 KB · Просмотры: 6
Последнее редактирование:
  • Грустно
Реакции: MLycoris