Помогите сделать команду-переключатель

histor

Участник
Автор темы
42
16
Версия MoonLoader
Другое
Приветствую пользователей Blast Hack!
Прошу помочь сделать команду-переключатель, при которой будет активироваться функция для показа хп транспорта

Я уже что что пытался делать но ничего не вышло
Вот код:
Вот моя неудачная попытка написать простой код:
script_name('car_hp')
script_author('ALex Histor')

require "lib.moonloader"

local sampev = 'lib.samp.events'
local key = 51
local main_text = "{FFFF00}[{1E90FF}Histor Scripts{FFFF00}] : "

function main()
    while not isSampAvailable() do wait(0) end
        sampRegisterChatCommand("hpcar", cmd_hpcar)
        sampAddChatMessage("{FFFF00}Скрипт активен!{6A5ACD}Автор {FFFF00}Alex Histor, {6A5ACD}при поддержке {FFFF00}Conor'a Guretto")
    while true do
        wait(0)
        if isCharInAnyCar(PLAYER_PED) and wasKeyPressed(key) then
            sampAddChatMessage(main_text..'{6A5ACD}HP вашего транспортного средства - {FFFF00}' .. getCarHealth(storeCarCharIsInNoSave(PLAYER_PED)), -1)
        else if not isCharInAnyCar(PLAYER_PED) and wasKeyPressed(key) then
            sampAddChatMessage(main_text..'{6A5ACD}Вы не находитесь в транспортном средстве!', -1)
        end
    end
end
end

function cmd_hpcar(arg)
    if #arg == 0 then
        sampAddChatMessage(main_text.."{6A5ACD}Выберите состояние скрипта!")
    if #arg == "on" then
        sampAddChatMessage(main_text.."{FFFF00}Вы включили скрипт!")
    else #arg == "off"
        sampAddChatMessage(main_text.."{FFFF00}Вы выключили скрипт!")   
    end
end
end
 
Решение
Lua:
script_name('car_hp')
script_author('ALex Histor')

 

local key = {ALT=18}
local main_text = "{FFFF00}[{1E90FF}Histor Scripts{FFFF00}] : "
local fOnscpt = false
function main()
    while not isSampAvailable() do wait(0) end
        sampRegisterChatCommand("hhpcar", cmd_hpcar)
        sampAddChatMessage("{FFFF00}Скрипт активен!{6A5ACD}Автор {FFFF00}Alex Histor, {6A5ACD}при поддержке {FFFF00}Conor'a Guretto")
    while true do
        wait(0)
        if isCharInAnyCar(PLAYER_PED) and wasKeyPressed(key.ALT) and fOnscpt then
            sampAddChatMessage(main_text..'{6A5ACD}HP вашего транспортного средства - {FFFF00}' .. getCarHealth(storeCarCharIsInNoSave(PLAYER_PED)), -1)
        else if not isCharInAnyCar(PLAYER_PED) and...

histor

Участник
Автор темы
42
16
Ну вот у меня есть функция которая показывает хп транспорта и когда я нажимаю на 3 появляется сообщение в чате о хп транспорта, а мне надо что бы после того как я ввёл команду функция начинала работать.После того как я ввожу второй раз - она выключалась
 

Salvatore_Ferrari

Известный
Проверенный
419
204
Ну вот у меня есть функция которая показывает хп транспорта и когда я нажимаю на 3 появляется сообщение в чате о хп транспорта, а мне надо что бы после того как я ввёл команду функция начинала работать.После того как я ввожу второй раз - она выключалась
ты там ничего не нажимаешь ,а в чат вводишь цифру 3?
 

AndroSamp

Активный
246
41
Lua:
script_name('car_hp')
script_author('ALex Histor')

require "lib.moonloader"

local sampev = 'lib.samp.events'
local key = 51
local main_text = "{FFFF00}[{1E90FF}Histor Scripts{FFFF00}] : "

enable = false

function main()

    while not isSampAvailable() do wait(0) end

        sampRegisterChatCommand("hpcar", cmd_hpcar)

        sampAddChatMessage("{FFFF00}Скрипт активен!{6A5ACD}Автор {FFFF00}Alex Histor, {6A5ACD}при поддержке {FFFF00}Conor'a Guretto")

    while true do

        wait(0)
if enable then
        if isCharInAnyCar(PLAYER_PED) and wasKeyPressed(key) then

            sampAddChatMessage(main_text..'{6A5ACD}HP вашего транспортного средства - {FFFF00}' .. getCarHealth(storeCarCharIsInNoSave(PLAYER_PED)), -1)

        else if not isCharInAnyCar(PLAYER_PED) and wasKeyPressed(key) then

            sampAddChatMessage(main_text..'{6A5ACD}Вы не находитесь в транспортном средстве!', -1)

        end
end
    end

end

end



function cmd_hpcar(arg)

    if enable then

enable = false

sampAddChatMessage("Выключен")

else

enable = true

end

end

Можно легче(хз будет ли работать):


Lua:
script_name('car_hp')
script_author('ALex Histor')

require "lib.moonloader"

local sampev = 'lib.samp.events'
local key = 51
local main_text = "{FFFF00}[{1E90FF}Histor Scripts{FFFF00}] : "

enable = false

function main()

    while not isSampAvailable() do wait(0) end

        sampRegisterChatCommand("hpcar", cmd_hpcar)

        sampAddChatMessage("{FFFF00}Скрипт активен!{6A5ACD}Автор {FFFF00}Alex Histor, {6A5ACD}при поддержке {FFFF00}Conor'a Guretto")

    while true do

        wait(0)
