Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How to teleport a playen and give him money when touched a brick?

Asked by 5 years ago

I made a parcour and i want that when a player touched the end brick. he teleports back and add 5 money. now i have this, But when i now stand on the end brick i get 5, 10, 15 or 20 money.

this is the scripts.

01script.Parent.Touched:Connect(function(hit)
02 
03        local hum = hit.Parent:findFirstChild("Humanoid")
04        if hum ~= nil then
05            hit.Parent.HumanoidRootPart.CFrame = CFrame.new(17,10,-61)
06 
07            for i,player in ipairs(game.Players:GetPlayers()) do
08                if player.Character then
09                    local stat = player:FindFirstChild("leaderstats")
10                    if stat then
11                        player.leaderstats.Money.Value = player.leaderstats.Money.Value +5
12 
13 
14                end
15            end
16        end
17    end
18end)

Can you please help me. Thank you

0
Does it print any errors? fortesss7 40 — 5y
0
Where it says CFrame.new(17,10,-61), you need to change it to CFrame.new(Vector3.new(17, 10, -61)) Unhumanly 152 — 5y
0
I had a question similar to this! Sadly, none of the answers I got worked. check out my question, the link is: https://scriptinghelpers.org/questions/84971/how-to-loop-through-each-player-and-add-currency-if-they-destroy-a-building NickIsANuke 217 — 5y

3 answers

Log in to vote
0
Answered by 5 years ago
Edited 5 years ago

put this script in a part

01-----------------------------------------------------------------
02--Made 100% by Eternalove_fan32 please Credits
03-----------------------------------------------------------------
04 
05game.Players.PlayerAdded:Connect(function(player)
06local debounce = false
07local leaderstats = Instance.new("Folder",player)
08leaderstats.Name = "leaderstats"
09local Money = Instance.new("IntValue",leaderstats)
10Money.Name = "Money"
11Money.Value = 0
12 
13script.Parent.Touched:Connect(function(hit)
14 
15        local hum = hit.Parent:findFirstChild("Humanoid")
View all 35 lines...
0
I hope this can help you further Eternalove_fan32 188 — 5y
0
It worked thank you. srry for late reaction i was on vacation. SwimBotTi 2 — 5y
0
its okey Eternalove_fan32 188 — 5y
Ad
Log in to vote
0
Answered by 5 years ago

If you want it to be random, (reward) then you can add a table, and use math.random

01local PossibleRewards = {5,10,15,20}
02    script.Parent.Touched:Connect(function(hit)
03 
04        local hum = hit.Parent:findFirstChild("Humanoid")
05        if hum ~= nil then
06            hit.Parent.HumanoidRootPart.CFrame = CFrame.new(17,10,-61)
07 
08            for i,player in ipairs(game.Players:GetPlayers()) do
09                if player.Character then
10                    local stat = player:FindFirstChild("leaderstats")
11                    if stat then
12                        player.leaderstats.Money.Value = player.leaderstats.Money.Value + math.random(1,#PossibleRewards)
13 
14 
15                end
16            end
17        end
18    end
19end)
0
I didn't want it to be random. but thanks. srry for late reaction i was on vacation. SwimBotTi 2 — 5y
Log in to vote
0
Answered by
OnaKat 444 Moderation Voter
5 years ago
Edited 5 years ago

You can teleport Model with :MoveTo( vector3 )

Ex:

1hit.Parent:MoveTo(Vector3.new(17,10,-61))

Script:

01script.Parent.Touched:Connect(function(hit)
02 
03        local hum = hit.Parent:FindFirstChild("Humanoid")
04        if hum ~= nil then
05            hit.Parent:MoveTo(Vector3.new(17,10,-61))
06 
07            for i,player in ipairs(game.Players:GetPlayers()) do
08                if player.Character then
09                    local stat = player:FindFirstChild("leaderstats")
10                    if stat then
11                        player.leaderstats.Money.Value = player.leaderstats.Money.Value +5
12 
13 
14                end
15            end
16        end
17    end
18end)

Answer this question