Помощь с скриптом

rvengnrg

Активный
Автор темы
287
46
Учусь писать скрипты на луа, и решил для начала написать типа биндер но он не работает, хочу узнать почему



Lua:
require "lib.moonloader"
local keys = require "vkeys"
function main()
if not isSampLoaded () or not isSampfuncsLoaded ()
then return
end
    SampAddChatMessage ('Cкрипт загружен'), 0x#9370DB
    while true do
    wait(0)
end
    if isKeyDown (VK_1)
    and isKeyJustPressed (VK_81)
    then
        SampSendChat ("/rec")
end
 
  • Bug
Реакции: влад динозавр
Решение
Lua:
require 'lib.moonloader'

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end

    while true do
         wait(0)
         if isKeyDown(VK_MENU) and wasKeyPressed(VK_1) then -- VK_MENU это Альт, а VK_1 это 1
             sampProcessChatInput("/rec") -- Если ты хочешь отправить сообщение в чат сервера - отправляй через sampSendChat. Но, sampSendChat не поддерживает отправку команд скриптов, по типу /rec, /helper и т.д. Чтобы отправить команду скриптовую нужно использовать функцию sampProcessChatInput("Сообщение")
         end
    end
end
Кстати у тебя были ошибки в том что ты закрыл бесконечный цикл и только потом сделал проверку на зажатую клавишу, что не правильно, ибо скрипт повторялся только в...

ARMOR

011110000111100101101001
Модератор
4,937
6,738
Lua:
require 'lib.moonloader'

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end

    while true do
         wait(0)
         if isKeyDown(VK_MENU) and wasKeyPressed(VK_1) then -- VK_MENU это Альт, а VK_1 это 1
             sampProcessChatInput("/rec") -- Если ты хочешь отправить сообщение в чат сервера - отправляй через sampSendChat. Но, sampSendChat не поддерживает отправку команд скриптов, по типу /rec, /helper и т.д. Чтобы отправить команду скриптовую нужно использовать функцию sampProcessChatInput("Сообщение")
         end
    end
end
Кстати у тебя были ошибки в том что ты закрыл бесконечный цикл и только потом сделал проверку на зажатую клавишу, что не правильно, ибо скрипт повторялся только в бесконечном цикле, а к твоей проверке не доходил просто. Ещё у тебя была ошибка в том что у тебя скобки шли после функции, вот так: sampAddChatMessage (), А должно быть так: sampAddChatMessage()
Ещё ты должен понимать что если функция называется sampAddChatMessage() то ты не можешь написать её sampaddchatmessage, нужно с точностью указывать большие и маленькие буквы.
 
  • Нравится
Реакции: rvengnrg

rvengnrg

Активный
Автор темы
287
46
Lua:
require 'lib.moonloader'

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end

    while true do
         wait(0)
         if isKeyDown(VK_MENU) and wasKeyPressed(VK_1) then -- VK_MENU это Альт, а VK_1 это 1
             sampProcessChatInput("/rec") -- Если ты хочешь отправить сообщение в чат сервера - отправляй через sampSendChat. Но, sampSendChat не поддерживает отправку команд скриптов, по типу /rec, /helper и т.д. Чтобы отправить команду скриптовую нужно использовать функцию sampProcessChatInput("Сообщение")
         end
    end
end
Кстати у тебя были ошибки в том что ты закрыл бесконечный цикл и только потом сделал проверку на зажатую клавишу, что не правильно, ибо скрипт повторялся только в бесконечном цикле, а к твоей проверке не доходил просто. Ещё у тебя была ошибка в том что у тебя скобки шли после функции, вот так: sampAddChatMessage (), А должно быть так: sampAddChatMessage()
Ещё ты должен понимать что если функция называется sampAddChatMessage() то ты не можешь написать её sampaddchatmessage, нужно с точностью указывать большие и маленькие буквы.
Господи спасибо большое, можешь ещё накидать нормальных гайдов по луа? Буду благодарен
 
  • Bug
Реакции: влад динозавр

ARMOR

011110000111100101101001
Модератор
4,937
6,738
Господи спасибо большое, можешь ещё накидать нормальных гайдов по луа? Буду благодарен
Посмотри эти гайды, потом просто тренируйся в написании, и изучай что-то новое, к примеру в исходниках других скриптов.
 
  • Влюблен
Реакции: rvengnrg

rvengnrg

Активный
Автор темы
287
46
Lua:
require 'lib.moonloader'

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end

    while true do
         wait(0)
         if isKeyDown(VK_MENU) and wasKeyPressed(VK_1) then -- VK_MENU это Альт, а VK_1 это 1
             sampProcessChatInput("/rec") -- Если ты хочешь отправить сообщение в чат сервера - отправляй через sampSendChat. Но, sampSendChat не поддерживает отправку команд скриптов, по типу /rec, /helper и т.д. Чтобы отправить команду скриптовую нужно использовать функцию sampProcessChatInput("Сообщение")
         end
    end
end
Кстати у тебя были ошибки в том что ты закрыл бесконечный цикл и только потом сделал проверку на зажатую клавишу, что не правильно, ибо скрипт повторялся только в бесконечном цикле, а к твоей проверке не доходил просто. Ещё у тебя была ошибка в том что у тебя скобки шли после функции, вот так: sampAddChatMessage (), А должно быть так: sampAddChatMessage()
Ещё ты должен понимать что если функция называется sampAddChatMessage() то ты не можешь написать её sampaddchatmessage, нужно с точностью указывать большие и маленькие буквы.
Не очень понимаю как добавить ещё пару таких биндов когда пробую скрипт не работает, помоги пожалуйста если можешь
 

ARMOR

011110000111100101101001
Модератор
4,937
6,738
Не очень понимаю как добавить ещё пару таких биндов когда пробую скрипт не работает, помоги пожалуйста если можешь
Lua:
require 'lib.moonloader'

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end

    while true do -- Начало беск. цикла
        wait(0) -- Задержка, она нужна чтобы игра попросту не зависла
        if isKeyDown(VK_MENU) and wasKeyPressed(VK_1) then -- isKeyDown() это функция которая проверяет не ЗАЖАТА ли клавиша, а wasKeyPressed() это функция которая проверяет не была ли НАЖАТА клавиша, можно даже сказать "Отпущена"
            sampAddChatMessage("Это действие произошло когда ты зажал Альт и нажал 1", -1)
        elseif isKeyDown(VK_MENU) and wasKeyPressed(VK_2) then
            sampAddChatMessage("Это действие произошло когда ты зажал Альт и нажал 2", -1)
        end -- Конец проверки на нажатые/зажатые клавиши
    end -- Конец беск. цикла
end
 
  • Нравится
Реакции: rvengnrg

rvengnrg

Активный
Автор темы
287
46
Lua:
require 'lib.moonloader'

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end

    while true do -- Начало беск. цикла
        wait(0) -- Задержка, она нужна чтобы игра попросту не зависла
        if isKeyDown(VK_MENU) and wasKeyPressed(VK_1) then -- isKeyDown() это функция которая проверяет не ЗАЖАТА ли клавиша, а wasKeyPressed() это функция которая проверяет не была ли НАЖАТА клавиша, можно даже сказать "Отпущена"
            sampAddChatMessage("Это действие произошло когда ты зажал Альт и нажал 1", -1)
        elseif isKeyDown(VK_MENU) and wasKeyPressed(VK_2) then
            sampAddChatMessage("Это действие произошло когда ты зажал Альт и нажал 2", -1)
        end -- Конец проверки на нажатые/зажатые клавиши
    end -- Конец беск. цикла
end
а есть ли какой-то гайд на диалоги? Просто я смотерл так и не очень понял, мне нужно чтобы когда я вводил команду например /help показывалось окно просто с командами которые я напишу туда