What solutions have you tried so far? Did you look for solutions on the Developer Hub?
i have tried looking on google for any sort of solution, then i resorted to YouTube i still didn’t come across anything that could help, i also searched the hub for any sort of problem relating to this issue
Are you using a variable to get the powers up they get? I suggest use an NumberValue or IntValue so it would be more easier. Cause i tried that before and it only adds(multiplies[for you]) once in the variable. I was trying to make a count 1-inf but it keeps repeating 1.2.2.2.2… So i suggest use an NumberValue / IntValue
In first code:
Your adding a number at the string so use tostring() to translate it to string.
In second code:i think thats just the client
Can i see your server sided script cause i think there’s a mistake on it. Cause if your firing it to server. The server will get
.OnServerEvent:Connecr(function(The player who fired, The rest of your variables...)
local event = game.ReplicatedStorage.AddStat
local MarketPlaceService = game:GetService("MarketplaceService")
local gamepassId = 26516856 --2x Stats
local strengthPass = 26469746 --2x attack pass
local endpass = 26516870 --2x Stats
function ownsgamepass(UserId, GamepassID)
local owned = false
local success, Error = pcall(function()
owned = MarketPlaceService:UserOwnsGamePassAsync(UserId, GamepassID)
end)
if success then
return owned
else
warn(Error)
end
end
event.OnServerEvent:Connect(function(player, stat, val, op)
local owns = ownsgamepass(player.UserId, gamepassId)
if stat == "Strength" and ownsgamepass(player.UserId, strengthPass)
or stat == "Endurance" and ownsgamepass(player.UserId, endpass) then
val = val*2
end
if op == "+" then
if owns then
player:WaitForChild(stat).Value += val*2
print(val*2)
else
player:WaitForChild(stat).Value += val
print(val)
end
elseif op == "set" then
if owns and not stat:match("Multi") then
player:WaitForChild(stat).Value = val*2
print(val*2)
else
player:WaitForChild(stat).Value = val
print(val)
end
end
end)