все в теме

Fasz fiatal

Активный
Автор темы
271
55
Версия MoonLoader
Другое
что не так?

Lua:
local fix = {
    [1] = {bugsymbol = "s" , fixsymbol = "і",},
    [2] = {bugsymbol = "S" , fixsymbol = "I",}
}

require("samp.events").onSendChat = function(message)
    for i = 1, #fix do
        if message:find(fix[i]['bugsymbol']) then
            sampAddChatMessage(fix[i]['bugsymbol'] .." ".. fix[i]['fixsymbol'], -1) -- эта выводится
            string.gsub(message, fix[i]['bugsymbol'], fix[i]['fixsymbol']) -- не заменяется
        end
    end
    
    return {message}
end
 
Решение
хз попробуй
Lua:
local sampev = require('lib.samp.events')
local fix = {
    {bugsymbol = "s" , fixsymbol = "і"},
    {bugsymbol = "S" , fixsymbol = "I"},
}

function sampev.onSendChat(msg)
    for _, data in pairs(fix) do
        msg = msg:find(data.bugsymbol) and msg:gsub(data.bugsymbol, data.fixsymbol) or msg
    end
    return {msg}
end

MLycoris

Режим чтения
Проверенный
1,821
1,860
хз попробуй
Lua:
local sampev = require('lib.samp.events')
local fix = {
    {bugsymbol = "s" , fixsymbol = "і"},
    {bugsymbol = "S" , fixsymbol = "I"},
}

function sampev.onSendChat(msg)
    for _, data in pairs(fix) do
        msg = msg:find(data.bugsymbol) and msg:gsub(data.bugsymbol, data.fixsymbol) or msg
    end
    return {msg}
end
 
  • Нравится
  • Грустно
Реакции: Анонимуs и qdIbp

Fasz fiatal

Активный
Автор темы
271
55
хз попробуй
Lua:
local sampev = require('lib.samp.events')
local fix = {
    {bugsymbol = "s" , fixsymbol = "і"},
    {bugsymbol = "S" , fixsymbol = "I"},
}

function sampev.onSendChat(msg)
    for _, data in pairs(fix) do
        msg = msg:find(data.bugsymbol) and msg:gsub(data.bugsymbol, data.fixsymbol) or msg
    end
    return {msg}
end
из этого списка выводится только первое. Как это исправить?
Lua:
local fix = {
    [1] = {bugsymbol = "³" , fixsymbol = "і",},
    [2] = {bugsymbol = "²" , fixsymbol = "I",},
    [3] = {bugsymbol = "¿" , fixsymbol = "ї",},
    [4] = {bugsymbol = "¯" , fixsymbol = "Ї",},
    [5] = {bugsymbol = "º" , fixsymbol = "є",},
    [6] = {bugsymbol = "ª" , fixsymbol = "Є",}
}
 

Vintik

Мечтатель
Проверенный
1,470
920
из этого списка выводится только первое. Как это исправить?
Lua:
local fix = {
    [1] = {bugsymbol = "³" , fixsymbol = "і",},
    [2] = {bugsymbol = "²" , fixsymbol = "I",},
    [3] = {bugsymbol = "¿" , fixsymbol = "ї",},
    [4] = {bugsymbol = "¯" , fixsymbol = "Ї",},
    [5] = {bugsymbol = "º" , fixsymbol = "є",},
    [6] = {bugsymbol = "ª" , fixsymbol = "Є",}
}
Так по образцу заполни массив:
Lua:
local fix = {
    {bugsymbol = "s" , fixsymbol = "і"},
    {bugsymbol = "S" , fixsymbol = "I"},
}
 
  • Нравится
Реакции: MLycoris

Fasz fiatal

Активный
Автор темы
271
55
Последнее редактирование:
  • Bug
Реакции: Vintik

Vintik

Мечтатель
Проверенный
1,470
920
оно так и заполнено, но символы другие стоят. Я хз, может кодировку какую то поставить, может еще что то
Не видно разницы?
Lua:
[1] = {bugsymbol = "³" , fixsymbol = "і",},
Lua:
{bugsymbol = "s" , fixsymbol = "і"},
Убери [1] =, [2] =, [3] =...
 

Fasz fiatal

Активный
Автор темы
271
55
И во всех не работает?...
А в чём идея скрипта, подскажи?
во всех. Замена багнутых символов на нормальные для отправки их в чат

закрывайте тему, причина проблемы найдена. Это сам пакет кривой отправляется
 
Последнее редактирование: