Загрузка...

Help with pancreatic animation

Thread in Roblox Studio created by Lolik12345_inactive Jul 29, 2025. 365 views

  1. Lolik12345_inactive
    Lolik12345_inactive Topic starter Jul 29, 2025 0 May 9, 2019
    Code
    local tool = script.Parent
    local player = game.Players.LocalPlayer

    local animationId = "rbxassetid://91182698608385"

    local animTrack

    local function loadAnimation(character)
    local humanoid = character:WaitForChild("Humanoid")
    if humanoid then
    local animation = Instance.new("Animation")
    animation.AnimationId = animationId
    animTrack = humanoid:LoadAnimation(animation)
    animTrack.Priority = Enum.AnimationPriority.Action
    print("Анимация загружена")
    end
    end

    tool.Equipped:Connect(function()
    loadAnimation(player.Character or player.CharacterAdded:Wait())

    player.CharacterAdded:Connect(loadAnimation)
    end)

    tool.Activated:Connect(function()
    print("Мах")
    if animTrack then
    animTrack:Play()
    print("Анимация запущена")
    else
    warn("Анимация не загружена")
    end
    end)
    Помогите пожалуйста всё перепробовал, у меня тул есть топора, нужно запускать анимацию ид уже вставлен, при нажатии на экран ничего не происходит 0 реакции, может кто то шарит в этом? всё облез все видосы пересмотрел, все нейронки опробовал ничего не помогает :doomer:
     
  2. Full_Contact
    Проблемы в оригинальном скрипте
    LoadAnimation устарел
    Его больше не стоит использовать в новых проектах.
    Вместо него нужно использовать Animator:LoadAnimation().
    Повторное подключение CharacterAdded внутри Equipped может вызвать дублирование.
    Если несколько раз экиповать инструмент, создастся несколько подключений, что приведёт к лишним вызовам.

    Обновлённый и проверенный скрипт:
    local tool = script.Parent
    local player = game.Players.LocalPlayer

    local animationId = "

    local animTrack
    local characterConnection

    -- Функция для загрузки анимации
    local function loadAnimation(character)
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:FindFirstChildOfClass("Animator") or ("Animator", humanoid)

    local animation = ("Animation")
    animation.AnimationId = animationId

    animTrack = animator:LoadAnimation(animation)
    animTrack.Priority = Enum.AnimationPriority.Action
    print(" Анимация загружена")
    end

    -- При экипировке инструмента
    tool.Equipped:Connect(function()
    local character = player.Character or player.CharacterAdded:Wait()
    loadAnimation(character)

    -- Очищаем предыдущее подключение, если оно есть
    if characterConnection then
    characterConnection:Disconnect()
    end

    -- Повторно загружаем анимацию при респавне
    characterConnection = player.CharacterAdded:Connect(loadAnimation)
    end)

    -- При активации инструмента
    tool.Activated:Connect(function()
    print(" Мах")
    if animTrack then
    animTrack:Play()
    print(" Анимация запущена")
    else
    warn(" Анимация не загружена")
    end
    end)

    Протестируй
    Убедись, что инструмент — это Tool, помещённый в StarterPack.
    Проверь, что анимация существует и корректна.
    Убедись, что это локальный скрипт внутри Tool.
     
    1. Lolik12345_inactive Topic starter
      avatarFull_Contact, неа, всё равно не работает :cat_nope:
    2. Full_Contact
      avatarLolik12345_inactive,
      Контрольный список перед запуском:
      Скрипт должен быть LocalScript внутри Tool (а не обычный Script).
      Tool должен находиться в StarterPack, чтобы игрок получил его в рюкзак.
      Анимация должна быть разрешена для использования — проверь, опубликована ли она.
      **ID должен быть только числом — не ..., а только число при Animation.AnimationId =.
      Убедись, что в Explorer → Tool → стоит галочка RequiresHandle = false если у тебя нет физической части.

      Исправленная версия твоего скрипта

      -- LocalScript внутри Tool
      local tool = script.Parent
      local player = game.Players.LocalPlayer

      -- Используй только число в ID
      local animationId = "91182698608385"

      local animTrack
      local characterConnection

      -- Загружаем анимацию
      local function loadAnimation(character)
      local humanoid = character:WaitForChild("Humanoid")
      local animator = humanoid:FindFirstChildOfClass("Animator") or ("Animator", humanoid)

      local animation = ("Animation")
      animation.AnimationId = " .. animationId

      animTrack = animator:LoadAnimation(animation)
      animTrack.Priority = Enum.AnimationPriority.Action
      print(" Анимация загружена")
      end

      -- Экипировка
      tool.Equipped:Connect(function()
      local character = player.Character or player.CharacterAdded:Wait()
      loadAnimation(character)

      if characterConnection then
      characterConnection:Disconnect()
      end

      characterConnection = player.CharacterAdded:Connect(loadAnimation)
      end)

      -- Активация (нажатие)
      tool.Activated:Connect(function()
      print(" Активация")
      if animTrack then
      animTrack:Play()
      print(" Анимация запущена")
      else
      warn(" Анимация не загружена")
      end
      end)

      ВАЖНО:
      Это должен быть LocalScript — иначе player = game.Players.LocalPlayer вернёт nil!
      Если ты тестируешь в Studio, обязательно запусти через "Play" (F5), а не "Play Here", иначе LocalPlayer может не работать как надо.
      Анимация должна быть опубликована от твоего профиля, или с разрешением использовать.

      Проверка:
      Если всё сделано правильно:
      Перетащи Tool в StarterPack.
      Внутри Tool создай LocalScript, вставь туда код.
      Запусти Play в Studio.
      Инструмент должен появиться — кликни левой кнопкой мыши, должна сработать анимация.
  3. Corvo
    Corvo Jul 29, 2025 Будущий куратор Апекса (по любому) 6,447 Sep 20, 2020
    https://vk.com/roblostudio
    Когда делал режим роблокс и было что-то не понятно
    Спрашивал у типов
    Постоянно что-то подсказывали
     
Loading...