Урок для луа

sweet candy

Новичок
Автор темы
22
0
Есть где то на просторах ютуба, гайд как сделать скрипт на дальний чат?
 

Hacu

Участник
52
9
На луа дальний чат еще не делали, если я не ошибаюсь. А так, можешь просто смотреть темы с софтом, и смотреть содержимое кода, если код открытый, и рабираться в нем. В начале помогает в изучении языка
 
  • Нравится
Реакции: Стэнфорд

Стэнфорд

Потрачен
1,058
543
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
На луа дальний чат еще не делали, если я не ошибаюсь. А так, можешь просто смотреть темы с софтом, и смотреть содержимое кода, если код открытый, и рабираться в нем. В начале помогает в изучении языка
Делали, по крайней мере такой скрипт встроен в админ тулс
 

chapo

tg/inst: @moujeek
Всефорумный модератор
9,086
12,098
На луа дальний чат еще не делали, если я не ошибаюсь. А так, можешь просто смотреть темы с софтом, и смотреть содержимое кода, если код открытый, и рабираться в нем. В начале помогает в изучении языка
 

DedPoet

Участник
98
18
В имгуи такое реально конвертнуть?
 

chapo

tg/inst: @moujeek
Всефорумный модератор
9,086
12,098
В имгуи такое реально конвертнуть?
завтра напишу

В имгуи такое реально конвертнуть?
1637242029717.png

Lua:
local imgui = require('imgui')
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local sampev = require 'lib.samp.events'
local inicfg = require 'inicfg'
local directIni = 'StreamChatByChapo.ini'
local ini = inicfg.load(inicfg.load({
    main = {
        enabled = true,
        sizeX = 300,
        sizeY = 300,
        posX = select(1, getScreenResolution()) - 320,
        posY = select(2, getScreenResolution()) - 325,
        
    },
}, directIni))
inicfg.save(ini, directIni)
local LAST_POS = {x = 0, y = 0}
local LAST_SIZE = {x = 0, y = 0}

local text = 'Сообщения в зоне стрима:\n'
function sampev.onPlayerChatBubble(playerId, color, dist, dur, msg)
    if not msg:find('шлакбаум') and not msg:find('карман') and not msg:find('Кушает') and not msg:find('{73B461}') and not msg:find('Смотрит на') then
        msg = msg:gsub('{......}', '')
        if #msg > 1 then
            text = text..sampGetPlayerNickname(playerId)..' ['..playerId..']: '..msg..'\n'
        end
    end
end

function save()
    ini.main.posX, ini.main.posY = LAST_POS.x, LAST_POS.y
    ini.main.sizeX, ini.main.sizeY = LAST_SIZE.x, LAST_SIZE.y
    inicfg.save(ini, directIni)
end

function onScriptTerminate(s, q)
    if s == thisScript() then
        save()
    end
end

local window = imgui.ImBool(false)

function main()
    while not isSampAvailable() do wait(200) end
    imgui.Process = false
    window.v = true
    while 'chapo' ~= 'gay' do
        wait(0)
        imgui.Process = window.v
    end
end

function imgui.OnDrawFrame()
    if window.v then
        imgui.SetNextWindowPos(imgui.ImVec2(ini.main.posX, ini.main.posY), imgui.Cond.FirstUseEver)
        imgui.SetNextWindowSize(imgui.ImVec2(ini.main.sizeX, ini.main.sizeY), imgui.Cond.FirstUseEver)
        imgui.Begin('StreamChat by chapo', window, imgui.WindowFlags.NoTitleBar)
        LAST_POS = imgui.GetWindowPos()
        LAST_SIZE = imgui.GetWindowSize()
        imgui.ShowCursor = false
        local size = imgui.GetWindowSize()
        imgui.SetCursorPos(imgui.ImVec2(5, 5))
        imgui.BeginChild('main', imgui.ImVec2(size.x - 10, size.y - 10), true)
        imgui.TextWrapped(u8(text))
        imgui.EndChild()
        imgui.End()
    end
end

function BH_theme()
    imgui.SwitchContext()
    local style = imgui.GetStyle()
    local colors = style.Colors
    local clr = imgui.Col
    local ImVec4 = imgui.ImVec4
    local ImVec2 = imgui.ImVec2
 
    style.WindowPadding = ImVec2(6, 4)
    style.WindowRounding = 5.0
    style.ChildWindowRounding = 5.0
    style.FramePadding = ImVec2(5, 2)
    style.FrameRounding = 5.0
    style.ItemSpacing = ImVec2(7, 5)
    style.ItemInnerSpacing = ImVec2(1, 1)
    style.TouchExtraPadding = ImVec2(0, 0)
    style.IndentSpacing = 6.0
    style.ScrollbarSize = 12.0
    style.ScrollbarRounding = 5.0
    style.GrabMinSize = 20.0
    style.GrabRounding = 2.0
    style.WindowTitleAlign = ImVec2(0.5, 0.5)

    colors[clr.Text]                   = ImVec4(1.00, 1.00, 1.00, 1.00)
    colors[clr.WindowBg]               = ImVec4(0.16, 0.18, 0.22, 0.2)
    colors[clr.ChildWindowBg]          = ImVec4(0.19, 0.22, 0.26, 0.2)
    colors[clr.Border]                 = ImVec4(0.19, 0.22, 0.26, 1.00)
end
BH_theme()
 
Последнее редактирование:
  • Нравится
Реакции: DedPoet