Вызов функции

Seniosik

Участник
Автор темы
50
4
Версия MoonLoader
.027.0-preview
Всем привет. У меня есть вот такая функция. Если сделать function sampev.OnMessageServer(). То функция всегда будет парсить. А мне нужно что бы я эту функцию вызывал. Как это можно реализовать?
Lua:
function chat()
    lua_thread.create(function()
    local text, color = sampev.onServerMessage()   
    if text:match('живым') then
        wait(4000)
        nt()
    else
        print("что то пошло не так")
        wait(6000)
        nt()
    end
end)
end
 
Решение
так функция check все равно всегда будет чат проверять. А мне нужно что бы она вызывалась один раз. А так простаивала и не хукала чат.
и все
Lua:
local active = false

function sampev.onServerMessage(color,text)
     if active then
          if find:text('живым')then
               print('yes')
          end
     end
end

chromiusj

Стань той переменой, которую хочешь увидеть в мире
Модератор
5,734
4,040
зачем ты засунул хук в функцию?
Lua:
function check(arg,find)
    if arg:find(find) then
        sampAddChatMessage('да',-1)
    else
        sampAddChatMessage('нет',-1)
    end
end
require('lib.samp.events').onServerMessage = function (color, text)
    check(text,'живым')
end
 

Seniosik

Участник
Автор темы
50
4
зачем ты засунул хук в функцию?
Lua:
function check(arg,find)
    if arg:find(find) then
        sampAddChatMessage('да',-1)
    else
        sampAddChatMessage('нет',-1)
    end
end
require('lib.samp.events').onServerMessage = function (color, text)
    check(text,'живым')
end
так функция check все равно всегда будет чат проверять. А мне нужно что бы она вызывалась один раз. А так простаивала и не хукала чат.
 

Seniosik

Участник
Автор темы
50
4
А че изменится
ну например если ответ = нет, то будет функция тп. А из за того что всегда чекает чат. Он выводит нет. Поэтому просто будет по кд тпшить после того как он находит новый 3д текст
 

constersuonsis

Известный
206
126
так функция check все равно всегда будет чат проверять. А мне нужно что бы она вызывалась один раз. А так простаивала и не хукала чат.
и все
Lua:
local active = false

function sampev.onServerMessage(color,text)
     if active then
          if find:text('живым')then
               print('yes')
          end
     end
end
 
  • Нравится
Реакции: Seniosik

Seniosik

Участник
Автор темы
50
4
странно, но когда использую ваш метод. Просто ничего не выводит. Уже честно запутался в этом всем
Lua:
local active = false

function sampev.onServerMessage(color,text)
     if active then
          if find:text('живым')then
               print('yes')
          end
     end
end
 

plalkeo

Известный
825
327
странно, но когда использую ваш метод. Просто ничего не выводит. Уже честно запутался в этом всем
когда тебе необходимо словить нужное пишешь active = true
после нужных действий пишешь active = false
 
  • Нравится
Реакции: Seniosik