Не получается добавить команду в скрипт

FeRiNe

Новичок
Автор темы
21
2
Добрый вечер друзья, я написал простенький скрипт-биндер, без команд,
Сейчас пробую туда закинуть команду.
До этого он работал, а при попытке добавить команду, неа
code:
script_name("Хелпер FeRiNe") -- Название скрипта
script_author("FeRiNe (Makhmud_Ferinov)") -- автор скрипта
script_description("Помощник, за помощью писать в VK: yabublik00") -- опиcание скрипта
script_version('v.2') -- Глоб.версия скрипта
script_version_number('4') -- версия скрипта (14.07.24)
require "lib.moonloader" -- подключение библиотеки 'moonloader'
local keys = require "vkeys"  -- 'Подключение Библиотеки "Vkeys"'
function main() -- Основаная Функция
    while not isSampAvailable() or not sampIsLocalPlayerSpawned() do wait(250) end -- проверяет заспавнен ли игрок
    sampRegisterChatCommand("frnhelp", cmd_frnhelp)
    rp_thread = lua_thread.create_suspended(ferine_helper)
    sampAddChatMessage(string.format('[FeRiNe v2.1] {770708} Добрый день, Уважаемый {DAA520} %s, {770708} Ваш айди:{DAA520} [%s], {770708} Удачи вам!', -- Проверяет
    -- Если Игрок Заспавнен, то он Показывает его ник и айди
    sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(1))),select(2,sampGetPlayerIdByCharHandle(1))), 0x00FF00) -- Получает ник и айди игрока
    sampAddChatMessage("[FeRiNe v2.1] {770708} Загружен, автор Makhmud_Ferinov, для помощи нажмите кнопки: F+R", 0x00FF00) -- показывает что скрипт загружен
    while true do
    wait(0) -- ниже вы можете поставить свой текст на команды, или поменять команды
        if isKeyDown (VK_K) and isKeyJustPressed (VK_L) then -- /time                                             cmd 1
            sampSendChat('/time')
        end
         if isKeyDown (VK_K) and isKeyJustPressed (VK_L) then -- отчет time                                       cmd 2
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /time Была отправлена", 0x40E0D0 )
        end
        if isKeyDown (VK_O) and isKeyJustPressed (VK_Z) then                                                    --cmd 3
            sampSendChat("/ad реклама сми сми сми лстоп")
        end
        if isKeyDown (VK_O) and isKeyJustPressed (VK_Z) then -- отчет /ad                                          cmd 4
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /ad Была отправлена", 0x40E0D0 )
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_S) then -- отправляет команду /smi (для хелпера от Plalkeo)  cmd 5
             sampProcessChatInput("/smi")
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_S) then -- отчет /smi                    cmd 6
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /smi Была отправлена", 0x40E0D0 )
        end
        if isKeyDown (VK_F) and isKeyJustPressed (VK_R) then -- Что делает скрипт на Кнопки F&R  cmd 6
            sampAddChatMessage("[FeRiNe v.0.2]{FFFFFF} Сочетание O+B=/ad, Буква L+К: /time, CTRL+S=/smi,", 0x00FF00)
             sampAddChatMessage("[FeRiNe v.0.2]{FFFFFF} Нажмите клавиши: CTRL+K=members, CTRL+T=Stats, J+B=/jobprogress ", 0x00FF00)
        end
            if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_K) then -- отправляет /members  cmd 7
           sampSendChat("/members")
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_K) then -- отчет /members  cmd 8
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /members Была отправлена", 0x40E0D0 )
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_T) then -- отправляет "/stats"     cmd 9
           sampSendChat("/stats")
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_T) then -- отчет "/stats"
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /stats Была отправлена", 0x40E0D0 )  --  cmd 10
        end
        if isKeyDown (VK_J) and isKeyJustPressed (VK_B) then -- отправляет сmd "/jobprogress"  cmd 11
           sampSendChat("/jobprogress")
        end
        if isKeyDown (VK_J) and isKeyJustPressed (VK_B) then -- отчет "/members"
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /jobprogress Была отправлена", 0x40E0D0 )  -- cmd 11
        end
    end
    function cmd_frnhelp()
    frnhelp = not frnhelp
    if frnhelp then
        sampAddChatMessage("РП оружие включено", -1)
        fr_thread:run()
    else
        sampAddChatMessage("РП оружие выключено", -1)
        fr_thread:terminate()
    end
end
-- мой первый скрипт <3
 

FreX

Активный
231
78
Функцию напиши вне мейна
Lua:
function cmd_frnhelp()
    frnhelp = not frnhelp
    if frnhelp then
        sampAddChatMessage("РП оружие включено", -1)
        fr_thread:run()
    else
        sampAddChatMessage("РП оружие выключено", -1)
        fr_thread:terminate()
    end

Пробуй
Lua:
script_name("Хелпер FeRiNe") -- Название скрипта
script_author("FeRiNe (Makhmud_Ferinov)") -- автор скрипта
script_description("Помощник, за помощью писать в VK: yabublik00") -- опиcание скрипта
script_version('v.2') -- Глоб.версия скрипта
script_version_number('4') -- версия скрипта (14.07.24)
require "lib.moonloader" -- подключение библиотеки 'moonloader'
local keys = require "vkeys"  -- 'Подключение Библиотеки "Vkeys"'
function main() -- Основаная Функция
    while not isSampAvailable() or not sampIsLocalPlayerSpawned() do wait(250) end -- проверяет заспавнен ли игрок
    sampRegisterChatCommand("frnhelp", cmd_frnhelp)
    rp_thread = lua_thread.create_suspended(ferine_helper)
    sampAddChatMessage(string.format('[FeRiNe v2.1] {770708} Добрый день, Уважаемый {DAA520} %s, {770708} Ваш айди:{DAA520} [%s], {770708} Удачи вам!', -- Проверяет
    -- Если Игрок Заспавнен, то он Показывает его ник и айди
    sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(1))),select(2,sampGetPlayerIdByCharHandle(1))), 0x00FF00) -- Получает ник и айди игрока
    sampAddChatMessage("[FeRiNe v2.1] {770708} Загружен, автор Makhmud_Ferinov, для помощи нажмите кнопки: F+R", 0x00FF00) -- показывает что скрипт загружен
    while true do
    wait(0) -- ниже вы можете поставить свой текст на команды, или поменять команды
        if isKeyDown (VK_K) and isKeyJustPressed (VK_L) then -- /time                                             cmd 1
            sampSendChat('/time')
        end
         if isKeyDown (VK_K) and isKeyJustPressed (VK_L) then -- отчет time                                       cmd 2
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /time Была отправлена", 0x40E0D0 )
        end
        if isKeyDown (VK_O) and isKeyJustPressed (VK_Z) then                                                    --cmd 3
            sampSendChat("/ad реклама сми сми сми лстоп")
        end
        if isKeyDown (VK_O) and isKeyJustPressed (VK_Z) then -- отчет /ad                                          cmd 4
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /ad Была отправлена", 0x40E0D0 )
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_S) then -- отправляет команду /smi (для хелпера от Plalkeo)  cmd 5
             sampProcessChatInput("/smi")
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_S) then -- отчет /smi                    cmd 6
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /smi Была отправлена", 0x40E0D0 )
        end
        if isKeyDown (VK_F) and isKeyJustPressed (VK_R) then -- Что делает скрипт на Кнопки F&R  cmd 6
            sampAddChatMessage("[FeRiNe v.0.2]{FFFFFF} Сочетание O+B=/ad, Буква L+К: /time, CTRL+S=/smi,", 0x00FF00)
             sampAddChatMessage("[FeRiNe v.0.2]{FFFFFF} Нажмите клавиши: CTRL+K=members, CTRL+T=Stats, J+B=/jobprogress ", 0x00FF00)
        end
            if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_K) then -- отправляет /members  cmd 7
           sampSendChat("/members")
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_K) then -- отчет /members  cmd 8
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /members Была отправлена", 0x40E0D0 )
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_T) then -- отправляет "/stats"     cmd 9
           sampSendChat("/stats")
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_T) then -- отчет "/stats"
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /stats Была отправлена", 0x40E0D0 )  --  cmd 10
        end
        if isKeyDown (VK_J) and isKeyJustPressed (VK_B) then -- отправляет сmd "/jobprogress"  cmd 11
           sampSendChat("/jobprogress")
        end
        if isKeyDown (VK_J) and isKeyJustPressed (VK_B) then -- отчет "/members"
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /jobprogress Была отправлена", 0x40E0D0 )  -- cmd 11
        end
    end
end

function cmd_frnhelp()
    frnhelp = not frnhelp
    if frnhelp then
        sampAddChatMessage("РП оружие включено", -1)
        fr_thread:run()
    else
        sampAddChatMessage("РП оружие выключено", -1)
        fr_thread:terminate()
    end
end
 

FeRiNe

Новичок
Автор темы
21
2
Функцию напиши вне мейна
Lua:
function cmd_frnhelp()
    frnhelp = not frnhelp
    if frnhelp then
        sampAddChatMessage("РП оружие включено", -1)
        fr_thread:run()
    else
        sampAddChatMessage("РП оружие выключено", -1)
        fr_thread:terminate()
    end

Пробуй
Lua:
script_name("Хелпер FeRiNe") -- Название скрипта
script_author("FeRiNe (Makhmud_Ferinov)") -- автор скрипта
script_description("Помощник, за помощью писать в VK: yabublik00") -- опиcание скрипта
script_version('v.2') -- Глоб.версия скрипта
script_version_number('4') -- версия скрипта (14.07.24)
require "lib.moonloader" -- подключение библиотеки 'moonloader'
local keys = require "vkeys"  -- 'Подключение Библиотеки "Vkeys"'
function main() -- Основаная Функция
    while not isSampAvailable() or not sampIsLocalPlayerSpawned() do wait(250) end -- проверяет заспавнен ли игрок
    sampRegisterChatCommand("frnhelp", cmd_frnhelp)
    rp_thread = lua_thread.create_suspended(ferine_helper)
    sampAddChatMessage(string.format('[FeRiNe v2.1] {770708} Добрый день, Уважаемый {DAA520} %s, {770708} Ваш айди:{DAA520} [%s], {770708} Удачи вам!', -- Проверяет
    -- Если Игрок Заспавнен, то он Показывает его ник и айди
    sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(1))),select(2,sampGetPlayerIdByCharHandle(1))), 0x00FF00) -- Получает ник и айди игрока
    sampAddChatMessage("[FeRiNe v2.1] {770708} Загружен, автор Makhmud_Ferinov, для помощи нажмите кнопки: F+R", 0x00FF00) -- показывает что скрипт загружен
    while true do
    wait(0) -- ниже вы можете поставить свой текст на команды, или поменять команды
        if isKeyDown (VK_K) and isKeyJustPressed (VK_L) then -- /time                                             cmd 1
            sampSendChat('/time')
        end
         if isKeyDown (VK_K) and isKeyJustPressed (VK_L) then -- отчет time                                       cmd 2
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /time Была отправлена", 0x40E0D0 )
        end
        if isKeyDown (VK_O) and isKeyJustPressed (VK_Z) then                                                    --cmd 3
            sampSendChat("/ad реклама сми сми сми лстоп")
        end
        if isKeyDown (VK_O) and isKeyJustPressed (VK_Z) then -- отчет /ad                                          cmd 4
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /ad Была отправлена", 0x40E0D0 )
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_S) then -- отправляет команду /smi (для хелпера от Plalkeo)  cmd 5
             sampProcessChatInput("/smi")
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_S) then -- отчет /smi                    cmd 6
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /smi Была отправлена", 0x40E0D0 )
        end
        if isKeyDown (VK_F) and isKeyJustPressed (VK_R) then -- Что делает скрипт на Кнопки F&R  cmd 6
            sampAddChatMessage("[FeRiNe v.0.2]{FFFFFF} Сочетание O+B=/ad, Буква L+К: /time, CTRL+S=/smi,", 0x00FF00)
             sampAddChatMessage("[FeRiNe v.0.2]{FFFFFF} Нажмите клавиши: CTRL+K=members, CTRL+T=Stats, J+B=/jobprogress ", 0x00FF00)
        end
            if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_K) then -- отправляет /members  cmd 7
           sampSendChat("/members")
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_K) then -- отчет /members  cmd 8
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /members Была отправлена", 0x40E0D0 )
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_T) then -- отправляет "/stats"     cmd 9
           sampSendChat("/stats")
        end
        if isKeyDown (VK_CONTROL) and isKeyJustPressed (VK_T) then -- отчет "/stats"
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /stats Была отправлена", 0x40E0D0 )  --  cmd 10
        end
        if isKeyDown (VK_J) and isKeyJustPressed (VK_B) then -- отправляет сmd "/jobprogress"  cmd 11
           sampSendChat("/jobprogress")
        end
        if isKeyDown (VK_J) and isKeyJustPressed (VK_B) then -- отчет "/members"
             sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /jobprogress Была отправлена", 0x40E0D0 )  -- cmd 11
        end
    end
end

function cmd_frnhelp()
    frnhelp = not frnhelp
    if frnhelp then
        sampAddChatMessage("РП оружие включено", -1)
        fr_thread:run()
    else
        sampAddChatMessage("РП оружие выключено", -1)
        fr_thread:terminate()
    end
end
Угур, если бы все так легко, : 'end' expected (to close 'function' at line 8) near '<eof>'
 

Sauryn

Новичок
10
4
Попробуй.
Код:
script_name("Хелпер FeRiNe")
script_author("FeRiNe (Makhmud_Ferinov)")
script_description("Помощник, за помощью писать в VK: yabublik00")
script_version('v.2')
script_version_number('4')

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

local frnhelp_enabled = false
local fr_thread

function main()
    while not isSampAvailable() or not sampIsLocalPlayerSpawned() do wait(250) end
    
    sampRegisterChatCommand("frnhelp", cmd_frnhelp)
    
    rp_thread = lua_thread.create_suspended(ferine_helper)
    
    sampAddChatMessage(string.format('[FeRiNe v2.1] {770708} Добрый день, Уважаемый {DAA520} %s, {770708} Ваш айди:{DAA520} [%s], {770708} Удачи вам!',
        sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(1))), select(2,sampGetPlayerIdByCharHandle(1))), 0x00FF00)
    
    sampAddChatMessage("[FeRiNe v2.1] {770708} Загружен, автор Makhmud_Ferinov, для помощи нажмите кнопки: F+R", 0x00FF00)
    
    while true do
        wait(0)
        
        if isKeyDown(keys.VK_K) and isKeyJustPressed(keys.VK_L) then
            sampSendChat('/time')
            sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /time была отправлена", 0x40E0D0)
        end
        
        if isKeyDown(keys.VK_O) and isKeyJustPressed(keys.VK_Z) then
            sampSendChat("/ad реклама сми сми сми лстоп")
            sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /ad была отправлена", 0x40E0D0)
        end
        
        if isKeyDown(keys.VK_CONTROL) and isKeyJustPressed(keys.VK_S) then
            sampProcessChatInput("/smi")
            sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /smi была отправлена", 0x40E0D0)
        end
        
        if isKeyDown(keys.VK_F) and isKeyJustPressed(keys.VK_R) then
            sampAddChatMessage("[FeRiNe v.0.2] {FFFFFF} Сочетание O+B=/ad, Буква L+К: /time, CTRL+S=/smi,", 0x00FF00)
            sampAddChatMessage("[FeRiNe v.0.2] {FFFFFF} Нажмите клавиши: CTRL+K=members, CTRL+T=Stats, J+B=/jobprogress", 0x00FF00)
        end
        
        if isKeyDown(keys.VK_CONTROL) and isKeyJustPressed(keys.VK_K) then
            sampSendChat("/members")
            sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /members была отправлена", 0x40E0D0)
        end
        
        if isKeyDown(keys.VK_CONTROL) and isKeyJustPressed(keys.VK_T) then
            sampSendChat("/stats")
            sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /stats была отправлена", 0x40E0D0)
        end
        
        if isKeyDown(keys.VK_J) and isKeyJustPressed(keys.VK_B) then
            sampSendChat("/jobprogress")
            sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /jobprogress была отправлена", 0x40E0D0)
        end
    end
