giganciprogramowania

l10 EggsClient

Apr 25th, 2023
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local runService = game:GetService("RunService")
  2. local replicatedStorage = game:WaitForChild("ReplicatedStorage")
  3. local replicatedFirst = game:WaitForChild("ReplicatedFirst")
  4.  
  5. local remotes = replicatedStorage:WaitForChild("Remotes")
  6.  
  7. local eggs = workspace:WaitForChild("Eggs")
  8.  
  9. local pets = replicatedFirst:WaitForChild("Pets")
  10.  
  11. local tweenService = game:GetService("TweenService")
  12.  
  13. local player = game.Players.LocalPlayer
  14. local playerGui = player:WaitForChild("PlayerGui")
  15. local screenGui = playerGui:WaitForChild("ScreenGui")
  16. local center = screenGui:WaitForChild("Center")
  17. local petInventory = center:WaitForChild("PetInventory")
  18. local scrollingFrame = petInventory:WaitForChild("ScrollingFrame")
  19. local template = scrollingFrame:WaitForChild("Template")
  20.  
  21. local module3D = require(replicatedStorage:WaitForChild("Module3D"))
  22.  
  23. local maxSelectedPets = 10
  24.  
  25. local selectedPets = 0
  26.  
  27. local function onTemplateClick(clickedTemplate, id)
  28.  
  29. local equipped = clickedTemplate.Equipped.Value
  30.  
  31. if not equipped and selectedPets < maxSelectedPets then
  32. clickedTemplate.Equipped.Value = true
  33. tweenService:Create(
  34. clickedTemplate,
  35. TweenInfo.new(0.4),
  36. {
  37. BackgroundColor3 = Color3.fromRGB(96,235,36)
  38. }
  39. ):Play()
  40. selectedPets = selectedPets + 1
  41. remotes.EquipPet:FireServer(clickedTemplate.Name, id)
  42. elseif equipped then
  43. clickedTemplate.Equipped.Value = false
  44. tweenService:Create(clickedTemplate,
  45. TweenInfo.new(0.4),
  46. {
  47. BackgroundColor3 = Color3.fromRGB(46,189,255)
  48. }
  49. ):Play()
  50. selectedPets = selectedPets - 1
  51. remotes.UnequipPet:FireServer(clickedTemplate.Name, id)
  52. end
  53. end
  54.  
  55. local function createTemplate(petName, id)
  56. local newTemplate = template:Clone()
  57. newTemplate.Name = petName
  58. newTemplate.Visible = true
  59. newTemplate.Parent = scrollingFrame
  60.  
  61. local petModel3D = module3D:Attach3D(
  62. newTemplate:WaitForChild("Viewport"),
  63. pets:WaitForChild(petName):Clone())
  64.  
  65. petModel3D:SetDepthMultiplier(2)
  66. petModel3D.CurrentCamera.FieldOfView = 5
  67. petModel3D.Visible = true
  68.  
  69. runService.RenderStepped:Connect(function()
  70. petModel3D:SetCFrame(
  71. CFrame.Angles(
  72. 0,
  73. tick() % (math.pi * 2), 0) * CFrame.Angles(math.rad(-10), 0, 0))
  74. end)
  75.  
  76. newTemplate.MouseButton1Click:Connect(function()
  77. onTemplateClick(newTemplate, id)
  78. end)
  79. end
  80.  
  81. remotes:WaitForChild("CreateTemplate").OnClientEvent:Connect(function(name, id)
  82. createTemplate(name, id)
  83. end)
  84.  
  85.  
  86. local function Opening(pet, id, egg)
  87. local eggMesh = eggs:FindFirstChild(egg)
  88. eggMesh.ProximityPrompt.Enabled = false
  89. eggMesh.Transparency = 1
  90. local petModel = pets:FindFirstChild(pet):Clone()
  91. petModel.PrimaryPart.Position = eggMesh.Position
  92. petModel.Parent = workspace
  93. wait(5)
  94. petModel:Destroy()
  95. eggMesh.Transparency = 0
  96. eggMesh.ProximityPrompt.Enabled = true
  97. createTemplate(pet, id)
  98. end
  99.  
  100.  
  101. remotes:WaitForChild("Egg").OnClientEvent:Connect(Opening)
Add Comment
Please, Sign In to add comment