msg\text

Akat

Активный
Автор темы
380
88
Версия MoonLoader
.027.0-preview
Чем отличается msg:find , text:find
 

Adrian G.

Известный
Проверенный
519
459
Что бы потом просто её не переписовать и т.д?
Например
Код:
 text = text:match ("blasthack")
sampAddChatMessage(text, -1)
Нет
Lua:
function sampev = require 'lib.samp.events'

function sampev.onServerMessage(color, text)
    --[[
        допустим сейчас от сервера тебе пришло сообщение "Привет Vasya_Pupkin",
        оно хранится в переменной text(которая выше в скобках).
        Тебе нужно из этого сообщения записать ник в переменную, для этого делается следующее.
                                                                                                ]]
        nick = text:match('Привет (Vasya_Pupkin)') -- то, что тебе нужно захватить, нужно оборачивать в круглые скобки
        --теперь в переменной nick хранится ник Vasya_Pupkin
        print(nick) --напишет в консоль Vasya_Pupkin
        
        
        --Если ты заранее не знаешь какой будет ник в этой фразе, то нужно использовать регулярные выражения для захвата
        nick = text:match('Привет (.+)') --[[
                                                точка это символ регулярного выражения, она означает любой символ,
                                                а плюс означает неограниченное кол-во любых символов.
                                                Тоесть, все символы после слова Привет(буквы, цифры, пробелы и т.д) будут
                                                записаны в переменную nick.
                                                                                                        ]]
end
--почитай в гугле про это, это становится элементарно просто, как только поймешь.
 

Akat

Активный
Автор темы
380
88
Нет
Lua:
function sampev = require 'lib.samp.events'

function sampev.onServerMessage(color, text)
    --[[
        допустим сейчас от сервера тебе пришло сообщение "Привет Vasya_Pupkin",
        оно хранится в переменной text(которая выше в скобках).
        Тебе нужно из этого сообщения записать ник в переменную, для этого делается следующее.
                                                                                                ]]
        nick = text:match('Привет (Vasya_Pupkin)') -- то, что тебе нужно захватить, нужно оборачивать в круглые скобки
        --теперь в переменной nick хранится ник Vasya_Pupkin
        print(nick) --напишет в консоль Vasya_Pupkin
     
     
        --Если ты заранее не знаешь какой будет ник в этой фразе, то нужно использовать регулярные выражения для захвата
        nick = text:match('Привет (.+)') --[[
                                                точка это символ регулярного выражения, она означает любой символ,
                                                а плюс означает неограниченное кол-во любых символов.
                                                Тоесть, все символы после слова Привет(буквы, цифры, пробелы и т.д) будут
                                                записаны в переменную nick.
                                                                                                        ]]
end
--почитай в гугле про это, это становится элементарно просто, как только поймешь.
А зачем тогда text:find если можно через text:match искать,или я что то не понимаю?
@Adrian G.
А ещё можно так делать?
Код:
name, surname = text:match = ("Привет (.+)_(.+)")
 
Последнее редактирование:

Fott

Простреленный
3,468
2,392
А зачем тогда text:find если можно через text:match искать,или я что то не понимаю?
@Adrian G.
А ещё можно так делать?
Код:
name, surname = text:match = ("Привет (.+)_(.+)")
Финд просто ищет. Матч присваивает переменной значение
 

Adrian G.

Известный
Проверенный
519
459
А зачем тогда text:find если можно через text:match искать,или я что то не понимаю?
@Adrian G.
А ещё можно так делать?
Код:
name, surname = text:match = ("Привет (.+)_(.+)")
Можно, только без знака равно после text:match