end

function cmd_frnhelp()
    frnhelp_enabled = not frnhelp_enabled
    if frnhelp_enabled then
        sampAddChatMessage("РП оружие включено", -1)
        fr_thread = lua_thread.create(ferine_helper)
    else
        sampAddChatMessage("РП оружие выключено", -1)
        fr_thread:terminate()
    end
end

function ferine_helper()
    while frnhelp_enabled do
        -- ваш код для функции frnhelp
        wait(0)
    end
end
 

FeRiNe

Новичок
Автор темы
21
2
Попробуй.
Код:
script_name("Хелпер FeRiNe")
script_author("FeRiNe (Makhmud_Ferinov)")
script_description("Помощник, за помощью писать в VK: yabublik00")
script_version('v.2')
script_version_number('4')

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

local frnhelp_enabled = false
local fr_thread

function main()
    while not isSampAvailable() or not sampIsLocalPlayerSpawned() do wait(250) end
   
    sampRegisterChatCommand("frnhelp", cmd_frnhelp)
   
    rp_thread = lua_thread.create_suspended(ferine_helper)
   
    sampAddChatMessage(string.format('[FeRiNe v2.1] {770708} Добрый день, Уважаемый {DAA520} %s, {770708} Ваш айди:{DAA520} [%s], {770708} Удачи вам!',
        sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(1))), select(2,sampGetPlayerIdByCharHandle(1))), 0x00FF00)
   
    sampAddChatMessage("[FeRiNe v2.1] {770708} Загружен, автор Makhmud_Ferinov, для помощи нажмите кнопки: F+R", 0x00FF00)
   
    while true do
        wait(0)
       
        if isKeyDown(keys.VK_K) and isKeyJustPressed(keys.VK_L) then
            sampSendChat('/time')
            sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /time была отправлена", 0x40E0D0)
        end
       
        if isKeyDown(keys.VK_O) and isKeyJustPressed(keys.VK_Z) then
            sampSendChat("/ad реклама сми сми сми лстоп")
            sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /ad была отправлена", 0x40E0D0)
        end
       
        if isKeyDown(keys.VK_CONTROL) and isKeyJustPressed(keys.VK_S) then
            sampProcessChatInput("/smi")
            sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /smi была отправлена", 0x40E0D0)
        end
       
        if isKeyDown(keys.VK_F) and isKeyJustPressed(keys.VK_R) then
            sampAddChatMessage("[FeRiNe v.0.2] {FFFFFF} Сочетание O+B=/ad, Буква L+К: /time, CTRL+S=/smi,", 0x00FF00)
            sampAddChatMessage("[FeRiNe v.0.2] {FFFFFF} Нажмите клавиши: CTRL+K=members, CTRL+T=Stats, J+B=/jobprogress", 0x00FF00)
        end
       
        if isKeyDown(keys.VK_CONTROL) and isKeyJustPressed(keys.VK_K) then
            sampSendChat("/members")
            sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /members была отправлена", 0x40E0D0)
        end
       
        if isKeyDown(keys.VK_CONTROL) and isKeyJustPressed(keys.VK_T) then
            sampSendChat("/stats")
            sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /stats была отправлена", 0x40E0D0)
        end
       
        if isKeyDown(keys.VK_J) and isKeyJustPressed(keys.VK_B) then
            sampSendChat("/jobprogress")
            sampAddChatMessage("[FeRiNe script v.0.2] {FFFFFF} Команда /jobprogress была отправлена", 0x40E0D0)
        end
    end
end

function cmd_frnhelp()
    frnhelp_enabled = not frnhelp_enabled
    if frnhelp_enabled then
        sampAddChatMessage("РП оружие включено", -1)
        fr_thread = lua_thread.create(ferine_helper)
    else
        sampAddChatMessage("РП оружие выключено", -1)
        fr_thread:terminate()
    end
end

function ferine_helper()
    while frnhelp_enabled do
        -- ваш код для функции frnhelp
        wait(0)
    end
