Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local RS = game:GetService("ReplicatedStorage");
- local TweenService = game:GetService("TweenService")
- local CollectionService = game:GetService("CollectionService")
- local promptRemote = RS.Events.PromptSkills;
- local Player = game.Players.LocalPlayer
- local PlayerGui = Player:WaitForChild("PlayerGui")
- local Character = Player.Character or Player.CharacterAdded:Wait()
- local Camera = workspace.CurrentCamera
- local Deb = false;
- local MagicTrainerCFrame = workspace.MagicCamera.CFrame
- local StrengthTrainerCFrame = workspace.StrengthCamera.CFrame
- local ShadowTrainerCFrame = workspace.ShadowCamera.CFrame
- local Found: {[string]: boolean} = {
- ["StrengthTrainer"] = false;
- ["MagicTrainer"] = false;
- ["ShadowTrainer"] = false
- }
- local cameraCFrames: {[string]: CFrame} = {
- ["StrengthTrainer"] = StrengthTrainerCFrame;
- ["MagicTrainer"] = MagicTrainerCFrame;
- ["ShadowTrainer"] = ShadowTrainerCFrame
- };
- local Trainers: {ProximityPrompt} = {
- workspace.Map.Soovierr;
- workspace.Map.Rrowipw;
- workspace.Map.BloxSennin;
- }
- local function setProxy(VAL: boolean)
- for i,v in pairs(Trainers) do
- v.ProximityPrompt.Enabled = VAL;
- end
- end
- local function animateText(Text,TextLabel)
- for i = 1,#Text, 1 do
- TextLabel.Text = string.sub(Text,1,i);
- task.wait(0.03);
- end
- task.wait(1)
- end
- local function resetCamera()
- Camera.CameraType = Enum.CameraType.Custom
- Camera.CFrame = Character:WaitForChild("Head").CFrame;
- end
- local function resetUI()
- for _,v in pairs(PlayerGui.SkillGiverGUI:GetDescendants()) do
- if v:IsA("TextButton") or v:IsA("TextLabel") then
- TweenService:Create(v, TweenInfo.new(1.2), {TextTransparency = 1;}):Play()
- end
- TweenService:Create(v, TweenInfo.new(1.2), {BackgroundTransparency = 1;}):Play()
- end
- PlayerGui.SkillGiverGUI.BottomFrame.TopFrame.mainText.Text = "";
- end
- local function startUI()
- for _, Value in pairs(PlayerGui.SkillGiverGUI:GetDescendants()) do
- if Value:IsA("TextButton") or Value:IsA("TextLabel") then
- TweenService:Create(Value, TweenInfo.new(1.2), {TextTransparency = 0;}):Play()
- end
- TweenService:Create(Value, TweenInfo.new(1.2), {BackgroundTransparency = 0;}):Play()
- end
- TweenService:Create(PlayerGui.SkillGiverGUI.BottomFrame.TopFrame.mainText, TweenInfo.new(.5), {TextTransparency = 0;}):Play()
- end
- promptRemote.OnClientEvent:Connect(function(Statement, HasTag)
- print("Client "..Statement)
- local BottomFrame = PlayerGui.SkillGiverGUI.BottomFrame;
- local mainText = BottomFrame.TopFrame.mainText
- Camera.CameraType = Enum.CameraType.Scriptable
- --local YesRemote: RBXScriptConnection;
- local Buttons = {
- BottomFrame.TopFrame.Yes;
- BottomFrame.TopFrame.No;
- }
- TweenService:Create(Camera, TweenInfo.new(1.2), {CFrame = cameraCFrames[Statement]}):Play()
- setProxy(false)
- task.wait(1.2);
- startUI();
- animateText(Statement.." Are You Ready?",mainText)
- for Index,Value: TextButton in pairs(Buttons) do
- Value.MouseButton1Up:Connect(function()
- if Deb then return end
- Deb = true;
- if Found[Statement] then Deb = nil return end
- if HasTag then setProxy(true) Deb = nil return end
- if Value.Name == "No" then
- animateText(Statement..": You're Not Ready",mainText)
- resetCamera()
- resetUI();
- promptRemote:FireServer("");
- setProxy(true)
- task.wait(1)
- Deb = nil
- return;
- end
- if Statement == "StrengthTrainer" and not Found[Statement] then
- animateText(Statement..": Show Me Your True Power!",mainText)
- elseif Statement == "MagicTrainer" and not Found[Statement] then
- animateText(Statement..": Your Leg Are Now On Fire!",mainText)
- elseif Statement == "ShadowTrainer" and not Found[Statement] then
- animateText(Statement..": Lurk In The Shadows!",mainText)
- end
- Found[Statement] = true;
- promptRemote:FireServer(Statement);
- setProxy(true)
- resetUI()
- resetCamera()
- Deb = nil;
- return;
- end)
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement