Multiplier value isn't correct

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve?
    for the number that is in the value to be shown when the tool is activated

  2. What is the issue? Include screenshots / videos if possible!
    2021-12-29

  3. 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

i was using

popUp.Frame.Amount.Text = "+"..1*zoneMulti.Value*classMult*multi

but im trying to figure a way out to add this

addStat:FireServer("Strength", zoneMulti.Value*classMult*multi, "+")

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...)

this is where that goes to

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)

i don’t know if i could put the pop up inside here