So the things is I pay a box to get a gun , the box cost actually 75 bucks (in game), the box work but when our currency is less than 75, the box still work and the thing that I want to do is when our currency is less than 75 then we cannot buy box until we get more than 75 .
My script is here :
function Oncliked(player) local stats = player:findFirstChild("leaderstats") local cost = stats:findFirstChild("Money") if cost == nil then return false end if cost.Value < 75 then return end --- It's the thing that I tried to break the script if we didn't have less than 75 buck if cost.Value >= 75 then cost.Value = cost.Value - 75 end print("Enough Money")
ps: I cut only the currency part because I cannot post the entire script and the script is a bit in french because I speak french.
Salut! Je parle français aussi, donc je rédigerais cette réponse en français.
En premier, organise ton code. On veut un code organisé, c'est mieux qu'un qui marche très bien. En fait, c'est juste mon avis.
En deuxième, fais attention à FindFirstChild(), tu écris findFirstChild(). Je sais pas vraiment s'il y a un changement, mais c'est juste meilleur d'utiliser FindFirstChild(). C'est une bonne pratique.
Finalement, voici le code que tu cherche pour remplacer le tien. Organisé, en plus. Assure toi que c'est un LOCALSCRIPT.
script.Parent.MouseButton1Click:Connect(function() -- Psst, je sais pas si tu as quelque chose qui définit OnClicked à MouseButton1Click, donc j'ai juste utilisé la function MouseButton1Click. En plus, est-ce que ce Script est dans le bouton? Si non, assure toi de réparer la fonction. local player = game.Players.LocalPlayer local stats = player:WaitForChild("leaderstats") local money = stats:FindFirstChild("Money") if money <= 74 then print("Not enough money!") else print("Vous avez assez d'argent! Vous pouvez acheter cet article.") money = money -75 -- En plus, ici, si vous vendez un Tool, vous pouvez faire quelque chose du genre --[[ Surprime le [[ si tu veux inclure ce script, il y a rien d'autre à faire et ce bout de code marche. local clone = game.ReplicatedStorage.NomDuTool:Clone() -- Assure toi que le 'Path' est correct, ici j'ai juste mis un exemple. clone.Parent = player.Backpack --]] end end)
J'espère que je t'ai aidé, dis moi si tu trouve un problème. Le mieux ici, ce que le code est organisé! Bof, il pourrait être plus organisé mais j'ai laissé des commentaires pour que tu comprennes mieux le code.
P.S. J'ai compris que tu parlais en français tout d'abord avec ton pseudo... P.P.S. Réponds moi une fois que tu regarde cette réponse.
Well... Isn't complicated.
All you need to do is verify if the player have or not the enough money and then give the player the item if they have enough or give them a warning if they don't have the enough money
Lets go to the code
Put it all on a LocalScript and the LocalScript create it on the Button
local function mouseClick(click) local player = game.Players.LocalPlayer local leaderstats = player:WaitForChild("leaderstats") local currency = leaderstats.Money --> Change it to you currency name local RS = game:GetService("ReplicatedStorage") -->We have the tool on the RS local tool = RS:WaitForChild("Tool") --> Change it to your tool name if currency.Value <= 75 then print("You don't have enough money!") elseif currency.Value >= 75 then currency.Value = currency.Value - 75 --> Change it to your price local itemClone = tool:Clone() local itemClone2 = tool:Clone() itemClone.Parent = player.Backpack itemClone2.Parent = player.StarterGear end end local warnMessage = "The code is incorrect" pcall(warnMessage) -->If the code is incorrect will print the Message --> Error verification script.Parent.MouseButton1Click:Connect(function()
And that's all! Please let me know if it works!