WOP

Участник
Автор темы
86
1
Сделал такой скрипт
Код:
script_name = 'Persistent Jetpack'
script_version = 4

require 'lib.moonloader'
local sampev = require 'lib.samp.events'

local jetpackActive = false

function main()
    while not isSampAvailable() do wait(100) end

    sampRegisterChatCommand('jpac', toggleJetpack)
    sampAddChatMessage('{2CB6DD}[JetPack]: {FFFFFF}Загружен! Активация: /jpac', -1)

    while true do wait(0) end
end

function toggleJetpack()
    jetpackActive = not jetpackActive

    if jetpackActive then
        sampSetSpecialAction(2) -- выдаём один раз
        sampAddChatMessage('{2CB6DD}[JetPack]: {FFFFFF}Включён!', -1)
    else
        sampSetSpecialAction(0) -- снимаем один раз
        sampAddChatMessage('{2CB6DD}[JetPack]: {FFFFFF}Выключен!', -1)
    end
end

-- видимость для других игроков остаётся
function sampev.onSendPlayerSync(data)
    if jetpackActive then
        da
ta.specialAction = 2
    end
end
Джетпак не визуальный, проблема в том что при выдаче джетпака я могу полететь максимум на 1 секунду и именно в этом время сервер отправляет мне сообщение о том что я больше не могу использовать джетпак "[Информация] Вы больше не можете использовать jetpack!" После чего анимация персонажа сбрасывается и джетпак у меня отбирают, но при этом из за функции видимости джетпака для игроков (который обновляется у них раз в 0 мс) и мне когда я бегу постоянно сервер сбрасывал мне анимку помимо отбирания джетпака, если есть кодеры можете пожалуйста сказать как сделать так чтобы анимация не сбрасывалась и джетпак у меня оставался?, я пробовал уже перевыдачу джетпака при отбирании но проблема в том что когда джетпак бы перевыдался скорость сбросилась и в воздухе джетпак по какой то причине не выдавался, когда я уже упал на поверхность он мне выдался, тоесть лететь вообще нереально и неудобно.
 
[21:07:08.842448] (system) Loading script: '/storage/emulated/0/Android/media/com.rodina.game/monetloader/jpac.lua'...
[21:07:08.971446] (error) jpac.lua: ...ted/0/Android/media/com.rodina.game/monetloader/jpac.lua:49: attempt to index global 'samp' (a nil value)
stack traceback:
...ted/0/Android/media/com.rodina.game/monetloader/jpac.lua:49: in main chunk
[21:07:08.971543] (error) jpac.lua: Script died due to an error.
 

Вложения

  • test.lua
    1.8 KB · Просмотры: 3

WOP

Участник
Автор темы
86
1
Код:
script_name = "Persistent Jetpack"

script_version = 4

require("moonloader")

local sampev = require("samp.events")

local jetpackActive = false

function main()
    while not isSampAvailable() do
        wait(100)
    end

    sampRegisterChatCommand("jpac", function()
        jetpackActive = not jetpackActive

        if jetpackActive then
            sampSetSpecialAction(2)
        else
            sampSetSpecialAction(0)
        end

        sampAddChatMessage(
            jetpackActive and "{2CB6DD}[JetPack]: {FFFFFF}Включён!"
                or "{2CB6DD}[JetPack]: {FFFFFF}Выключен!",
            -1
        )
    end)

    sampAddChatMessage("{2CB6DD}[JetPack]: {FFFFFF}Загружен! Активация: /jpac", -1)

    wait(-1)
end
Можешь сюда добавить 2 нопа про которые я говорил? Просто скрипт с нопами который у меня установлен при каждом выходе из игры не сохраняется, а снова их включать как то не хочется[/CODE]
 
Можешь сюда добавить 2 нопа про которые я говорил? Просто скрипт с нопами который у меня установлен при каждом выходе из игры не сохраняется, а снова их включать как то не хочется
я сверху скинул там все это нопается