После ввода команды ничего не происходит, а на второй ввод скрипт крашится

Cypher

Активный
Автор темы
222
55
Версия MoonLoader
.026-beta
Учусь по видео Зечампгуесс, делал вроде всё ок было
И на каком то моменте проблема которую описал в названии
1:
script_name(Rvanka) -- название скрипта
script_author(Cypher) -- автор скрипта
script_description(top) -- описание скрипта

require 'lib.moonloader' -- подключение библиотек

local keys = require "vkeys"

local tag = '[Rvan04ka]:Active' -- локальная переменная
local label = 1
local main_color = 0xF5A90CE
local main_color_text = '{F5A90C}'
local white_color = '{FFFFFF}'

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end --Если самп не загружен или если сампфункс не загружен то завершаем действие
    while not isSampAvailable() do wait (100) end
    -- Пока самп не активен ждем пока он запустится
    sampRegisterChatCommand('rvua', cmd_rvua)
    sampRegisterChatCommand('rvuao', cmd_rvuao)
    sampRegisterChatCommand('rvuaa', cmd_rvuaa)

    if label == 1 then
        sampAddChatMessage(tag .. ' text', 0xFFFFFF)
-- если условие равно 1 тогда
    else
        sampAddChatMessage(tag .. ' text', 0xFFFF00)
--а если условие не 1 то...
    end

    --sampAddChatMessage(tag .. ' text', 0xFFFFFF) -- ".." дает скомпоновать переменную с сообщением
    -- Блок мейн выполняется один раз после старта самп

while true do
    wait(0)
    if not sampIsChatInputActive() then
    if isKeyJustPressed(VK_F3) then --если клавиша нажата
        sampAddChatMessage("ты куда тыкаешь даун", main_color)
    end
end
end

function cmd_rvua(arg)
    sampAddChatMessage('Command Created! - {FFFFFF}/rvua', main_color)


end

function cmd_rvuao(arg)
    if #arg == 0 then -- если аргумент (айди) не вписан то..... (#arg это переменная)
        sampAddChatMessage('Ало {FF0000}долбоеб{FFFFFF} айди впиши',0xFFFFFF)
    else -- или же если аргумент (айди) вписан делаем...
        sampAddChatMessage('ok вижу аргумент', main_color)
    end
end

function cmd_rvuaa(arg)
    var1, var2 = string.match(arg, "(.+) (.+)") -- Эта хуйня разрешает нам сделать 2 аргумента для одной команды
    if var1 == nil or var1 == "" then -- если var1 не написана то...
sampAddChatMessage('Введи два аргумента {FF0000}сын проститутки', 0xFFFFFF)
    else
        sampAddChatMessage("{FFFFFF}так то лучше." .. main_color_text .. "1ый:" .. white_color .. var1 .. ", " .. main_color_text .. "2ой: " .. white_color    .. var2, white_color, 0xFFFFFF)
    end
end
end

Если что не обращайте внимание на оскорбления в сампсендчат это мои приколы в голове
 
  • Эм
Реакции: qdIbp

qdIbp

Автор темы
Проверенный
1,438
1,180
Lua:
script_name(Rvanka) -- название скрипта
script_author(Cypher) -- автор скрипта
script_description(top) -- описание скрипта

require 'lib.moonloader' -- подключение библиотек

local keys = require "vkeys"

local tag = '[Rvan04ka]:Active' -- локальная переменная
local label = 1
local main_color = 0xF5A90CE
local main_color_text = '{F5A90C}'
local white_color = '{FFFFFF}'

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end --Если самп не загружен или если сампфункс не загружен то завершаем действие
    while not isSampAvailable() do wait (100) end
    -- Пока самп не активен ждем пока он запустится
    sampRegisterChatCommand('rvua', cmd_rvua)
    sampRegisterChatCommand('rvuao', cmd_rvuao)
    sampRegisterChatCommand('rvuaa', cmd_rvuaa)

    if label == 1 then-- если условие равно 1 тогда
        sampAddChatMessage(tag .. ' text', 0xFFFFFF)
    else -- иначе
        sampAddChatMessage(tag .. ' text', 0xFFFF00)
    end

    --sampAddChatMessage(tag .. ' text', 0xFFFFFF) -- ".." дает скомпоновать переменную с сообщением
    -- Блок мейн выполняется один раз после старта самп

    while true do wait(0)
        if not sampIsChatInputActive() then
            if isKeyJustPressed(VK_F3) then --если клавиша нажата
                sampAddChatMessage("ты куда тыкаешь даун", main_color)
            end
        end
    
    end
