Advertisement
SxScripting

Skill Giver Local

Feb 11th, 2023
1,008
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 KB | None | 0 0
  1. local RS = game:GetService("ReplicatedStorage");
  2. local TweenService = game:GetService("TweenService")
  3. local CollectionService = game:GetService("CollectionService")
  4. local promptRemote = RS.Events.PromptSkills;
  5.  
  6. local Player = game.Players.LocalPlayer
  7. local PlayerGui = Player:WaitForChild("PlayerGui")
  8. local Character = Player.Character or Player.CharacterAdded:Wait()
  9. local Camera = workspace.CurrentCamera
  10. local Deb = false;
  11.  
  12. local MagicTrainerCFrame = workspace.MagicCamera.CFrame
  13. local StrengthTrainerCFrame = workspace.StrengthCamera.CFrame
  14. local ShadowTrainerCFrame = workspace.ShadowCamera.CFrame
  15.  
  16. local Found: {[string]: boolean} = {
  17. ["StrengthTrainer"] = false;
  18. ["MagicTrainer"] = false;
  19. ["ShadowTrainer"] = false
  20. }
  21.  
  22. local cameraCFrames: {[string]: CFrame} = {
  23. ["StrengthTrainer"] = StrengthTrainerCFrame;
  24. ["MagicTrainer"] = MagicTrainerCFrame;
  25. ["ShadowTrainer"] = ShadowTrainerCFrame
  26. };
  27.  
  28. local Trainers: {ProximityPrompt} = {
  29. workspace.Map.Soovierr;
  30. workspace.Map.Rrowipw;
  31. workspace.Map.BloxSennin;
  32. }
  33.  
  34. local function setProxy(VAL: boolean)
  35. for i,v in pairs(Trainers) do
  36. v.ProximityPrompt.Enabled = VAL;
  37. end
  38. end
  39.  
  40. local function animateText(Text,TextLabel)
  41. for i = 1,#Text, 1 do
  42. TextLabel.Text = string.sub(Text,1,i);
  43. task.wait(0.03);
  44. end
  45. task.wait(1)
  46. end
  47.  
  48. local function resetCamera()
  49. Camera.CameraType = Enum.CameraType.Custom
  50. Camera.CFrame = Character:WaitForChild("Head").CFrame;
  51. end
  52.  
  53. local function resetUI()
  54. for _,v in pairs(PlayerGui.SkillGiverGUI:GetDescendants()) do
  55. if v:IsA("TextButton") or v:IsA("TextLabel") then
  56. TweenService:Create(v, TweenInfo.new(1.2), {TextTransparency = 1;}):Play()
  57. end
  58. TweenService:Create(v, TweenInfo.new(1.2), {BackgroundTransparency = 1;}):Play()
  59. end
  60. PlayerGui.SkillGiverGUI.BottomFrame.TopFrame.mainText.Text = "";
  61. end
  62.  
  63. local function startUI()
  64. for _, Value in pairs(PlayerGui.SkillGiverGUI:GetDescendants()) do
  65. if Value:IsA("TextButton") or Value:IsA("TextLabel") then
  66. TweenService:Create(Value, TweenInfo.new(1.2), {TextTransparency = 0;}):Play()
  67. end
  68. TweenService:Create(Value, TweenInfo.new(1.2), {BackgroundTransparency = 0;}):Play()
  69. end
  70. TweenService:Create(PlayerGui.SkillGiverGUI.BottomFrame.TopFrame.mainText, TweenInfo.new(.5), {TextTransparency = 0;}):Play()
  71. end
  72.  
  73.  
  74. promptRemote.OnClientEvent:Connect(function(Statement, HasTag)
  75. print("Client "..Statement)
  76. local BottomFrame = PlayerGui.SkillGiverGUI.BottomFrame;
  77. local mainText = BottomFrame.TopFrame.mainText
  78. Camera.CameraType = Enum.CameraType.Scriptable
  79. --local YesRemote: RBXScriptConnection;
  80.  
  81. local Buttons = {
  82. BottomFrame.TopFrame.Yes;
  83. BottomFrame.TopFrame.No;
  84. }
  85. TweenService:Create(Camera, TweenInfo.new(1.2), {CFrame = cameraCFrames[Statement]}):Play()
  86. setProxy(false)
  87. task.wait(1.2);
  88. startUI();
  89. animateText(Statement.." Are You Ready?",mainText)
  90.  
  91. for Index,Value: TextButton in pairs(Buttons) do
  92.  
  93. Value.MouseButton1Up:Connect(function()
  94. if Deb then return end
  95. Deb = true;
  96. if Found[Statement] then Deb = nil return end
  97. if HasTag then setProxy(true) Deb = nil return end
  98. if Value.Name == "No" then
  99. animateText(Statement..": You're Not Ready",mainText)
  100. resetCamera()
  101. resetUI();
  102. promptRemote:FireServer("");
  103. setProxy(true)
  104. task.wait(1)
  105. Deb = nil
  106. return;
  107. end
  108.  
  109. if Statement == "StrengthTrainer" and not Found[Statement] then
  110. animateText(Statement..": Show Me Your True Power!",mainText)
  111. elseif Statement == "MagicTrainer" and not Found[Statement] then
  112. animateText(Statement..": Your Leg Are Now On Fire!",mainText)
  113. elseif Statement == "ShadowTrainer" and not Found[Statement] then
  114. animateText(Statement..": Lurk In The Shadows!",mainText)
  115. end
  116. Found[Statement] = true;
  117.  
  118. promptRemote:FireServer(Statement);
  119. setProxy(true)
  120. resetUI()
  121. resetCamera()
  122. Deb = nil;
  123. return;
  124. end)
  125.  
  126. end
  127.  
  128. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement