Не работает скрипт

Nightcoffee Prod.

Участник
Автор темы
50
12
Версия MoonLoader
.025-beta
Всем привет, я только начинаю делать луа скрипты. У меня возникла проблема, мой скрипт не работает, кто поможет мне пожалуйста. В скрипте я просто хотел сделать бинд команды на букву L.
 

Вложения

  • SimpleLock.lua
    431 байт · Просмотры: 8

woodware

Потрачен
Проверенный
4,596
1,275
Всем привет, я только начинаю делать луа скрипты. У меня возникла проблема, мой скрипт не работает, кто поможет мне пожалуйста. В скрипте я просто хотел сделать бинд команды на букву L.
скачай готовый скрипт
 

A S K I T

Активный
201
69
1634671788713.png


1)
Кто тебя так скрипты писать учил, как читать этот код? Всегда используй табуляцию, на клавишу "TAB".

2) Скачай нормальный редактор кода, который будет подсвечивать ошибки. Советую Sublime Text 4.
В твоём коде, подсвечена строка 15, конкретно слово "do", значит, ты не закрыл цикл.
Ещё, в sampSendChat() ты написал значение без кавычек, будто это переменная.
И, вместо isSampFuncsLoaded() нужно использовать isSampfuncsLoaded(). Чувствительность к регистру.
Вот читабельный код, с исправлением ошибок:
script_name("SimpleLock")
script_author("Kapi")
script_description("This is SimpleLock")

require "lib.moonloader"
local keys = require "vkeys"

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

    sampAddChatMassage("SimpleLock Активирован", 0x00FA9A)

    while true do wait(0)
        if isKeyJustPressed(VK_L) then sampSendChat('/lock') end
    end
end

3) Зачем ради такого маленького скрипта подключать библиотеку "vkeys"? Она абсолютно не нужна в этом скрипте.
Нужно использовать номер клавиши:
if isKeyJustPressed(76) then sampSendChat('/lock') end
Номера клавиш: https://www.blast.hk/threads/8760/

4) Если в твоём коде есть мелкие проверки и так далее, старайся их сокращать в одну строку:
Неправильно:
if test then
    sampSendChat('Привет')
end
Правильно:
if test then sampSendChat('Привет') end

5) Старайся не засорять чат игрока ненужными сообщениями.
Если каждый скрипт будет писать в чат что он активирован, представь какой флуд будет.
Все скрипты и так и так пишут что они запущены, в консоли SAMPFUNCS.

6) Учитывай все мелочи в своём коде.
В твоём скрипте, если у игрока открыт чат, и он будет писать сообщение содержащее букву "L" - выполнится команда из твоего скрипта, а это не хорошо.

Lua:
if isKeyJustPressed(76) and not sampIsCursorActive() then sampAddChatMessage('/lock') end
-- Проверка нажата ли клавиша, проверка отключен ли курсор.

7) Используй одинарные кавычки, типа: '_', это упростит твою жизнь.

1634673504051.png


Вот правильный скрипт, пользуйся, и учти все ошибки на которые я указал:
Lua:
script_name('SimpleLock')
script_author('Kapi')
script_description('This is SimpleLock')

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

    while true do wait(0)
        if isKeyJustPressed(76) and not sampIsCursorActive() then sampAddChatMessage('/lock') end
    end
end
 
Последнее редактирование:
  • Нравится
Реакции: TrixTM, TimeLordRu и ARMOR