создание тегов

$Mr.R1ch$

Активный
Автор темы
288
41
Версия MoonLoader
Другое
приветствую, недавно решил попробовать научится реализовывать теги в скриптах, и при его использовании будет происходить какое то действие.

Пытался реализовать тег для возвращения ника игрока, но все пошло по одному месту.
Во первых, при реализации тега, он возвращал ник-нейм только если отправлять его через sampSendChat, хотя я и использовал функцию onServerMessage, но хотел бы узнать как можно выводить тег и через sampAddChatMessage, и где нибудь в mimgui интерфейсе.

Также ещё одна проблема в том, что при выводите тега, он не заменяется на ник, в общем я в этой теме не опытен.


Lua:
function sampev.onServerMessage(color, msg)
    if msg:find('my_name') then
        local nick = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(playerPed)))
        msg = msg:gsub('my_name', nick)
        -- Возвращаем nil, чтобы предотвратить вывод оригинального сообщения
        return nil
    end
    -- Возвращаем оригинальное сообщение
    return msg
end
 
  • Эм
  • Bug
Реакции: inct, XRLM и Corenale

kyrtion

Известный
983
355
Lua:
local function convertMyNicknameByRegex(text)
    local regex = '{my_nickname}'
    local myNick = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))
    if text:find(regex) then
        text = text:gsub(regex, myNick)
        return true, text
    end
    return false
end

function sampev.onServerMessage(color, msg)
    local bool, newText = convertMyNicknameByRegex(msg)
    if bool then
        msg = newText
    end
    return { color, msg }
end
так разве?
 

VanoKLR

Известный
881
491
приветствую, недавно решил попробовать научится реализовывать теги в скриптах, и при его использовании будет происходить какое то действие.

Пытался реализовать тег для возвращения ника игрока, но все пошло по одному месту.
Во первых, при реализации тега, он возвращал ник-нейм только если отправлять его через sampSendChat, хотя я и использовал функцию onServerMessage, но хотел бы узнать как можно выводить тег и через sampAddChatMessage, и где нибудь в mimgui интерфейсе.

Также ещё одна проблема в том, что при выводите тега, он не заменяется на ник, в общем я в этой теме не опытен.


Lua:
function sampev.onServerMessage(color, msg)
    if msg:find('my_name') then
        local nick = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(playerPed)))
        msg = msg:gsub('my_name', nick)
        -- Возвращаем nil, чтобы предотвратить вывод оригинального сообщения
        return nil
    end
    -- Возвращаем оригинальное сообщение
    return msg
end
Замени nil на {color,msg}
 
  • Нравится
Реакции: $Mr.R1ch$

VanoKLR

Известный
881
491
как теперь использовать тег в mimgui? (чтобы отображалось в imgui.Text)
imgui.inputTextMultiplin (точно не помню как это пишется)
Потом из этого текста делаешь то же самое что и выше
Допустим напишем в этом {name}
Достаешь текст то что записал, и в этом тексте заменяешь {name} на нужный текст и возвращаешь то что получил, и результат в imgui.Text
 

chapo

чопа сребдс // @moujeek
Модератор
8,934
11,704
1734099200514.png