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

I am struggling with my if statements and then statements ?

Asked by 3 years ago
Edited 3 years ago
1local PartTouch = 1
2 
3game.Workspace.Part.Touched:Connect(function(hit) if hit.Parent:FindFirstChild("Humanoid") then if PartTouch ==
4            1 then
5            local keys = hit.leaderstats.keys keys.Value = keys.Value + 1
6 
7        end
8    end
9end)

and IT GIVES ME ERRORS

0
dude, can you arrange you code well put it inside the Squiggly lines when you click the code block button sata5pa3da 286 — 3y
0
what is the error? sata5pa3da 286 — 3y
0
They have put a space in between the "keys keys" part. RazzyPlayz 497 — 3y

1 answer

Log in to vote
0
Answered by 3 years ago

Hello.

You cannot have spaces be used like that when you are trying to add to values. I also recommend adding a Debounce to your script, so that the values aren't added more than once.

Assuming that your leaderstats is located in the Player's character, this is what the script should look like:

01local PartTouch = 1
02local Debounce = false
03 
04local Players = game:GetService("Players")
05local Cooldown = 1 -- Can be changed to how much of a cooldown you want before the part can be touched again. This is not related to changing values in the leaderstats.
06 
07local function PartTouched(Collision)
08    if not (Debounce) then
09        Debounce = true
10         local Humanoid = Collision.Parent:FindFirstChildWhichIsA("Humanoid")
11         if (Humanoid) then  -- Verify that whatever touched this part has a humanoid.
12 
13           local Player = Players:GetPlayerFromCharacter(Collision.Parent)
14           if (Player) then -- Verify that whatever touched this part is a player and has a humanoid.
15            local Leaderstats = Player.Character.leaderstats
View all 26 lines...

Hope this works for you.

Ad

Answer this question