Как ввести сообщение в чат с помощью LUA?

Виктор (Gonzalez)

Новичок
Автор темы
12
1
Нужна помощь, я не понимаю как написать скрипт, что бы при нажатии кнопки M выводилось в чат сообщение допустим.
Я нажимаю на M и у меня в чате появляется надпись "/n test"
помогите пожалуйста
 
  • Нравится
Реакции: posokhov

65raz

Новичок
10
2
Функция отправки сообщения в чат принимает только один аргумент на вход, а не 2. Ты явно перепутал с функцией добавления сообщения. В функции main лучше использовать wait(-1), чем бесконечный цикл while true do в таком случае.
А какая функция отвечает за несколько входов отправлений в чат?
 

65raz

Новичок
10
2
Отправлять несколько sampSendChat(), ещё можешь попробовать использовать эту функцию.
в этой функции которую ты мне отправил, там 1 задержка, мне нужно разные задержки установить.
А как несколько sampSendChat() отправлять? Я вроде же уже делал так, но не работает
!:
 function bin1()
    sampSendChat(cyr("/live"), -1)
        wait(1146)
    sampSendChat(cyr("Здесь могла быть Ваша реклама. Телефон: 64-75-04."), -1)
end
 

DolgorukovGTA

Известный
Проверенный
652
345
в этой функции которую ты мне отправил, там 1 задержка, мне нужно разные задержки установить.
А как несколько sampSendChat() отправлять? Я вроде же уже делал так, но не работает
!:
 function bin1()
    sampSendChat(cyr("/live"), -1)
        wait(1146)
    sampSendChat(cyr("Здесь могла быть Ваша реклама. Телефон: 64-75-04."), -1)
end
Убери второй параметр, отправлять несколько для удобства можно через цикл. В callback-функциях нельзя использовать wait(), его можно использовать только в main'e; поэтому используй потоки.
 
Последнее редактирование:

DolgorukovGTA

Известный
Проверенный
652
345
Короче, можете сделать мне биндер на команду ;), пишешь /reklama и там с определённым кд будет отправляться текст, например "Текст1", кд 1 сек, "Текст2", кд 2сек и тд. Ибо я так нифига не понимаю
Если хочешь сделать отправку бо́льшего количества сообщений, то рекомендую использовать циклы. Решение с комментариями для твоей задачи:
Lua:
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end -- проверяем, загружен ли SAMP и SAMPFUNCS
    while not isSampAvailable() do wait(100) end -- проверяем инициализацию структур SAMP
    sampRegisterChatCommand("reklama", example) -- регистрируем команду с функцией example ("пример")
    wait(-1) -- ставим основную функцию main в режим ожидания; это делается для того, чтобы она не завершала свою работу
end

function example() -- объявляем функцию example, которая "прикреплена" к команде
    sampSendChat("Текст1") -- отправляем сообщение "Текст1" в чат SAMP
    lua_thread.create(function() -- создаем поток с функцией
        wait(1000) -- ждем 1000 мс (1 сек)
    end) -- завершаем поток
    sampSendChat("Текст 2") -- аналогично
    lua_thread.create(function()
        wait(2000) -- ждем 2000 мс (2 сек)
    end)
    sampSendChat("Текст 3")
end
 
  • Влюблен
Реакции: 65raz

Dmitriy Makarov

25.05.2021
Проверенный
2,478
1,113
function example() -- объявляем функцию example, которая "прикреплена" к команде sampSendChat("Текст1") -- отправляем сообщение "Текст1" в чат SAMP lua_thread.create(function() -- создаем поток с функцией wait(1000) -- ждем 1000 мс (1 сек) end) -- завершаем поток sampSendChat("Текст 2") -- аналогично lua_thread.create(function() wait(2000) -- ждем 2000 мс (2 сек) end) sampSendChat("Текст 3") end
чем отличается твоя функция от этой
Lua:
function example()
  lua_thread.create(function()
  sampSendChat("Text 1")
  wait(1000)
  sampSendChat("Text 2")
  wait(2000)
  sampSendChat("Text 3")
  end)
end
я конечно не спец но столько потоков не видел пока что.. у меня с одним все нормально, просто интересно чем отличаются наши функции друг от друга
 
  • Нравится
Реакции: 65raz
463
825
чем отличается твоя функция от этой
Lua:
function example()
  lua_thread.create(function()
  sampSendChat("Text 1")
  wait(1000)
  sampSendChat("Text 2")
  wait(2000)
  sampSendChat("Text 3")
  end)
end
я конечно не спец но столько потоков не видел пока что.. у меня с одним все нормально, просто интересно чем отличаются наши функции друг от друга
тем что твоя будет работать а его нет
 
  • Ха-ха
  • Нравится
Реакции: 65raz и FBenz

DolgorukovGTA

Известный
Проверенный
652
345
чем отличается твоя функция от этой
Lua:
function example()
  lua_thread.create(function()
  sampSendChat("Text 1")
  wait(1000)
  sampSendChat("Text 2")
  wait(2000)
  sampSendChat("Text 3")
  end)
end
я конечно не спец но столько потоков не видел пока что.. у меня с одним все нормально, просто интересно чем отличаются наши функции друг от друга
Ничем, случайно лишний раз прописал строчки :-(
 
  • Нравится
Реакции: 65raz

Dmitriy Makarov

25.05.2021
Проверенный
2,478
1,113
Парни, хелп
Как сделать в своем lua скрипте чтоб при заходе на сервер писалось в чат что *Скрипт активирован* *Автор .....*
Так?
Lua:
function main()
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage("Скрипт активирован", -1)
    wait(-1)
end
 
  • Нравится
Реакции: Morty Crasher

Morty Crasher

Участник
35
3
Так?
Lua:
function main()
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage("Скрипт активирован", -1)
    wait(-1)
end
+

Так?
Lua:
function main()
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage("Скрипт активирован", -1)
    wait(-1)
end
Помоги настроить цвета и почему-то когда просто добавляю эти строчки, то скрипт перестает работать