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

Seniosik

Участник
Автор темы
51
5
Версия 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

Seniosik

Участник
Автор темы
51
5
зачем ты засунул хук в функцию?
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

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

constersuonsis

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

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

Seniosik

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

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

plalkeo

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