Advertisement
drakon-firestone

EggsClient

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