помогите написать скрипт на луа

Dickson

Активный
Автор темы
277
63
Версия SA-MP
  1. Любая
Здравствуйте. у меня есть айди анимации и я хотел бы написать сбив , который перебивал бы анимацию новой.
я пытался переписать чужой сбив. у меня не вышло.
айди анимки:
Скриншот 08-11-2022 020148.jpg


То, как выглядит сама анимка.
 
Решение
это то, что мне нужно было. спасибо. а можешь добавить, чтоб например на кнопку 2 анимация не останавливалась ? чтоб была зацикленной, а на 1 , чтоб так же была
Lua:
function main()
    while not isSampAvailable() do wait(100) end

    local enable = true

    while true do
        wait(0)
        if wasKeyPressed(49) and not sampIsDialogActive() and not isSampfuncsConsoleActive() and not sampIsChatInputActive() then
            taskPlayAnim(playerPed, "ENDCHAT_03", "PED", 9, enable, false, false, false, -1)
        elseif wasKeyPressed(50) and not sampIsDialogActive() and not isSampfuncsConsoleActive() and not sampIsChatInputActive() then
            enable = not enable
            printStringNow(enable and "~g~ON" or "~r~OFF"...

olol321

Участник
103
17
тут просто впишите ид анимации из списка анимаций аризоны:
активация Z+X
1675201725982.png
 

Dickson

Активный
Автор темы
277
63
тут просто впишите ид анимации из списка анимаций аризоны:
активация Z+X
Посмотреть вложение 188100
я не играю на аризоне, мне интересны сами текстуры с гта са, а не с аризоны. я знаю, что там можно, ибо я видел в игре, что такой сбив есть.
 

ARMOR

kjor32 is legend
Модератор
4,851
6,078
Не уверен что скрипт будет работать:
Lua:
local ev = require 'lib.samp.events'

function ev.onApplyPlayerAnimation(playerId, animLib, animName, frameDelta, loop, lockX, lockY, freeze, time)
    if animName == "Тут название той анимации при которой должен срабатывать скрипт" then
        return { playerId, "PED", "ENDCHAT_03", frameDelta, loop, lockX, lockY, freeze, time }
    end
end

UP: Проверил, работает.
 
Последнее редактирование:

Dickson

Активный
Автор темы
277
63
Не уверен что скрипт будет работать:
Lua:
local ev = require 'lib.samp.events'

function ev.onApplyPlayerAnimation(playerId, animLib, animName, frameDelta, loop, lockX, lockY, freeze, time)
    if animName == "Тут название той анимации при которой должен срабатывать скрипт" then
        return { playerId, "PED", "ENDCHAT_03", frameDelta, loop, lockX, lockY, freeze, time }
    end
end

UP: Проверил, работает.
активация какая ?
 

ARMOR

kjor32 is legend
Модератор
4,851
6,078
я хотел на кнопочку посбивать )))
А, секунду.

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

    while true do
        wait(0)
        if wasKeyPressed(49) and not sampIsDialogActive() and not isSampfuncsConsoleActive() and not sampIsChatInputActive() then
            taskPlayAnim(playerPed, "ENDCHAT_03", "PED", 9, false, false, false, false, -1)
        end
    end
end
По стандарту стоит активация цифра 1, но ты можешь изменить себе на любую какую захочешь. Вот ID клавиш: http://netcode.ru/cpp/?artID=234

Менять в коде нужно вот тут вместо 49:

1675204912902.png
 
Последнее редактирование:

Dickson

Активный
Автор темы
277
63
это то, что мне нужно было. спасибо. а можешь добавить, чтоб например на кнопку 2 анимация не останавливалась ? чтоб была зацикленной, а на 1 , чтоб так же была
А, секунду.

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

    while true do
        wait(0)
        if wasKeyPressed(49) and not sampIsDialogActive() and not isSampfuncsConsoleActive() and not sampIsChatInputActive() then
            taskPlayAnim(playerPed, "ENDCHAT_03", "PED", 9, false, false, false, false, -1)
        end
    end
end
По стандарту стоит активация цифра 1, но ты можешь изменить себе на любую какую захочешь. Вот ID клавиш: http://netcode.ru/cpp/?artID=234

Менять в коде нужно вот тут вместо 49:

Посмотреть вложение 188105
 
  • Нравится
Реакции: ARMOR

ARMOR

kjor32 is legend
Модератор
4,851
6,078
это то, что мне нужно было. спасибо. а можешь добавить, чтоб например на кнопку 2 анимация не останавливалась ? чтоб была зацикленной, а на 1 , чтоб так же была
Lua:
function main()
    while not isSampAvailable() do wait(100) end

    local enable = true

    while true do
        wait(0)
        if wasKeyPressed(49) and not sampIsDialogActive() and not isSampfuncsConsoleActive() and not sampIsChatInputActive() then
            taskPlayAnim(playerPed, "ENDCHAT_03", "PED", 9, enable, false, false, false, -1)
        elseif wasKeyPressed(50) and not sampIsDialogActive() and not isSampfuncsConsoleActive() and not sampIsChatInputActive() then
            enable = not enable
            printStringNow(enable and "~g~ON" or "~r~OFF", 2000)
            clearCharTasksImmediately(playerPed)
        elseif wasKeyPressed(51) and not sampIsDialogActive() and not isSampfuncsConsoleActive() and not sampIsChatInputActive() then
            clearCharTasksImmediately(playerPed)
        end
    end
end
Сохранения после перезапуска нет. ( Для сбива анимации нажми 3 )
 

Dickson

Активный
Автор темы
277
63
Lua:
function main()
    while not isSampAvailable() do wait(100) end

    local enable = true

    while true do
        wait(0)
        if wasKeyPressed(49) and not sampIsDialogActive() and not isSampfuncsConsoleActive() and not sampIsChatInputActive() then
            taskPlayAnim(playerPed, "ENDCHAT_03", "PED", 9, enable, false, false, false, -1)
        elseif wasKeyPressed(50) and not sampIsDialogActive() and not isSampfuncsConsoleActive() and not sampIsChatInputActive() then
            enable = not enable
            printStringNow(enable and "~g~ON" or "~r~OFF", 2000)
            clearCharTasksImmediately(playerPed)
        elseif wasKeyPressed(51) and not sampIsDialogActive() and not isSampfuncsConsoleActive() and not sampIsChatInputActive() then
            clearCharTasksImmediately(playerPed)
        end
    end
end
Сохранения после перезапуска нет. ( Для сбива анимации нажми 3 )
спасибо тебе большое !
 
  • Вау
Реакции: ARMOR