[gestures] Как сделать анимацию при взаимодействии с предметом

Привет.
Хотел узнать, можно ли как-то добавить анимацию игроку, которую будет воспроизводить игрок при нажатии клавиши или взаимодействии с определенным энтити?
Также, как в коде указывать игрока, как это самое энтити?

Список анимаций: ACT - Garry's Mod Wiki

hook.Add("KeyPress", "PlayBendOverAnimation", function(ply, key)
    if key == IN_USE then -- "E"
        local tr = ply:GetEyeTrace()
        if IsValid(tr.Entity) and tr.Entity:GetClass() == "entiti_nazvanie" then
            ply:AnimRestartGesture(GESTURE_SLOT_CUSTOM, ACT_GMOD_GESTURE_BOW)
        end
    end
end)

А у “entiti_nazvanie”, в getclass, указывать игрока как нужно? Я имею в виду написание - “entity_player”?
И можно ли использовать акты не анимационные. Под такими я имею в виду: поклон, салют и пр. А акты, которые являются перезарядкой, ударом или прочей анимацией, которые часто в SWEPах используют?

Этот код будет проигрывать анимацию на любом расстоянии от энтити. Лучше добавить в функцию ENT:Use() функцию вызова анимации. Акты перезарядки должны быть в списке всех актов

А как использовать ent:use, если там идет activator и caller, когда для animrestartgesture требуется ply и если указать этого ply, то будет выдавать ошибку?

Узнай, что такое ИМЯ объекта :rofl:

А как внутри этой функции запустить анимацию, даже если через ConCommand act dance и прочие акты не запускаются? ENT:AcceptInput(name, activator, caller, data)

То что у тебя не работает act связано с тем что он отключен в даркрп. На эту функцию он никак не повлияет.

function ENT:AcceptInput(name, activator, caller, data)
    activator:DoAnimationEvent(ACT_GMOD_TAUNT_DANCE) -- от первого лица не видно
end

Попробовал, все равно ничего не происходит, либо просто не видно от самого клиента.
Еще вопрос. Как отключить фонарик для игроков в целом, но включать возможность им пользоваться игроку, который купил определенное энтити?

Ну от первого лица, да, не видно. Поставь камеру и посмотри на себя.

Чтобы отключить фонарик:

local function boughtEnt(ply)
    -- проверка на покупку энтити, если купил, то верни true
end
hook.Add('PlayerSwitchFlashlight', 'entity', function(ply, state)
    if state and not boughtEnt(ply) then return false end
end)