не робит код ((СНОВА))

dimasik228133

Новичок
Автор темы
24
1
Форматирование кода
Версия MoonLoader
.027.0-preview
Lua:
script_name('Test')
script_author('katf1l')

require "lib.moonloader"

local label = 0
local main_color = 0x5A90CE
local main_color_text = "{5A90CE}"
local white_color = "{FFFFFF}"

function main()
    while not isSampLoaded() and not isSampfuncsLoaded() do
        wait(0)
    end
    sampRegisterChatCommand("lol", cmd_lol)
    sampRegisterChatCommand("opt", cmd_opt)
    sampRegisterChatCommand("cool", cmd_cool)
    while true do
        wait(0)
    end
end

function cmd_lol(arg)
    sampAddChatMessage("Красава /lol", main_color)
    
end

function cmd_opt(arg)
    if #arg == 0 then
    sampAddChatMessage("Привет, вы ввели команду, но не ввели аргумент", main_color)
    else
    sampAddChatMessage("Привет, вы ввели команду и аргумент: {FFFFFF}" .. arg, main_color)
    end
end

function cmd_cool (arg)
        var1, var2 = string.match(ard, "(.+) (.+)"
        if var1 == nil or var1 == "" then
        sampAddChatMessage("Неплохо, уже 2 арг, но не ввели", main_color)
        else
            sampAddChatMessage("Круто, вы ввели команду и ввели 2 аргумента. 1ый:".. , white_color .. var1 .. ", " .. main_color_text .. "2ой " .. white_color .. var2, main_color)
        end
end

Помогите! снова не работает код
 

Вложения

  • moonloader.log
    88.6 KB · Просмотры: 4

kizn

q(≧▽≦q)
Всефорумный модератор
2,409
2,108
отрицательная задержка в moonloader запрещает функции завершить свое выполнение, а в луа после выполнении функции мейн скрипт сам завершается
wait(-1) препятствует этому
end)
wait(-1) -- а зачем это и для чего служит?
end
 

dimasik228133

Новичок
Автор темы
24
1
отрицательная задержка в moonloader запрещает функции завершить свое выполнение, а в луа после выполнении функции мейн скрипт сам завершается
wait(-1) препятствует этому
тоесть это надо всегда писать?
 

kizn

q(≧▽≦q)
Всефорумный модератор
2,409
2,108

hellobudyy

Участник
148
24
разбор:
script_name('Test') -- название скрипта
script_author('katf1l') -- автор скрипта

require "lib.moonloader" -- подключаем библиотеку

local label = 0
local main_color = 0x5A90CE
local main_color_text = "{5A90CE}"
local white_color = "{FFFFFF}"

function main()
    while not isSampLoaded() and not isSampfuncsLoaded() do -- пока самп не активен и не активен сампфункс, делать -
        wait(0) -- ждать 0 милисекунд
    end
    sampRegisterChatCommand("lol", cmd_lol)
    sampRegisterChatCommand("opt", cmd_opt)
    sampRegisterChatCommand("cool", cmd_cool)
    while true do -- делать пока не станет правдой, это бесконечный цикл если сюда занести sampAddChatMessage то он будет это делать всегда
        wait(0) -- ждать 0 милисекунд
    end
end

function cmd_lol(arg)
    sampAddChatMessage("Красава /lol", main_color)
  
end

function cmd_opt(arg)
    if #arg == 0 then -- если аргумент равен 0 (типо если аргумента нет) тогда
    sampAddChatMessage("Привет, вы ввели команду, но не ввели аргумент", main_color)
    else -- иначе
    sampAddChatMessage("Привет, вы ввели команду и аргумент: {FFFFFF}" .. arg, main_color) -- ".. arg" означает что после сообщения к нему будет прибавляться аргумент, который ты ввел после команды /opt
    end
end

