Ban Player Name (Advanced)

Disclaimer

This guide was produced by Toothless Inc Corp. This is not recommended with anybody with brain age less than 13. Symptoms from this guide may include crashing out, rage-quitting and a weird feeling of saying brainrot. If you are experiencing any of these conditions call 111-111-1111 for Brain rot help and 111 to patch you in with the nearest mental asylum. We are not responsible for any of these symptoms. Report bugs if found.


Now, I need you to bear with me before flagging this guide, I have a very good reason for publishing this post to the community. Apparently there was a dupe guide on how to ban certain player names, a user gave other guides to prove how the post was a dupe. I was naturally intrigued and went through the given links.


The Reason

After hours (4 minutes) of meticulously researching the systems, I’ve come to a conclusion that they are in need of an update. My reason, they can be easily bypassed.

Now, normal systems like those of chatting are still not fully able to keep out inappropriate words or player names. However, I believe they can still do more such as identifying randomly capitalized words.

For example, as per the Gimkit systems we have currently, if a ban word was “eatturtles”. A player could name themselves “eAtTuRtlES” and get away with it. My system (hopefully), will get rid of this problem and limit how easily people can bypass such banned words.


Breakdown

Breakdown

Alright, so how are we going to do this?

  • UPPERCASE and lowercase letters:
    Since we want to convert any uppercase letters to lowercase, we’d want to make two different properties. One that holds all the lowercase letters and another that holds all the uppercase.
  • If statement to identify letters:
    Since we both our properties are basically identical in index (as both contain the entire alphabet), this will mean A and a will have the same index. Which means when we iterate through each letter, we can compare if we have an Upper case letter, and if we do, we can grab it’s index and use that to find it’s lower case counterpart since they both have the same index.
  • Reconstruction:
    We need to recreate the name over each iteration to develop an entirely lowercase version of it (this would mean that our banned work would need to be lowercase so they can be compared).
  • Identification:
    Pretty easy part, just slap on the two words and see if they match

Properties

Properties

Here’s the properties I used

Name Type Default Value Usage
iteration Number 1 This is for iterating through the player’s name and to try and find any upper case letters to change to lower case.
Banned Word Text [insert your banned word] This is for final comparison between the recreated name and the banned word, this is the final check to see if the name matches.
lowerLetters Text abcdefghijklmnopqrstuvwxyz For recreation of name
upperLetters Text ABCDEFGHIJKLMNOPQRSTUVWXYZ For recreation of name
recreationOfName Text This is where the letters will be placed to create a lowercase version of the name
System

System

Ok, this is actually one of my shorter guides considering the fact this is all done on one trigger.

Anyways, so grab a trigger, and have it broadcast on nextIteration. You’ll also need a separate device to activate the trigger, maybe a life-cycle on game start or something else.

Add this code.

And preformatted code.

set 'iteration' to - Get Property- "iteration"
if 'iteration' ≠ ([length of-Get Property-"Banned Word"]+1) 
  do: set 'nameIteration' to- in text [Triggering Players Name] get letter # 'iteration'
  if [in text (Get Property-"lowerLetters") find first occurrence of text ('iteration')] ≠ 0
    do: Set Property-"recreationOfName"
        Value: create text with
        |Get Property-"recreationOfName"
        |'nameIteration'*
    else: Set Property- "recreationOfName"
        Value: create text with - Get Property "recreationOfName"
                                in text - Get Property "lowerLetters"- get letter # [in text-Get Property: "upperLetters"] find first occurence of text 'nameIteration'
  Set Property - "iteration"
      Value - 'iteration' + 1
  Broadcast Message On Channel - "nextIteration"
else: if Get Property-"recreationOfName" = Get Property- "BannedWord"
         do: Broadcast Message On Channel- "nameNotAllowed"

* Hopefully you saw the asterisk. Anyways, I’m writing this because you might have noticed part of the pre-formatted code isn’t identical to the screenshot. Well I realized I wasted some blocks and replaced it with the nameIteration variable which had the original use of REPLACING that code. So don’t worry about ti.


Explanation

Explanation

My least favorite part of the guide!

Ok, so basically we use our iteration property and check if it’s equal to the length of the Banned word. This is under the assumption if you do give yourself a bad word, it would match up with the length of the name [1]

Now after this, we grab the index value of the player name and save it in the nameIteration variable. For example, if in eAtTurTle, it would grab “e”, since the iteration property is 1. Now using this letter, we check if it exists in the lowercase letter property, if it exists, it would return its index.

Using that index number, we do into the recreationOfName property and add the previous version of it (which is nothing since this is the first iteration) and the letter. This would make it “e”.

After this it increases the iteration property by 1 and restarts the process. Moving onto the next letter “A”. You can already see that it won’t exist in the lower case letter property, so we go to the else and again recreate the letter, except this time we find the index number A has in the upper case letter property and use that index to find “a” in the lower case. This works since “A” would have an index 1 in the upper case property. Now, using one, we find that letter in the lowercase, and “a” sits there. That’s because the alphabet is matched up with its other counterpart (B with b, Z with z, you get the point)

Now we keep doing this until we reach the same length as our BannedWord property. This goes under the assumption that if the player did use an inappropriate word as their name, it would match the same length. Again, spaces would disrupt this. Now, in the case the player didn’t use spaces, with the decoded name to be all lowercase, we would compare this to the banned word and see if we get a match. After that it’s up to you what you want to happen to the player.


Useful?

There’s still a bit more to add, like spaces in the name and special characters to act as substitutes for letters (@ for a, ! or 1 for i). But honestly, your best bet is to just kick the player as a host and ask them to change their name.

Anyways, hope this was helpful. Hmm, yes, try avoiding saying 'Good Guide!" without saying something actually helpful, like maybe suggestions to make this a better guide.


  1. Spaces in the name will harm this part of the system, since e a turtle isn’t the same the same length as eatturtle. ↩︎

14 Likes

Isn’t this quoted from one of the guides? I think you should at least quote the guide or credit it

I’ll review and rate tmrw so yeah idk what to rate it yet

Yes, I said that and was repeating it.

1 Like

Oops my bad, missed the part :sweat_smile:

1 Like

This gave me an idea to make a MORE advanced system on banning names.. like rearranging, spaces, extra letters, and stuff
I might make it a guide, if I have time
Anyways, good guide

2 Likes

Yeah that still needs to be figured out.

I already have sort of an idea on what to do, I just need the will power to do it.

1 Like

so, let’s say I want to detect the name “read_toothless_bio” because advertising.

say someone joins with said name. Instead of banning them, could be bring them into a separate area, say if it’s a puzzle game you need an alt to join with a specific name to unlock the next level and whatnot? that would be cool.

toothless is awesome puzzle game would go crazy

4 Likes

Alr time to rate

Pros

  • Bro i cant even talk about the intro and conclusion its just too good
  • DISCLAIMER
  • Took smth REALLY advanced and made it simple
  • …

Cons:

  • add the links you researched with maybe? that’s how I missed the crediting anyway.
  • [detail] the parts maybe?

W guide

9.5/10 Overall

1 Like

They didn’t exactly research using any forum links anyways
It’s decently detailed, I believe anyone capable of opening block code in gim would be able to do it

I could mention the device topic that was asking about using the Player ID for ban name. That was when I got the idea.

What more could I say? You add a trigger and block code that’s literally it :skull:

1 Like

he means

dropdowns.

3 Likes

bro how bad are you tryna keep the opps out :sob: :folded_hands:

7 Likes