2016-11-29 2 views
-1

Bonjour à tous Je me demande pourquoi ce code me donne une erreur

Il est censé prendre un peu d'argent de tous les joueurs, puis ajouter 1 à une valeur int (étape) mettre à jour son coût et modifiez la valeur de la vitesse (SpawnDelay) alors quand il clique dessus encore, il sait à quel stade il est, mais pour une raison quelconque, cela ne fonctionne pas comme l'instruction if apparaît comme incorrect s'il vous plaît aider:Si Déclaration ne fonctionne pas dans RobloxLua

local stage = script.Parent.stage.Value 
local text = script.Parent.Text 
script.Parent.MouseButton1Click:connect(function() 
    if stage == 0 then 
    for i, v in pairs(game.Players:GetPlayers()) do 
v.leaderstats.Cash.Value = v.leaderstats.Cash.Value - 100 

workspace.RedTycoon.Factory.SpawnDelay.Value = 15 
text = "Upgrade Speed   (Cost = 200)" 
stage = stage + 1 

    elseif stage == 1 then 

    for i, v in pairs(game.Players:GetPlayers()) do 
v.leaderstats.Cash.Value = v.leaderstats.Cash.Value - 200 

workspace.RedTycoon.Factory.SpawnDelay.Value = 10 
text = "Upgrade Speed   (Cost = 500)" 
stage = stage + 1 
end 
     elseif stage == 2 then 

    for i, v in pairs(game.Players:GetPlayers()) do 
v.leaderstats.Cash.Value = v.leaderstats.Cash.Value - 500 

workspace.RedTycoon.Factory.SpawnDelay.Value = 8 

text = "Upgrade Speed   (Cost = 1000)" 


stage = stage + 1 

end) 

Je viens essayé ceci

local stage = script.Parent.stage.Value 
local text = script.Parent.Text 
local delaytime = workspace.RedTycoon.Factory.SpawnDelay.Value 
text = "Upgrade Speed   (Cost = 100)" 
script.Parent.MouseButton1Click:connect(function() 
if stage == 0 then 

delaytime = 15 
text = "Upgrade Speed   (Cost = 500)" 
stage = stage + 1 
for _, player in ipairs(game.Players:GetPlayers()) do 
    if player:FindFirstChild("leaderstats") then 
     player.leaderstats.Cash.Value = player.leaderstats.Cash.Value - 100 
    end 
end 



elseif stage == 1 then 
    delaytime = 10 
text = "Upgrade Speed   (Cost = 1000)" 
stage = stage + 1 
for _, player in ipairs(game.Players:GetPlayers()) do 
    if player:FindFirstChild("leaderstats") then 
     player.leaderstats.Cash.Value = player.leaderstats.Cash.Value - 500 
    end 
end 


elseif stage == 2 then 
    delaytime = 10 
    text = "Upgrade Speed   (Cost = 1500)" 
stage = stage + 1 
for _, player in ipairs(game.Players:GetPlayers()) do 
    if player:FindFirstChild("leaderstats") then 
     player.leaderstats.Cash.Value = player.leaderstats.Cash.Value - 1000 
    end 
end 


elseif stage == 3 then 
    text = "Upgrade Speed   (Cost = 2000)" 
    delaytime = 8 
stage = stage + 1 
for _, player in ipairs(game.Players:GetPlayers()) do 
    if player:FindFirstChild("leaderstats") then 
     player.leaderstats.Cash.Value = player.leaderstats.Cash.Value - 1500 
    end 
end 


elseif stage == 4 then 
    delaytime = 4 
    text = "Upgrade Speed   (Cost = 20000)" 
stage = stage + 1 
for _, player in ipairs(game.Players:GetPlayers()) do 
    if player:FindFirstChild("leaderstats") then 
     player.leaderstats.Cash.Value = player.leaderstats.Cash.Value - 2000 
    end 

end 

elseif stage == 5 then 
    delaytime = 2 
    text = "No More Upgrades Avalible" 
stage = stage + 1 
for _, player in ipairs(game.Players:GetPlayers()) do 
    if player:FindFirstChild("leaderstats") then 
     player.leaderstats.Cash.Value = player.leaderstats.Cash.Value - 20000 
    end 

end 

else 
    text = "Just for being annoying here you have 1 less cash:" 

for _, player in ipairs(game.Players:GetPlayers()) do 
    if player:FindFirstChild("leaderstats") then 
      player.leaderstats.Cash.Value = player.leaderstats.Cash.Value - 1 
     end 

end 
     wait(4) 
     text = "No More Upgrades Avalible" 


     end 

end) 

Ça n'a pas

Répondre

1

Après avoir retiré toutes les déclarations de code en excès, nous pouvons voir que la structure de code est, à tout le moins, manquant trois mots-clés end.

script.Parent.MouseButton1Click:connect(function() 
    if stage == 0 then 
     for i, v in pairs(game.Players:GetPlayers()) do 
     -- missing end 
    elseif stage == 1 then 
     for i, v in pairs(game.Players:GetPlayers()) do 

     end 
    elseif stage == 2 then 
     for i, v in pairs(game.Players:GetPlayers()) do 
     -- missing end 
    -- missing 
end)