Вопрос по перехвату сообщений

hvntr

Участник
Автор темы
61
15
Версия MoonLoader
Другое
Написал функцию:
чат:
function SE.onServerMessage(color, text)
    if text == " Доступно администрации / VIP 2 уровня / саппортам" then
        print('Доступно только с VIP.')
    end
end

После этого сообщение сообщения выводятся в консоль сампфункс, а мне нужно чтобы был перехват сообщения и его замена в самом чате САМПа, т.е чтобы оригинального сообщения не было, а вместо него было моё заменённое сообщение. Как это сделать по коду?
 
Решение
есть такая функция:
Lua:
    if text:find("Объявление отредактировано и сохранено") then
        return {color, '{01D901}Ты отредактировал объявление.'}
    end
end

нужно чтобы в этой функции была система подсчёта, т.е:

Код:
    if text:find("Объявление отредактировано и сохранено") then
        return {color, '{01D901}Ты отредактировал %d объявлений.'}
    end
end
как это можно реализовать? есть ссылки на доку или примеры юзания?

@#Kai-, @FooOoott
Lua:
local test = 1
function SE.onServerMessage(color, text)
    if text:find("a") then
        test = test + 1
        return {color, string.format("Пошёл нахуй, тебе нельзя %d", test)}
    end
end

hvntr

Участник
Автор темы
61
15
Lua:
function SE.onServerMessage(color, text)
    if text == " Доступно администрации / VIP 2 уровня / саппортам" then
        return {color, 'Пошёл нахуй, тебе нельзя'}
    end
end
чёто тут по пизде всё пошло, скрипт умер нахуй как увидел сообщение это
Код:
[ML] (error) News Tools: E:\Saint Louis\moonloader\lib\samp\events\bitstream_io.lua:66: attempt to get length of local 'value' (a number value)
stack traceback:
	E:\Saint Louis\moonloader\lib\samp\events\bitstream_io.lua:66: in function 'write'
	E:\Saint Louis\moonloader\lib\samp\events\core.lua:45: in function 'write_data'
	E:\Saint Louis\moonloader\lib\samp\events\core.lua:92: in function <E:\Saint Louis\moonloader\lib\samp\events\core.lua:54>
[ML] (error) News Tools: Script died due to an error. (11152FE4)
[ML] (error) imgui_notf.lua: cannot resume non-suspended coroutine
stack traceback:
	[C]: in function 'SetMouseCursor'
	E:\Saint Louis\moonloader\imgui_notf.lua:103: in function <E:\Saint Louis\moonloader\imgui_notf.lua:99>
[ML] (error) imgui_notf.lua: Script died due to an error. (1115347C)
 

Fott

Простреленный
3,435
2,279
чёто тут по пизде всё пошло, скрипт умер нахуй как увидел сообщение это
Код:
[ML] (error) News Tools: E:\Saint Louis\moonloader\lib\samp\events\bitstream_io.lua:66: attempt to get length of local 'value' (a number value)
stack traceback:
    E:\Saint Louis\moonloader\lib\samp\events\bitstream_io.lua:66: in function 'write'
    E:\Saint Louis\moonloader\lib\samp\events\core.lua:45: in function 'write_data'
    E:\Saint Louis\moonloader\lib\samp\events\core.lua:92: in function <E:\Saint Louis\moonloader\lib\samp\events\core.lua:54>
[ML] (error) News Tools: Script died due to an error. (11152FE4)
[ML] (error) imgui_notf.lua: cannot resume non-suspended coroutine
stack traceback:
    [C]: in function 'SetMouseCursor'
    E:\Saint Louis\moonloader\imgui_notf.lua:103: in function <E:\Saint Louis\moonloader\imgui_notf.lua:99>
[ML] (error) imgui_notf.lua: Script died due to an error. (1115347C)
код покажи
 

hvntr

Участник
Автор темы
61
15
Код функции:
function SE.onServerMessage(color, text)
    if text == " Доступно администрации / VIP 2 уровня / саппортам" then
        return {'Для использования этой команды ты должен быть VIP-игроком.', color}
    end
end
 

Fott

Простреленный
3,435
2,279
Код функции:
function SE.onServerMessage(color, text)
    if text == " Доступно администрации / VIP 2 уровня / саппортам" then
        return {'Для использования этой команды ты должен быть VIP-игроком.', color}
    end
end
местами в ретурне поменяй епт
 

#Kai-

Известный
705
292
Lua:
function SE.onServerMessage(color, text)
    if text:find("Доступно администрации / VIP 2 уровня / саппортам") then
        return {color, 'Пошёл нахуй, тебе нельзя'}
    end
end
местами в ретурне поменяй епт
Не, это хуйня
 
  • Нравится
Реакции: hvntr

hvntr

Участник
Автор темы
61
15
есть такая функция:
Lua:
    if text:find("Объявление отредактировано и сохранено") then
        return {color, '{01D901}Ты отредактировал объявление.'}
    end
end

нужно чтобы в этой функции была система подсчёта, т.е:

Код:
    if text:find("Объявление отредактировано и сохранено") then
        return {color, '{01D901}Ты отредактировал %d объявлений.'}
    end
end
как это можно реализовать? есть ссылки на доку или примеры юзания?

@#Kai-, @FooOoott
 

yung milonov

Известный
976
477
есть такая функция:
Lua:
    if text:find("Объявление отредактировано и сохранено") then
        return {color, '{01D901}Ты отредактировал объявление.'}
    end
end

нужно чтобы в этой функции была система подсчёта, т.е:

Код:
    if text:find("Объявление отредактировано и сохранено") then
        return {color, '{01D901}Ты отредактировал %d объявлений.'}
    end
end
как это можно реализовать? есть ссылки на доку или примеры юзания?

@#Kai-, @FooOoott
если тебе надо считать, сколько ты отредактировал, то создай переменную и в нее прибавляй при нахождении этого текста
 

#Kai-

Известный
705
292
есть такая функция:
Lua:
    if text:find("Объявление отредактировано и сохранено") then
        return {color, '{01D901}Ты отредактировал объявление.'}
    end
end

нужно чтобы в этой функции была система подсчёта, т.е:

Код:
    if text:find("Объявление отредактировано и сохранено") then
        return {color, '{01D901}Ты отредактировал %d объявлений.'}
    end
end
как это можно реализовать? есть ссылки на доку или примеры юзания?

@#Kai-, @FooOoott
Lua:
local test = 1
function SE.onServerMessage(color, text)
    if text:find("a") then
        test = test + 1
        return {color, string.format("Пошёл нахуй, тебе нельзя %d", test)}
    end
end
 
  • Нравится
Реакции: hvntr