end
Доброй Ночи, Благодорю за Ваш Ответ, но не совсем понятно, "Ваш код для функции frnhelp" Не могли бы вы помочь переписать данные строки?, у меня к сожалению не очень хватает опыта
Вот то, что я считаю нужным:

frnhelp command:
 while frnhelp_enabled do
      frnhelp = not frnhelp
    if frnhelp then
        sampAddChatMessage("РП оружие включено", -1)
        fr_thread:run()
    else
        sampAddChatMessage("РП оружие выключено", -1)
        fr_thread:terminate()
 

VanoKLR

Известный
880
491
Доброй Ночи, Благодорю за Ваш Ответ, но не совсем понятно, "Ваш код для функции frnhelp" Не могли бы вы помочь переписать данные строки?, у меня к сожалению не очень хватает опыта
Вот то, что я считаю нужным:

frnhelp command:
 while frnhelp_enabled do
      frnhelp = not frnhelp
    if frnhelp then
        sampAddChatMessage("РП оружие включено", -1)
        fr_thread:run()
    else
        sampAddChatMessage("РП оружие выключено", -1)
        fr_thread:terminate()
Привет! Вопрос, зачем тебе поток если ты не используешь задержки вне main?
причем они никак не связанны.
Для регистрации команд советую делать не так:
Lua:
function cmd_frnhelp()
    frnhelp = not frnhelp
    if frnhelp then
        sampAddChatMessage("РП оружие включено", -1)
    else
        sampAddChatMessage("РП оружие выключено", -1)
    end
end
А вот так:
Lua:
sampRegisterChatCommand("frnhelp", function()
    frnhelp = not frnhelp
    sampAddChatMessage("РП оружие "..(frnhelp and "выключено" or "включено"), -1)
end)
Таким способом мы создаем функцию внутри команды
В местах с одинаковыми проверками можно вместо этого:
изображение_2024-07-16_052439847.png
Сделать так:
1721096796752.png

Так же, у тебя есть строчка --
Lua:
sampAddChatMessage(string.format('[FeRiNe v2.1] {770708} Добрый день, Уважаемый {DAA520} %s, {770708} Ваш айди:{DAA520} [%s], {770708} Удачи вам!'
Ты указываешь ID в момент загрузки скрипта, а загружается он до момента входа на какой либо сервер.
Поэтому лучше или убрать это, или же ждать того момента когда будешь подключен и тогда уже выводить сообщение
Ещё момент на проверку нажатых кнопок:
1721097102978.png
Зачем разделять на 2 проверки если можно объединить их в одну:
1721097154503.png
 

Вложения

  • 1721097094752.png
    1721097094752.png
    16.2 KB · Просмотры: 2

Joce

Участник
31
7
убрал всякого хлама, добавил тебе tag, чтобы у тебя он был единный, если захочешь его впихнуть куда-то для вывода пишешь tag..
Пример: sampAddChatMessage(tag .. "Привет", 0x00FF00)
Lua:
require "lib.moonloader"
local keys = require "vkeys"

local tag = "[FeRiNe script v.0.2]: "

function main()
    while not isSampAvailable() or not sampIsLocalPlayerSpawned() do wait(250) end
    sampRegisterChatCommand("frnhelp", cmd_frnhelp)
    rp_thread = lua_thread.create_suspended(ferine_helper)
    sampAddChatMessage(string.format('%s{770708}Добрый день, Уважаемый {DAA520} %s, {770708} Ваш айди:{DAA520} [%s], {770708} Удачи вам!',
    tag, sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(1))), select(2,sampGetPlayerIdByCharHandle(1))), 0x00FF00)
    sampAddChatMessage(tag .. "{770708}Скрипт успешно загружен! Автор: Makhmud_Ferinov, для помощи нажмите кнопки: R+F", 0x00FF00)

    while true do
        wait(0)
        if isKeyDown(keys.VK_L) and isKeyJustPressed(keys.VK_K) then
            sampSendChat('/time')
            sampAddChatMessage(tag .. "{FFFFFF} Команда /time Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_Z) and isKeyJustPressed(keys.VK_O) then
            sampSendChat("/ad реклама сми сми сми лстоп")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /ad Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_S) and isKeyJustPressed(keys.VK_CONTROL) then
            sampProcessChatInput("/smi")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /smi Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_R) and isKeyJustPressed(keys.VK_F) then
            sampAddChatMessage(tag .. "{FFFFFF} Сочетание O+B=/ad, Буква L+К: /time, CTRL+S=/smi,", 0x00FF00)
            sampAddChatMessage(tag .. "{FFFFFF} Нажмите клавиши: CTRL+K=members, CTRL+T=Stats, J+B=/jobprogress ", 0x00FF00)
        end
        if isKeyDown(keys.VK_K) and isKeyJustPressed(keys.VK_CONTROL) then
            sampSendChat("/members")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /members Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_T) and isKeyJustPressed(keys.VK_CONTROL) then
            sampSendChat("/stats")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /stats Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_B) and isKeyJustPressed(keys.VK_J) then
            sampSendChat("/jobprogress")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /jobprogress Была отправлена", 0x40E0D0)
        end
    end
end

function cmd_frnhelp()
    frnhelp = not frnhelp
    if frnhelp then
        sampAddChatMessage(tag .. "РП оружие включено", -1)
        fr_thread:run()
    else
        sampAddChatMessage(tag .. "РП оружие выключено", -1)
        fr_thread:terminate()
    end
end
 
Последнее редактирование:

FeRiNe

Новичок
Автор темы
21
2
Так же, у тебя есть строчка --
Lua:
sampAddChatMessage(string.format('[FeRiNe v2.1] {770708} Добрый день, Уважаемый {DAA520} %s, {770708} Ваш айди:{DAA520} [%s], {770708} Удачи вам!'
Ты указываешь ID в момент загрузки скрипта, а загружается он до момента входа на какой либо сервер.
Поэтому лучше или убрать это, или же ждать того момента когда будешь подключен и тогда уже выводить сообщение
Нет, Айди И Ник дается ровно в момент спавна персонажа,

1721132630237.png

И так, у меня получился вот такой небольшой код, но есть опять же проблема, я зарегистровал команду, но не совсем понимаю как ей задать задачу, что бы она включала и выключала скрипт
код:
require "lib.moonloader"
local keys = require "vkeys"

local tag = "[FeRiNe script v.0.2]: "

function main()
    while not isSampAvailable() or not sampIsLocalPlayerSpawned() do wait(250) end
    sampAddChatMessage(string.format('%s{770708}Добрый день, Уважаемый {DAA520} %s, {770708} Ваш айди:{DAA520} [%s], {770708} Удачи вам!',
    tag, sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(1))), select(2,sampGetPlayerIdByCharHandle(1))), 0x00FF00)
    sampAddChatMessage(tag .. "{770708}Скрипт успешно загружен! Автор: Makhmud_Ferinov, для помощи нажмите кнопки: R+F", 0x00FF00)

    while true do
        wait(0)
        if isKeyDown(keys.VK_L) and isKeyJustPressed(keys.VK_K) then
            sampSendChat('/time')
            sampAddChatMessage(tag .. "{FFFFFF} Команда /time Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_Z) and isKeyJustPressed(keys.VK_O) then
            sampSendChat("/ad реклама сми сми сми лстоп")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /ad Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_S) and isKeyJustPressed(keys.VK_CONTROL) then
            sampProcessChatInput("/smi")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /smi Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_R) and isKeyJustPressed(keys.VK_F) then
            sampAddChatMessage(tag .. "{FFFFFF} Сочетание O+B=/ad, Буква L+К: /time, CTRL+S=/smi,", 0x00FF00)
            sampAddChatMessage(tag .. "{FFFFFF} Нажмите клавиши: CTRL+K=members, CTRL+T=Stats, J+B=/jobprogress ", 0x00FF00)
        end
        if isKeyDown(keys.VK_K) and isKeyJustPressed(keys.VK_CONTROL) then
            sampSendChat("/members")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /members Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_T) and isKeyJustPressed(keys.VK_CONTROL) then
            sampSendChat("/stats")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /stats Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_B) and isKeyJustPressed(keys.VK_J) then
            sampSendChat("/jobprogress")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /jobprogress Была отправлена", 0x40E0D0)
        end
    end
end

sampRegisterChatCommand("frnhelp", function()
    frnhelp = not frnhelp
    sampAddChatMessage("Хелпер "..(frnhelp and "выключен" or "включен"), -1)
end)
 
Последнее редактирование:

VanoKLR

Известный
880
491
Команду нужно регистрировать в main до цикла
Нет, Айди И Ник дается ровно в момент спавна персонажа,

Посмотреть вложение 246611
И так, у меня получился вот такой небольшой код, но есть опять же проблема, я зарегистровал команду, но не совсем понимаю как ей задать задачу, что бы она включала и выключала скрипт
код:
require "lib.moonloader"
local keys = require "vkeys"

local tag = "[FeRiNe script v.0.2]: "

function main()
    while not isSampAvailable() or not sampIsLocalPlayerSpawned() do wait(250) end
    sampAddChatMessage(string.format('%s{770708}Добрый день, Уважаемый {DAA520} %s, {770708} Ваш айди:{DAA520} [%s], {770708} Удачи вам!',
    tag, sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(1))), select(2,sampGetPlayerIdByCharHandle(1))), 0x00FF00)
    sampAddChatMessage(tag .. "{770708}Скрипт успешно загружен! Автор: Makhmud_Ferinov, для помощи нажмите кнопки: R+F", 0x00FF00)

    while true do
        wait(0)
        if isKeyDown(keys.VK_L) and isKeyJustPressed(keys.VK_K) then
            sampSendChat('/time')
            sampAddChatMessage(tag .. "{FFFFFF} Команда /time Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_Z) and isKeyJustPressed(keys.VK_O) then
            sampSendChat("/ad реклама сми сми сми лстоп")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /ad Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_S) and isKeyJustPressed(keys.VK_CONTROL) then
            sampProcessChatInput("/smi")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /smi Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_R) and isKeyJustPressed(keys.VK_F) then
            sampAddChatMessage(tag .. "{FFFFFF} Сочетание O+B=/ad, Буква L+К: /time, CTRL+S=/smi,", 0x00FF00)
            sampAddChatMessage(tag .. "{FFFFFF} Нажмите клавиши: CTRL+K=members, CTRL+T=Stats, J+B=/jobprogress ", 0x00FF00)
        end
        if isKeyDown(keys.VK_K) and isKeyJustPressed(keys.VK_CONTROL) then
            sampSendChat("/members")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /members Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_T) and isKeyJustPressed(keys.VK_CONTROL) then
            sampSendChat("/stats")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /stats Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_B) and isKeyJustPressed(keys.VK_J) then
            sampSendChat("/jobprogress")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /jobprogress Была отправлена", 0x40E0D0)
        end
    end
end

sampRegisterChatCommand("frnhelp", function()
    frnhelp = not frnhelp
    sampAddChatMessage("Хелпер "..(frnhelp and "выключен" or "включен"), -1)
end)
А состояние вкл/выкл поможет менять данная схема bool = not bool
 
D

deleted-user-222200

Гость
Можно на практике?
1. sampRegisterChatCommand вставляешь на строчку выше, чем while true do в блоке main
2. На данный момент булево значение, вызываемое зарегистрированной командой в п.1, нигде не используется.

В твоем случае основным исполняемым кодом является код, который находится под циклом "while true do" в блоке main, где идет проверка нажатых клавиш на клавиатуре.
После (ниже) while true do wait добавь проверку if frnhelp then, и в эту проверку впихни оставшийся код
 

FeRiNe

Новичок
Автор темы
21
2
1. sampRegisterChatCommand вставляешь на строчку выше, чем while true do в блоке main
2. На данный момент булево значение, вызываемое зарегистрированной командой в п.1, нигде не используется.

В твоем случае основным исполняемым кодом является код, который находится под циклом "while true do" в блоке main, где идет проверка нажатых клавиш на клавиатуре.
После (ниже) while true do wait добавь проверку if frnhelp then, и в эту проверку впихни оставшийся код
Вот так?
Код:
require "lib.moonloader"
local keys = require "vkeys"

local tag = "[FeRiNe script v.0.2]: "

function main()
    while not isSampAvailable() or not sampIsLocalPlayerSpawned() do wait(250) end
    sampAddChatMessage(string.format('%s{770708}Добрый день, Уважаемый {DAA520} %s, {770708} Ваш айди:{DAA520} [%s], {770708} Удачи вам!',
    tag, sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(1))), select(2,sampGetPlayerIdByCharHandle(1))), 0x00FF00)
    sampAddChatMessage(tag .. "{770708}Скрипт успешно загружен! Автор: Makhmud_Ferinov, для помощи нажмите кнопки: R+F", 0x00FF00)
    sampRegisterChatCommand("frnhelp", function()
    while true do
        wait(0)
        sampRegisterChatCommand("frnhelp"), function()
    frnhelp = not frnhelp
    sampAddChatMessage("Хелпер "..(frnhelp and "выключен" or "включен"), -1)
        if isKeyDown(keys.VK_L) and isKeyJustPressed(keys.VK_K) then
            sampSendChat('/time')
            sampAddChatMessage(tag .. "{FFFFFF} Команда /time Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_Z) and isKeyJustPressed(keys.VK_O) then
            sampSendChat("/ad реклама сми сми сми лстоп")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /ad Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_S) and isKeyJustPressed(keys.VK_CONTROL) then
            sampProcessChatInput("/smi")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /smi Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_R) and isKeyJustPressed(keys.VK_F) then
            sampAddChatMessage(tag .. "{FFFFFF} Сочетание O+B=/ad, Буква L+К: /time, CTRL+S=/smi,", 0x00FF00)
            sampAddChatMessage(tag .. "{FFFFFF} Нажмите клавиши: CTRL+K=members, CTRL+T=Stats, J+B=/jobprogress ", 0x00FF00)
        end
        if isKeyDown(keys.VK_K) and isKeyJustPressed(keys.VK_CONTROL) then
            sampSendChat("/members")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /members Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_T) and isKeyJustPressed(keys.VK_CONTROL) then
            sampSendChat("/stats")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /stats Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_B) and isKeyJustPressed(keys.VK_J) then
            sampSendChat("/jobprogress")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /jobprogress Была отправлена", 0x40E0D0)
        end
    end
end

sampRegisterChatCommand("frnhelp", function()
    frnhelp = not frnhelp
    sampAddChatMessage("Хелпер "..(frnhelp and "выключен" or "включен"), -1)
end)
 

VanoKLR

Известный
880
491
Вот так?
Код:
require "lib.moonloader"
local keys = require "vkeys"

local tag = "[FeRiNe script v.0.2]: "

