find

Ne0nD0

Участник
Автор темы
57
0
Версия MoonLoader
.026-beta
как сделать так,чтобы скрипт реагировал на какое либо сообщение в чате?
 
Решение
up :) а как эти цифры отобразить например в imgui окне? так то я понел как их считать и вывести в чат но вот как отобразить в imgui окно пока не понил


имменно цифры а не все сообщение
1665777489846.png

Lua:
local ev = require 'lib.samp.events'
local imgui = require 'mimgui'
local sw, sh = getScreenResolution()

local mainFrame = imgui.new.bool(false)

local imgui_text = ""

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end

    sampRegisterChatCommand("mimgui", function()
        mainFrame[0] = not mainFrame[0]
    end)

    while true do
        wait(0)
    end
end

function ev.onServerMessage(color, text)
    if text:find(".+%[%d+%]...

Ne0nD0

Участник
Автор темы
57
0
Lua:
local ev = require 'lib.samp.events'

function ev.onServerMesage(color, text)
     if text:find("Сообщение") then
        sampAddChatMessage("Я СРЕАГИРОВАЛ!!!!", -1)
     end
end
спс

Lua:
local ev = require 'lib.samp.events'

function ev.onServerMesage(color, text)
     if text:find("Сообщение") then
        sampAddChatMessage("Я СРЕАГИРОВАЛ!!!!", -1)
     end
end
а еще вопрос ,например в чате текст и в тексте число(оно всегда разное) как считать это число?
 
Последнее редактирование:

ARMOR

Я креветка
Модератор
5,066
7,384
спс


а еще вопрос ,например в чате текст и в тексте число(оно всегда разное) как считать это число?
Для этого нужно использовать регулярные выражения.
 
  • Нравится
Реакции: вайега52

Ne0nD0

Участник
Автор темы
57
0
Для этого нужно использовать регулярные выражения.
up :) а как эти цифры отобразить например в imgui окне? так то я понел как ттекст считать и вывести в чат но вот как отобразить в imgui окно пока не понил

up :) а как эти цифры отобразить например в imgui окне? так то я понел как их считать и вывести в чат но вот как отобразить в imgui окно пока не понил
имменно цифры а не все сообщение
 

ARMOR

Я креветка
Модератор
5,066
7,384
up :) а как эти цифры отобразить например в imgui окне? так то я понел как их считать и вывести в чат но вот как отобразить в imgui окно пока не понил


имменно цифры а не все сообщение
1665777489846.png

Lua:
local ev = require 'lib.samp.events'
local imgui = require 'mimgui'
local sw, sh = getScreenResolution()

local mainFrame = imgui.new.bool(false)

local imgui_text = ""

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end

    sampRegisterChatCommand("mimgui", function()
        mainFrame[0] = not mainFrame[0]
    end)

    while true do
        wait(0)
    end
end

function ev.onServerMessage(color, text)
    if text:find(".+%[%d+%] говорит:{%x+} (%d+)") then
        imgui_text = text:match(".+%[%d+%] говорит:{%x+} (%d+)")
    end
end

imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil
end)

local Frame = imgui.OnFrame(
    function() return mainFrame[0] end,
    function(self)
        imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(300, 300), imgui.Cond.FirstUseEver)
        imgui.Begin("ImGui", mainFrame)
        imgui.Text(imgui_text)
        imgui.End()
    end
)
 

Ne0nD0

Участник
Автор темы
57
0
Посмотреть вложение 173077
Lua:
local ev = require 'lib.samp.events'
local imgui = require 'mimgui'
local sw, sh = getScreenResolution()

local mainFrame = imgui.new.bool(false)

local imgui_text = ""

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end

    sampRegisterChatCommand("mimgui", function()
        mainFrame[0] = not mainFrame[0]
    end)

    while true do
        wait(0)
    end
end

function ev.onServerMessage(color, text)
    if text:find(".+%[%d+%] говорит:{%x+} (%d+)") then
        imgui_text = text:match(".+%[%d+%] говорит:{%x+} (%d+)")
    end
end

imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil
end)

local Frame = imgui.OnFrame(
    function() return mainFrame[0] end,
    function(self)
        imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(300, 300), imgui.Cond.FirstUseEver)
        imgui.Begin("ImGui", mainFrame)
        imgui.Text(imgui_text)
        imgui.End()
    end
)
ты не понял,я имел ввиду ,что сообщение состоит из букв и цифр, как считать его целиком я понял ,но как цифры из него отобразить в imgui я не понел
 

ARMOR

Я креветка
Модератор
5,066
7,384
ты не понял,я имел ввиду ,что сообщение состоит из букв и цифр, как считать его целиком я понял ,но как цифры из него отобразить в imgui я не понел
В коде это указано. Нужно получать цифры из сообщения с помощью (%d+), ибо то что в скобках можно потом получать с помощью text:match ( Это тоже в коде есть ). И потом значение их этих скобок передавать в переменную, после чего создавать imgui.Text с переменной в которой хранится твое число