function cmd_cool (arg)
        var1, var2 = string.match(arg, "(.+) (.+)" var1 это как строчка, var2 тоже, стринг матч это читание аргумента, а (.+) и (.+) это любые символы
        if var1 == nil or var1 == "" then -- если строчка 1 равна пустоте или равна пустоте тогда
        sampAddChatMessage("Неплохо, уже 2 арг, но не ввели", main_color)
        else
            sampAddChatMessage("Круто, вы ввели команду и ввели 2 аргумента. 1ый:".. , white_color .. var1 .. ", " .. main_color_text .. "2ой " .. white_color .. var2, main_color) -- .. соединяет строки или типо того
        end
end

разжевал почти все, и если что ошибку поправил, ну по крайней мере у меня все работает

строки вывода сообщения в чат
нахyй ты этому говну его учишь? ты понимаешь что он только 2 урок луа проходит
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
разбор:
script_name('Test') -- название скрипта
script_author('katf1l') -- автор скрипта

require "lib.moonloader" -- подключаем библиотеку

local label = 0
local main_color = 0x5A90CE
local main_color_text = "{5A90CE}"
local white_color = "{FFFFFF}"

function main()
    while not isSampLoaded() and not isSampfuncsLoaded() do -- пока самп не активен и не активен сампфункс, делать -
        wait(0) -- ждать 0 милисекунд
    end
    sampRegisterChatCommand("lol", cmd_lol)
    sampRegisterChatCommand("opt", cmd_opt)
    sampRegisterChatCommand("cool", cmd_cool)
    while true do -- делать пока не станет правдой, это бесконечный цикл если сюда занести sampAddChatMessage то он будет это делать всегда
        wait(0) -- ждать 0 милисекунд
    end
end

function cmd_lol(arg)
    sampAddChatMessage("Красава /lol", main_color)
 
end

function cmd_opt(arg)
    if #arg == 0 then -- если аргумент равен 0 (типо если аргумента нет) тогда
    sampAddChatMessage("Привет, вы ввели команду, но не ввели аргумент", main_color)
    else -- иначе
    sampAddChatMessage("Привет, вы ввели команду и аргумент: {FFFFFF}" .. arg, main_color) -- ".. arg" означает что после сообщения к нему будет прибавляться аргумент, который ты ввел после команды /opt
    end
end

function cmd_cool (arg)
        var1, var2 = string.match(arg, "(.+) (.+)" var1 это как строчка, var2 тоже, стринг матч это читание аргумента, а (.+) и (.+) это любые символы
        if var1 == nil or var1 == "" then -- если строчка 1 равна пустоте или равна пустоте тогда
        sampAddChatMessage("Неплохо, уже 2 арг, но не ввели", main_color)
        else
            sampAddChatMessage("Круто, вы ввели команду и ввели 2 аргумента. 1ый:".. , white_color .. var1 .. ", " .. main_color_text .. "2ой " .. white_color .. var2, main_color) -- .. соединяет строки или типо того
        end
end

разжевал почти все, и если что ошибку поправил, ну по крайней мере у меня все работает


нахyй ты этому говну его учишь? ты понимаешь что он только 2 урок луа проходит
а чему учу то?
 

hellobudyy

Участник
148
24
мой код тоже рабочий, я исправил имеющийся и не добавлял отсебятины, мб он изучает как делать функции и тд.

сбрасывается потому что ты не умеешь копировать/изменять, ты зачем-то изменил логику функции Посмотреть вложение 158701
Как решить это, поменять строки местами, либо скопировать код из моего сообщения выше
На картинке в 3 строке ошибка, arg:math, правильно arg:match
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
На картинке в 3 строке ошибка, arg:math, правильно arg:match
додик это пояснение к коду, arg:math это он сам написал так
всё ровно код сбрасывается при /cool


Lua:
script_name('Test')
script_author('katf1l')

require "lib.moonloader"

local label = 0
local main_color = 0x5A90CE
local main_color_text = "{5A90CE}"
local white_color = "{FFFFFF}"

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("lol", cmd_lol)
    sampRegisterChatCommand("opt", cmd_opt)
    sampRegisterChatCommand("cool", cmd_cool)
    while true do
        wait(0)
    end
end

function cmd_lol(arg)
    sampAddChatMessage("Красава /lol", main_color)
end

function cmd_opt(arg)
    if #arg == 0 then
        sampAddChatMessage("Привет, вы ввели команду, но не ввели аргумент", main_color)
    else
        sampAddChatMessage("Привет, вы ввели команду и аргумент: {FFFFFF}" .. arg, main_color)
    end
end


function cmd_cool (arg)
    if arg:find("(.+) (.+)") then
    var1, var2 = arg:math("(.+) (.+)")
        sampAddChatMessage("Неплохо, уже 2 арг, но не ввели", main_color)
    else
        sampAddChatMessage("Круто, вы ввели команду и ввели 2 аргумента. 1ый:".. ", ".. white_color .. var1 .. ", " .. main_color_text .. "2ой " .. white_color .. var2, main_color)
    end
end
я просто скопировал и добавил подписи, не заметил что он пропустил одну букву здесь, ничему я его не учил, работоспобоный код в этом сообщении https://www.blast.hk/threads/141758/post-1093687
 

dimasik228133

Новичок
Автор темы
24
1
без всего лишнего и "говнокода""говнокода":
local mc = 0x5A90CE

function main()
    sampRegisterChatCommand("lol", function()
        sampAddChatMessage("Красава /lol", mc)
    end)
    sampRegisterChatCommand("opt", function(arg)
        if #arg == 0 then
            sampAddChatMessage("Привет, вы ввели команду, но не ввели аргумент", mc)
        else
            sampAddChatMessage("Привет, вы ввели команду и аргумент: {FFFFFF}" .. arg, mc)
        end
    end)
    sampRegisterChatCommand("cool", function(argg)
        local var1, var2 = string.match(argg, "(.+) (.+)")
        if var1 == nil or var1 == "" then
            sampAddChatMessage("Неплохо, уже 2 арг, но не ввели", mc)
        else
            sampAddChatMessage("Круто, вы ввели команду и ввели 2 аргумента. 1-ый:{FFFFFF} "..var1 ..", {5A90CE}2-ой {FFFFFF} "..var2, mc)
        end
    end)
    wait(-1)
end
а зачем ты тут 2 g написал? sampRegisterChatCommand("cool", function(argg) <-- тут
 

kyrtion

Известный
978
355
а зачем ты тут 2 g написал? sampRegisterChatCommand("cool", function(argg) <-- тут
не важно какой указывать argg или result, либо this, без разницы. однако, когда вводишь это команду, то внутри команды функция выполняется локально
 

dimasik228133

Новичок
Автор темы
24
1
без всего лишнего и "говнокода""говнокода":
local mc = 0x5A90CE

function main()
    sampRegisterChatCommand("lol", function()
        sampAddChatMessage("Красава /lol", mc)
    end)
    sampRegisterChatCommand("opt", function(arg)
        if #arg == 0 then
            sampAddChatMessage("Привет, вы ввели команду, но не ввели аргумент", mc)
        else
            sampAddChatMessage("Привет, вы ввели команду и аргумент: {FFFFFF}" .. arg, mc)
        end
    end)
    sampRegisterChatCommand("cool", function(argg)
        local var1, var2 = string.match(argg, "(.+) (.+)")
        if var1 == nil or var1 == "" then
            sampAddChatMessage("Неплохо, уже 2 арг, но не ввели", mc)
        else
            sampAddChatMessage("Круто, вы ввели команду и ввели 2 аргумента. 1-ый:{FFFFFF} "..var1 ..", {5A90CE}2-ой {FFFFFF} "..var2, mc)
        end
    end)
    wait(-1)
end
А где ты тут библиотеки подключал?
 

dimasik228133

Новичок
Автор темы
24
1

Вложения

  • Bcar By Karf1l.lua
    13.8 KB · Просмотры: 3
  • moonloader.log
    103 KB · Просмотры: 5