function main()
    while not isSampAvailable() or not sampIsLocalPlayerSpawned() do wait(250) end
    sampAddChatMessage(string.format('%s{770708}Добрый день, Уважаемый {DAA520} %s, {770708} Ваш айди:{DAA520} [%s], {770708} Удачи вам!',
    tag, sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(1))), select(2,sampGetPlayerIdByCharHandle(1))), 0x00FF00)
    sampAddChatMessage(tag .. "{770708}Скрипт успешно загружен! Автор: Makhmud_Ferinov, для помощи нажмите кнопки: R+F", 0x00FF00)
    sampRegisterChatCommand("frnhelp", function()
    while true do
        wait(0)
        sampRegisterChatCommand("frnhelp"), function()
    frnhelp = not frnhelp
    sampAddChatMessage("Хелпер "..(frnhelp and "выключен" or "включен"), -1)
        if isKeyDown(keys.VK_L) and isKeyJustPressed(keys.VK_K) then
            sampSendChat('/time')
            sampAddChatMessage(tag .. "{FFFFFF} Команда /time Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_Z) and isKeyJustPressed(keys.VK_O) then
            sampSendChat("/ad реклама сми сми сми лстоп")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /ad Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_S) and isKeyJustPressed(keys.VK_CONTROL) then
            sampProcessChatInput("/smi")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /smi Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_R) and isKeyJustPressed(keys.VK_F) then
            sampAddChatMessage(tag .. "{FFFFFF} Сочетание O+B=/ad, Буква L+К: /time, CTRL+S=/smi,", 0x00FF00)
            sampAddChatMessage(tag .. "{FFFFFF} Нажмите клавиши: CTRL+K=members, CTRL+T=Stats, J+B=/jobprogress ", 0x00FF00)
        end
        if isKeyDown(keys.VK_K) and isKeyJustPressed(keys.VK_CONTROL) then
            sampSendChat("/members")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /members Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_T) and isKeyJustPressed(keys.VK_CONTROL) then
            sampSendChat("/stats")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /stats Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_B) and isKeyJustPressed(keys.VK_J) then
            sampSendChat("/jobprogress")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /jobprogress Была отправлена", 0x40E0D0)
        end
    end
end

sampRegisterChatCommand("frnhelp", function()
    frnhelp = not frnhelp
    sampAddChatMessage("Хелпер "..(frnhelp and "выключен" or "включен"), -1)
end)
Чувствуешь разницу между до и после? И с конца когда убери sampRegisterChatCommand
 

Joce

Участник
31
7
убрал всякого хлама, добавил тебе tag, чтобы у тебя он был единный, если захочешь его впихнуть куда-то для вывода пишешь tag..
Пример: sampAddChatMessage(tag .. "Привет", 0x00FF00)
Lua:
require "lib.moonloader"
local keys = require "vkeys"

local tag = "[FeRiNe script v.0.2]: "

function main()
    while not isSampAvailable() or not sampIsLocalPlayerSpawned() do wait(250) end
    sampRegisterChatCommand("frnhelp", cmd_frnhelp)
    rp_thread = lua_thread.create_suspended(ferine_helper)
    sampAddChatMessage(string.format('%s{770708}Добрый день, Уважаемый {DAA520} %s, {770708} Ваш айди:{DAA520} [%s], {770708} Удачи вам!',
    tag, sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(1))), select(2,sampGetPlayerIdByCharHandle(1))), 0x00FF00)
    sampAddChatMessage(tag .. "{770708}Скрипт успешно загружен! Автор: Makhmud_Ferinov, для помощи нажмите кнопки: R+F", 0x00FF00)

    while true do
        wait(0)
        if isKeyDown(keys.VK_L) and isKeyJustPressed(keys.VK_K) then
            sampSendChat('/time')
            sampAddChatMessage(tag .. "{FFFFFF} Команда /time Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_Z) and isKeyJustPressed(keys.VK_O) then
            sampSendChat("/ad реклама сми сми сми лстоп")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /ad Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_S) and isKeyJustPressed(keys.VK_CONTROL) then
            sampProcessChatInput("/smi")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /smi Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_R) and isKeyJustPressed(keys.VK_F) then
            sampAddChatMessage(tag .. "{FFFFFF} Сочетание O+B=/ad, Буква L+К: /time, CTRL+S=/smi,", 0x00FF00)
            sampAddChatMessage(tag .. "{FFFFFF} Нажмите клавиши: CTRL+K=members, CTRL+T=Stats, J+B=/jobprogress ", 0x00FF00)
        end
        if isKeyDown(keys.VK_K) and isKeyJustPressed(keys.VK_CONTROL) then
            sampSendChat("/members")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /members Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_T) and isKeyJustPressed(keys.VK_CONTROL) then
            sampSendChat("/stats")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /stats Была отправлена", 0x40E0D0)
        end
        if isKeyDown(keys.VK_B) and isKeyJustPressed(keys.VK_J) then
            sampSendChat("/jobprogress")
            sampAddChatMessage(tag .. "{FFFFFF} Команда /jobprogress Была отправлена", 0x40E0D0)
        end
    end
end

function cmd_frnhelp()
    frnhelp = not frnhelp
    if frnhelp then
        sampAddChatMessage(tag .. "РП оружие включено", -1)
        fr_thread:run()
    else
        sampAddChatMessage(tag .. "РП оружие выключено", -1)
        fr_thread:terminate()
    end
end
 
  • Клоун
  • Ха-ха
Реакции: FreX и VanoKLR