Не включается скрипт.

dopping2014

Новичок
Автор темы
8
0
Добрый вечер мужчины и мальчики, решил попробовать сделать автонарко при смерти, при попытки включения скрипта выдает только NOT WORK.
Код:
script_name("autousedrugs")

local min_health = 1

require "lib.moonloader"
local act = false


function main()
repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("autousedrugs", function()
        act = not act
        sampAddChatMessage("[autousedrugs]: "..(state and "work" or "not work"), -1)
    end)
    while true do
        wait(0)
        if act then
            local health = getCharHealth(PLAYER_PED)
            if health < min_health then
            wait(2800)
            sampSendChat('/usedrugs 15')
        end
    end
end
end
 
Решение
Добрый вечер мужчины и мальчики, решил попробовать сделать автонарко при смерти, при попытки включения скрипта выдает только NOT WORK.
Код:
script_name("autousedrugs")

local min_health = 1

require "lib.moonloader"
local act = false


function main()
repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("autousedrugs", function()
        act = not act
        sampAddChatMessage("[autousedrugs]: "..(state and "work" or "not work"), -1)
    end)
    while true do
        wait(0)
        if act then
            local health = getCharHealth(PLAYER_PED)
            if health < min_health then
            wait(2800)
            sampSendChat('/usedrugs 15')
        end
    end
end
end
Потому что для сообщения ты...

Maxim25012

Известный
280
101
Добрый вечер мужчины и мальчики, решил попробовать сделать автонарко при смерти, при попытки включения скрипта выдает только NOT WORK.
Код:
script_name("autousedrugs")

local min_health = 1

require "lib.moonloader"
local act = false


function main()
repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("autousedrugs", function()
        act = not act
        sampAddChatMessage("[autousedrugs]: "..(state and "work" or "not work"), -1)
    end)
    while true do
        wait(0)
        if act then
            local health = getCharHealth(PLAYER_PED)
            if health < min_health then
            wait(2800)
            sampSendChat('/usedrugs 15')
        end
    end
end
end
Потому что для сообщения ты используешь переменную state, хотя изменяется у тебя переменная act.
 

dopping2014

Новичок
Автор темы
8
0

Maxim25012

Известный
280
101

Maxim25012

Известный
280
101
я 0 поставил чтобы зачекать, просто хочу чтобы один раз отправлялось
Ну, так если у тебя задержка 0 мс, то оно будет отправлять команду каждые два кадра (у тебя две нулевые задержки, так бы каждый кадр отправляло). Например, если у тебя игра идёт в 60 кадрах в секунду, то команда отправится 30 раз за секунду.

Лучше поставь задержку в 2,8 секунды после отправки команды, иначе оно будет каждый раз отправлять команду дважды. А ещё лучше добавить проверку на сообщения ошибок, например, если нарко не хватает, и сделать автоматическую деактивацию в таком случае.
 
Последнее редактирование:

dopping2014

Новичок
Автор темы
8
0
Ну, так если у тебя задержка 0 мс, то оно будет отправлять команду каждые два кадра (у тебя две нулевые задержки, так бы каждый кадр отправляло). Например, если у тебя игра идёт в 60 кадрах в секунду, то команда отправится 30 раз за секунду.

Лучше поставь задержку в 2,8 секунды после отправки команды, иначе оно будет каждый раз отправлять команду дважды. А ещё лучше добавить проверку на сообщения ошибок, например, если нарко не хватает, и сделать автоматическую деактивацию в таком случае.
это уже трудновато будет, я пока только учить начал
 

Maxim25012

Известный
280
101
это уже трудновато будет, я пока только учить начал
Пример:
require('samp.events').onServerMessage = function (color, text)
    if text:find('вставь сюда своё сообщение или чего часть') then
        act = false
    end
end
 
  • Влюблен
Реакции: dopping2014