Advertisement
drakon-firestone

Końcówka animacji petów

Sep 29th, 2023 (edited)
872
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.68 KB | None | 0 0
  1.     for i, pet in pairs(playerFolder:GetChildren()) do
  2.         -- który wiersz i kolumna dla peta
  3.         local row = math.floor( (i - 1) / petsPerRow)
  4.         local col = (i - 1) % petsPerRow
  5.        
  6.         -- rozmiary gracza, peta i liczba petów w linijce
  7.         local characterSize = character:GetExtentsSize()
  8.         local petSize = pet:GetExtentsSize()
  9.         local petsInRow = math.min(petCount - row * petsPerRow, petsPerRow)
  10.  
  11.         -- położenie x, y i z peta
  12.         local x = (col - petsInRow/2 + 0.5) * offsetX
  13.         local y = petSize.Y/2 - characterSize.Y/2
  14.         local z = (row * offsetZ) + offsetPlayer
  15.        
  16.         -- animacja chodzenia albo stania w zależności od typu peta
  17.         if character.Humanoid.MoveDirection.Magnitude > 0 then -- jeśli gracz idzie
  18.             -- animacja chodzenia petów chodzących
  19.             if pet:FindFirstChild("Walks") then
  20.                 pet:SetPrimaryPartCFrame(pet.PrimaryPart.CFrame:Lerp(
  21.                     character.PrimaryPart.CFrame * CFrame.new(x, y + sin, z) * CFrame.fromEulerAnglesXYZ(0,0,cos),0.1))
  22.             -- animacja chodzenia petów latających
  23.             elseif pet:FindFirstChild("Flying") then
  24.                 pet:SetPrimaryPartCFrame(pet.PrimaryPart.CFrame:Lerp(
  25.                     character.PrimaryPart.CFrame * CFrame.new(x, y / 2 +math.sin(time()*3)+1, z), 0.1))
  26.             end
  27.         else -- jeśli gracz stoi
  28.             -- animacja stania petów chodzących
  29.             if pet:FindFirstChild("Walks") then
  30.                 pet:SetPrimaryPartCFrame(pet.PrimaryPart.CFrame:Lerp(
  31.                     character.PrimaryPart.CFrame * CFrame.new(x, y, z) ,0.1))
  32.             -- animacja stania petów latających
  33.             elseif pet:FindFirstChild("Flying") then
  34.                 pet:SetPrimaryPartCFrame(pet.PrimaryPart.CFrame:Lerp(
  35.                     character.PrimaryPart.CFrame * CFrame.new(x, y / 2 + math.sin(time()*3)+1, z) , 0.1))
  36.             end
  37.         end
  38.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement