Why is this being subtracted to the negatives?
game.ReplicatedStorage.Events.Removed.OnServerEvent:Connect(function(player, Strength)
player.Data.Damage.Value -= Strength
end)
Why is this being subtracted to the negatives?
game.ReplicatedStorage.Events.Removed.OnServerEvent:Connect(function(player, Strength)
player.Data.Damage.Value -= Strength
end)
What do you mean? The routine just subtracts the value by Strength. If you don’t want it to do that then you’d have to do an if statement after.
when i go in game it starts at 196 but when this is fired it goes down to -196
What value is strength
Also add a print statement to the OnServerEvent to see how many times it’s being called. Same thing for where it’s fired from
Can’t you just remove the negative so it would be
player.Data.Damage.Value = Strength
I am not sure if I am missing something to the problem…
The player is apparently dealing less damage than what Strength
is
Just use math.abs(x)
, where x
is your variable name?
local Result = player.Data.Damage.Value - Strength
math.abs(Result)
player.Data.Damage.Value = Result
lets say a player had 100 damage when they equipped an armor, when they sell or unequip it that would subtract it by how much they equipped it with so subtracted by 100
but if a player had additional Damage that would just remove all of it
So you could do:
game.ReplicatedStorage.Events.Removed.OnServerEvent:Connect(function(player, Strength)
player.Data.Damage.Value = player.Data.Damage.Value - Strength
end)
I am still a bit confused on what you are trying to do, it might help if you showed us the code you use that triggers the event
Whoops, try it again? Idk if that’ll change anything I mean the updated script I edited
it didn’t print anything because it couldn’t get past the second line
Run print (Strength)
, perhaps the wrong values is being sent? The function -=
is completely valid. It will subtract teh value of your item by what you give it, but it could be that Strength is high. Also, did you check how many times the function is called?
it printed blank
Let me know if this works:
game.ReplicatedStorage.Events.Removed.OnServerEvent:Connect(function(player, Strength)
player.Data.Damage.Value = player.Data.Damage.Value - Strength
end)
That’s your issue. Something is not being sent correctly. What’s your FireServer() parameters?
I fixed some stuff and it printed some numbers but heres a video
i tried that but it still did what happened in the video
I meant try the updated script again, see if that fixes anything
Are your parameters sent correctly. There is nothing wrong with the OnServerEvent
this is completely error of the :FireServer() handling