end

function cmd_rvua(arg)
    sampAddChatMessage('Command Created! - {FFFFFF}/rvua', main_color)


end

function cmd_rvuao(arg)
    if #arg == 0 then -- если аргумент (айди) не вписан то..... (#arg это переменная)
        sampAddChatMessage('Ало {FF0000}долбоеб{FFFFFF} айди впиши',0xFFFFFF)
    else -- или же если аргумент (айди) вписан делаем...
        sampAddChatMessage('ok вижу аргумент', main_color)
    end
end

function cmd_rvuaa(arg)
    var1, var2 = string.match(arg, "(.+) (.+)") -- Эта хуйня разрешает нам сделать 2 аргумента для одной команды
    if var1 == nil or var2 == nil then -- если var1 не написана то...
        sampAddChatMessage('Введи два аргумента {FF0000}сын проститутки', 0xFFFFFF)
    else
        sampAddChatMessage("{FFFFFF}так то лучше." .. main_color_text .. "1ый:" .. white_color .. var1 .. ", " .. main_color_text .. "2ой: " .. white_color    .. var2, white_color, 0xFFFFFF)
    end
end
 

Cypher

Активный
Автор темы
222
55
Lua:
script_name(Rvanka) -- название скрипта
script_author(Cypher) -- автор скрипта
script_description(top) -- описание скрипта

require 'lib.moonloader' -- подключение библиотек

local keys = require "vkeys"

local tag = '[Rvan04ka]:Active' -- локальная переменная
local label = 1
local main_color = 0xF5A90CE
local main_color_text = '{F5A90C}'
local white_color = '{FFFFFF}'

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end --Если самп не загружен или если сампфункс не загружен то завершаем действие
    while not isSampAvailable() do wait (100) end
    -- Пока самп не активен ждем пока он запустится
    sampRegisterChatCommand('rvua', cmd_rvua)
    sampRegisterChatCommand('rvuao', cmd_rvuao)
    sampRegisterChatCommand('rvuaa', cmd_rvuaa)

    if label == 1 then-- если условие равно 1 тогда
        sampAddChatMessage(tag .. ' text', 0xFFFFFF)
    else -- иначе
        sampAddChatMessage(tag .. ' text', 0xFFFF00)
    end

    --sampAddChatMessage(tag .. ' text', 0xFFFFFF) -- ".." дает скомпоновать переменную с сообщением
    -- Блок мейн выполняется один раз после старта самп

    while true do wait(0)
        if not sampIsChatInputActive() then
            if isKeyJustPressed(VK_F3) then --если клавиша нажата
                sampAddChatMessage("ты куда тыкаешь даун", main_color)
            end
        end
   
    end
end

function cmd_rvua(arg)
    sampAddChatMessage('Command Created! - {FFFFFF}/rvua', main_color)


end

function cmd_rvuao(arg)
    if #arg == 0 then -- если аргумент (айди) не вписан то..... (#arg это переменная)
        sampAddChatMessage('Ало {FF0000}долбоеб{FFFFFF} айди впиши',0xFFFFFF)
    else -- или же если аргумент (айди) вписан делаем...
        sampAddChatMessage('ok вижу аргумент', main_color)
    end
end

function cmd_rvuaa(arg)
    var1, var2 = string.match(arg, "(.+) (.+)") -- Эта хуйня разрешает нам сделать 2 аргумента для одной команды
    if var1 == nil or var2 == nil then -- если var1 не написана то...
        sampAddChatMessage('Введи два аргумента {FF0000}сын проститутки', 0xFFFFFF)
    else
        sampAddChatMessage("{FFFFFF}так то лучше." .. main_color_text .. "1ый:" .. white_color .. var1 .. ", " .. main_color_text .. "2ой: " .. white_color    .. var2, white_color, 0xFFFFFF)
    end
end
А что именно изменилось? я же учусь, мне не нужен готовый код, мне нужно понять что сделать и шо изменить чтобы работало
 
  • Эм
Реакции: qdIbp

qdIbp

Автор темы
Проверенный
1,438
1,180
И тут я даже оптимизацией не занимался :\ поправил пару моментов

Скинь канал по которому учишься
Он единственный кто обучает lua samp
Кнш кроме криптона

1668593215200.png