if enable then
        if isCharInAnyCar(PLAYER_PED) and wasKeyPressed(key) then

            sampAddChatMessage(main_text..'{6A5ACD}HP вашего транспортного средства - {FFFF00}' .. getCarHealth(storeCarCharIsInNoSave(PLAYER_PED)), -1)

        else if not isCharInAnyCar(PLAYER_PED) and wasKeyPressed(key) then

            sampAddChatMessage(main_text..'{6A5ACD}Вы не находитесь в транспортном средстве!', -1)

        end
end
    end

end

end



function cmd_hpcar(arg)

enable = not enable

end
 

Salvatore_Ferrari

Известный
Проверенный
419
204
Lua:
script_name('car_hp')
script_author('ALex Histor')

 

local key = {ALT=18}
local main_text = "{FFFF00}[{1E90FF}Histor Scripts{FFFF00}] : "
local fOnscpt = false
function main()
    while not isSampAvailable() do wait(0) end
        sampRegisterChatCommand("hhpcar", cmd_hpcar)
        sampAddChatMessage("{FFFF00}Скрипт активен!{6A5ACD}Автор {FFFF00}Alex Histor, {6A5ACD}при поддержке {FFFF00}Conor'a Guretto")
    while true do
        wait(0)
        if isCharInAnyCar(PLAYER_PED) and wasKeyPressed(key.ALT) and fOnscpt then
            sampAddChatMessage(main_text..'{6A5ACD}HP вашего транспортного средства - {FFFF00}' .. getCarHealth(storeCarCharIsInNoSave(PLAYER_PED)), -1)
        else if not isCharInAnyCar(PLAYER_PED) and fOnscpt and wasKeyPressed(key.ALT) then
            sampAddChatMessage(main_text..'{6A5ACD}Вы не находитесь в транспортном средстве!', -1)
        end
    end
end
end

function cmd_hpcar(arg)
 
    if arg == "" then
        sampAddChatMessage(main_text.."{6A5ACD}Выберите состояние скрипта!")
        sampAddChatMessage(main_text.."{FFFF00}hpcar on - Включить скрипт")
        sampAddChatMessage(main_text.."{FFFF00}hpcar off - Выключить скрипт")
    elseif arg == "on" then
        sampAddChatMessage(main_text.."{FFFF00}Вы включили скрипт!")
        fOnscpt = true;
    else
        sampAddChatMessage(main_text.."{FFFF00}Вы выключили скрипт!")   
        fOnscpt = false;
    end
end
 
  • Нравится
Реакции: histor

histor

Участник
Автор темы
42
16
Lua:
script_name('car_hp')
script_author('ALex Histor')



local key = {ALT=18}
local main_text = "{FFFF00}[{1E90FF}Histor Scripts{FFFF00}] : "
local fOnscpt = false
function main()
    while not isSampAvailable() do wait(0) end
        sampRegisterChatCommand("hhpcar", cmd_hpcar)
        sampAddChatMessage("{FFFF00}Скрипт активен!{6A5ACD}Автор {FFFF00}Alex Histor, {6A5ACD}при поддержке {FFFF00}Conor'a Guretto")
    while true do
        wait(0)
        if isCharInAnyCar(PLAYER_PED) and wasKeyPressed(key.ALT) and fOnscpt then
            sampAddChatMessage(main_text..'{6A5ACD}HP вашего транспортного средства - {FFFF00}' .. getCarHealth(storeCarCharIsInNoSave(PLAYER_PED)), -1)
        else if not isCharInAnyCar(PLAYER_PED) and fOnscpt and wasKeyPressed(key.ALT) then
            sampAddChatMessage(main_text..'{6A5ACD}Вы не находитесь в транспортном средстве!', -1)
        end
    end
end
end

function cmd_hpcar(arg)

    if arg == "" then
        sampAddChatMessage(main_text.."{6A5ACD}Выберите состояние скрипта!")
        sampAddChatMessage(main_text.."{FFFF00}hpcar on - Включить скрипт")
        sampAddChatMessage(main_text.."{FFFF00}hpcar off - Выключить скрипт")
    elseif arg == "on" then
        sampAddChatMessage(main_text.."{FFFF00}Вы включили скрипт!")
        fOnscpt = true;
    else
        sampAddChatMessage(main_text.."{FFFF00}Вы выключили скрипт!")  
        fOnscpt = false;
    end
end
Спасибо большое, вы мне очень помогли, но у меня вопрос - зачем нужен 'end' в 22 строчке кода?
 

7jizzle

Участник
240
14
Ну вот у меня есть функция которая показывает хп транспорта и когда я нажимаю на 3 появляется сообщение в чате о хп транспорта, а мне надо что бы после того как я ввёл команду функция начинала работать.После того как я ввожу второй раз - она выключалась

Lua:
--func main
sampRegisterChatCommand("hpcar", function()
    active = not active
    sampAddChatMessage(active and "ON" or "OFF")
end)
while true do
    wait(0)
    if active then
        if wasKeyPressed(--[[твоя клавиша]]) then
        -- твой код
        end
    end
end
Писал с телефона
 

Salvatore_Ferrari

Известный
Проверенный
419
204
Спасибо большое, вы мне очень помогли, но у меня вопрос - зачем нужен 'end' в 22 строчке кода?
Ну конструкцию надо завершать ключевым слово END или функцю.
Спасибо большое, вы мне очень помогли, но у меня вопрос - зачем нужен 'end' в 22 строчке кода?
выбери "лучший ответ" если помог , буду благодарен)