Как при вводе команды скрипта, писало сообщение о начале работы скрипта, и так-же при отключении скрипта?

Black_Kelon

Новичок
Автор темы
2
0
Я только недавно начал лазить в теме lua скриптов, и мало чего понимаю, так вот, у меня есть скрипт который я активирую командой /stopchat и он активирует его бек каких-либо сообщений, то-есть я хочу сделать так что при вводе /stopchat выводилось например "StopChat by Black_Kelon was activated".
А при отключении что-то вроде "StopChat by Black_Kelon was disactivated"
Подскажите пожалуйста как это сделать?

(и да, доп. вопрос. как изменить цвет сообщения от скрипта?)


local q = require 'lib.samp.events'

function main()
repeat wait(0) until isSampAvailable()
sampRegisterChatCommand('stopChat',function()
stop = not stop
end)
end

function q.onServerMessage(color,text)
if stop then return false end
end
 
Последнее редактирование:
Решение
Lua:
local q = require 'samp.events'
local stop = false

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('stopChat', function()
        stop = not stop
        sampAddChatMessage('StopChat by Black_Kelon was '..(stop and 'activated' or 'deactivated'), stop and 0xFF00FF00 or 0xFFFF0000) -- or -1 it white color
    end)
    wait(-1)
end

function q.onServerMessage(color,text)
    if stop then
        return false
    end
end
впредь юзай вики, там большинство ответов на твои вопросы будут
UPD: Тут вообще можно обойтись main функцией и сделать так:
Lua:
local se = require 'samp.events'
local stop = false

function se.onSendCommand(cmd)
    if cmd == '/stopChat' then
        stop = not stop...

PanSeek

t.me/dailypanseek
Всефорумный модератор
908
1,775
Lua:
local q = require 'samp.events'
local stop = false

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('stopChat', function()
        stop = not stop
        sampAddChatMessage('StopChat by Black_Kelon was '..(stop and 'activated' or 'deactivated'), stop and 0xFF00FF00 or 0xFFFF0000) -- or -1 it white color
    end)
    wait(-1)
end

function q.onServerMessage(color,text)
    if stop then
        return false
    end
end
впредь юзай вики, там большинство ответов на твои вопросы будут
UPD: Тут вообще можно обойтись main функцией и сделать так:
Lua:
local se = require 'samp.events'
local stop = false

function se.onSendCommand(cmd)
    if cmd == '/stopChat' then
        stop = not stop
        sampAddChatMessage('StopChat by Black_Kelon was '..(stop and '{00FF00}activated' or '{FF0000}deactivated'), -1)
        return false
    end
end

function se.onServerMessage(color,text)
    if stop then
        return false
    end
end
P.S. Да и кто привычку дал называть samp.events - q? Тут вообще q нигде не присутствует - не бери пример с таких скриптов. sampev или se более чем подходит и более понятно к чему ты обращаешься.
 
Последнее редактирование:
  • Нравится
Реакции: Black_Kelon

RedHolms

Известный
Проверенный
619
366

Внутри сообщения можно менять цвет с помощь специальных тегов:
Lua:
sampAddChatMessage("Белый текст {FF0000}Красный текст {00FF00}Зелёный текст {0000FF}Синий текст", -1) -- -1 = Белый цвет
 
  • Нравится
Реакции: Black_Kelon

Black_Kelon

Новичок
Автор темы
2
0
Lua:
local q = require 'samp.events'
local stop = false

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('stopChat', function()
        stop = not stop
        sampAddChatMessage('StopChat by Black_Kelon was '..(stop and 'activated' or 'deactivated'), stop and 0xFF00FF00 or 0xFFFF0000) -- or -1 it white color
    end)
    wait(-1)
end

function q.onServerMessage(color,text)
    if stop then
        return false
    end
end
впредь юзай вики, там большинство ответов на твои вопросы будут
UPD: Тут вообще можно обойтись main функцией и сделать так:
Lua:
local se = require 'samp.events'
local stop = false

function se.onSendCommand(cmd)
    if cmd == 'stopChat' then
        stop = not stop
        sampAddChatMessage('StopChat by Black_Kelon was '..(stop and '{00FF00}activated' or '{FF0000}deactivated'), -1)
        return false
    end
end

function se.onServerMessage(color,text)
    if stop then
        return false
    end
end
P.S. Да и кто привычку дал называть samp.events - q? Тут вообще q нигде не присутствует - не бери пример с таких скриптов. sampev или se более чем подходит и более понятно к чему ты обращаешься.
только когда я ввожу /stopchat пишет неизвесная комманда, мб у меня с мунлоадером или сампфанксом траблы, ну да ладно, все равно огромное спасибо!

UPD решил проблему, теперь работает, надо было вот так написать


local q = require 'lib.samp.events'

function main()
repeat wait(0) until isSampAvailable()
sampRegisterChatCommand('stopChat',function()
stop = not stop
sampAddChatMessage('StopChat by Black_Kelon was '..(stop and 'activated' or 'deactivated'), stop and 0xFF00FF00 or 0xFFFF0000) -- or -1 it white color
end)
end

function q.onServerMessage(color,text)
if stop then return false end
end
 

Z3roKwq

Известный
291
154
Ну можно сделать и без подключение sampevents, кнч по говнокодерски но всё же как вариант

*исправил говнокод*

говнокодик:
function main()
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand('stopChat', activation)
----------------------------------------------------------------
--например функцию можно вставит в main, можно впрнц и в любой другой функции
if твоя функция then

else

end
-------------------------------------------------------------
    wait(-1)
end

function activation()
    stop = not stop
    if stop then
         sampAddChatMessage('StopChat by Black_Kelon was activated', -1)
         твоя функция = true
    else
         sampAddChatMessage('StopChat by Black_Kelon was disactivated', -1)
         твоя функция = false
    end
end
 
Последнее редактирование:
  • Bug
  • Нравится
Реакции: Black_Kelon и PanSeek