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

This script is adding to one leaderstat but not subtracting the other, How can I fix this?

Asked by 5 years ago

So when the script is fired this needs to check if the user has enough money then if they do subtract the "cost" from the localplayer's money.Value and add "bounty" to the user who is "searchname" .

The issue is that it is not subtracting the "cost" from the localplayer, but it is adding the bounty to the other player. Everything is functional except it is acting like it skips the substracting money part.

--Check Players

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService('ReplicatedStorage')
local RemoteEvents = ReplicatedStorage:WaitForChild('RemoteEvents')
local AddBountyEvent = RemoteEvents:WaitForChild('AddBounty')

AddBountyEvent.OnServerEvent:Connect(function(PlayerWhoClicked, searchname, cost)
    local PlayerInPlayers = Players:FindFirstChild ( searchname )
    --local PlayerWhoClicked = Players:FindFirstChild( PlayerWhoClicked )
    if PlayerInPlayers then
        local PlayerWhoClickedLeaderStats = PlayerWhoClicked:FindFirstChild("leaderstats")--Believe it has something to do with this.
        local PlayerInPlayersLeaderStats = PlayerInPlayers:FindFirstChild("leaderstats")
        local Money = PlayerWhoClickedLeaderStats and PlayerWhoClickedLeaderStats:FindFirstChild("Money") or false--Or this
        local Bounty = PlayerInPlayersLeaderStats and PlayerInPlayersLeaderStats:FindFirstChild("Bounty") or false
        --PlayerWhoClicked.Name ~= searchname 
        if Money then ---From here
            local HasEnough  = Money.Value >= cost
            local Difference =  cost - Money.Value
                if Bounty then 
                    Bounty.Value = Bounty.Value + cost--this works
                end
                if HasEnough then
                    Money.Value = Money.Value - cost--this does not
                end--To here is the problem






            else
                print ( ('%s needs %d/%d more cash to set bounty'):format(PlayerWhoClicked.Name, Difference, cost)  )
            end

    else 
        print ( 'username not found' )
    end

end)

0
i would help if i understand what you are talking about but i dont, so what i understand is when a player has the cost and does somethng the crrency will be subtracted by the cost and he will have more bounty? YahiaElramal_77 26 — 5y

Answer this question