There is currently a bug for rank checking as it does not use ipairs when iterating over group ranks. It does not store the player’s highest rank and instead only stores the last rank iterated that they happened to also have. This is feature-breaking as it can lead to an incorrect assessment of group roles.
-- location: MainModule(src).core.permission:79
-- change: Store player's highest group rank to not assign a lower rank
local getGroupPermission = function(userId)
if(hasGroups) then
local userGroups = groupsIn.fetch(userId)
local max
for groupId,data in pairs(userGroups) do
if(not groups[groupId]) then
userGroups[groupId] = nil
else
local highestRank
local currentMax
for rank,toAssign in pairs(groups[groupId]) do
if(data.Rank >= rank and data.Rank > (highestRank or 0)) then
currentMax = permissionToNumber(toAssign)
highestRank = rank
end
end
if((currentMax or -1) > (max or 0)) then
max = currentMax
end
end
end
return max
else
return {}
end
end
Updating Manually - Not Recommended
If you want to fix this for yourself, please go to BetterChatV3.Config.Loader and set inDevelopment to true. You then will need to install the source of BetterChatV3 into ServerScriptService do not rename it! Then, go into MainModule.core.permission and on line 79 replace the getGroupPermission function with the one I provided.
I would not recommend doing this as this will most likely be pushed to the main BetterChatV3 and putting your source in development means it no longer receives updates!
Can you provide the original code so in my PMs so I can compare to fully understand what I did wrong? Also thank you so much for that! It really does help, I’ll message my friend tonight and we’ll work on updating it.
I suspected something like this would be the case, as it seemed a little off that it would ignore some ranks. I never would have guessed that changing a single line of code would fix it!
Thank you so much for looking into it, I’ll be waiting for the fix to come out in production.
The game that we’re using this in isn’t public right now so it’s not a huge deal, but I know that this fix is crucial for other projects as well.
@Jumpathy Just curious, when will the group rank fix be pushed into production? Thanks again for making such a great resource, I’ve donated R$5000 to help support it!
I don’t intend to pressure you, it’s just that some of my developers are a little annoyed by their tags being off
This is great! I just wanted to let you know team chat is a bit buggy, and I was wondering if your going to be fixing that so it can be in that top menu area where the main chat is if you know what I mean, and work if you see what I am at.
It is on it’s own channel, that’s how it operates internally. The duplicate team bug that wss just patched happened because I had failed to remove speakers from the team channel.
seems to be a bug with using the viewport render instead of player avatar it creates a new one each message but u can see the name since its in replicated storage
maybe make it hide the name ?
the one inplayer gui stacks over and over the more messages are send