Fulcrum's Guide to Role Granting [ 🟨 5/10] (See post 37)

Welcome to guide #5!

Today we’ll be making a role system to add to your games!
You can use this to make among us games, or any other ideas you can come up with!

What we'll be making


This system is more efficient than other role granters.

Materials list

Property x3 (30 memory)
Counter x2 (50 memory)
Relay x2 (40 memory)
Trigger x1 (540 memory)
Lifecycle x1 (50 memory)
Popup x1 (50 memory)


Let’s get started!

Step 1: Properties

These are the settings for the properties.

Players with roles

Role being given

My role


Step 2: Counters

These are the settings for the counters.

Counter 1

image

image

Counter 2

image

image

image


Step 3: Trigger Loop

Setup your lifecycle like this:
image
Setup one of your relays like this:
image
Now wire that relay to the trigger:


Here are the settings for the trigger:
image
These settings can be found in the availability section.

Now for my favorite part…
CODE!
Add a new block in the trigger and make this:
image
Here’s what to put for the if condition:


[1]


Step 4: Ending the Loop

Wire counter 2 to the second relay like this:


Here are the settings for that relay:
image
Now the role system is done! But how will the player know what role they got? Let’s add a display!
Get the popup and give it these settings:

Now make a new block that activates when receiving on the channel all roles given. Set it up like this:
image


The great part about this role granter is that it’s customizable. You can add as many roles and as many people per role as you want! I made a system with 2 special roles and 1 person per role. The rest of the players are “normies”. Here’s how to change it!

How to change the number of roles

The number of roles is controlled by counter 2. Change the target to be however many special roles you want plus 1. I have 2 special roles, so I set the target to 3.
image
But if you wanted 5 roles, you would set it to 6.
Then you have to add on to the popup code to display the roles. You can do that by clicking the gear on the if check and adding on the same number of else ifs as roles you have.


How to change the amount of people per role

The amount of people per role is controlled by counter 1. Just set the target to be how many people you want per role. I set mine to 1.
image
But if you want 3, set the target to 3.


That was quite a lot, wasn’t it? How does this even work?

How it works

First, we have our lifecycle start the loop by broadcasting give role. The relay receives this and activates for 1 random player. This activates the trigger for that player which adds their name to a property, sets their role, and increases counter 1. Then it broadcasts give role which the relay receives again. It does the same thing as last time, but what if the random player we sent it to last time receives it again? We can prevent this by checking the property we stored the players name in to see if we’ve already given them a role using the in [text] find first occurrence of [text] block. Now when we want to change the role we’re granting, when counter 1 meets its target, we broadcast an increase to counter 2 and reset counter 1. When counter 2 meets its target, we send a message to everyone using another relay that disables the trigger ending the loop and reveals your role.

Limitations

Can’t set a unique amount of people per role for every role.
Won’t stop loop if there’s not enough players.
Could break if 2 people with the same name enter the game.


And that’s it! Congratulations, you made a role granter! Hopefully you enjoyed this guide and will find it useful!

If you have any questions, reply to this and someone will be happy to help!

Have fun building! -@Fulcrum-19

Rate my guide?
  • Amazing!
  • It’s ok…
  • Needs more pictures.
  • Needs more text.
  • Bad.
0 voters
What’s the difficulty?
  • 1/10
  • 2/10
  • 3/10
  • 4/10
  • 5/10
  • 6/10
  • 7/10
  • 8/10
  • 9/10
  • 10/10
0 voters

  1. You found the easter egg! :egg: this is my first time doing this. I’m going to add one of these in every guide I make!
    What you should do: reply to this telling me how much you like (or hate) this guide and put an egg emoji at the bottom of your reply! ↩︎

9 Likes

nice guide! i’m glad it’s complete. I like how you designed this… that’s pretty good! :egg:

1 Like

Wait, there isn’t a guide about role granting till just now? Wow.

Great Guide!

@Chris10 :egg:

T h e S a c r e d E g g

1 Like






1 Like

lol lets not get off topic

3 Likes

k

I bet most people will use this for something like MM2 or Cops and Robbers.

I can predict futures.

1 Like

Well, there are, they just aren’t that good.

1 Like

Screen Shot 2024-06-05 at 11.28.28 AM
how is this an option :skull: :skull: :skull:

2 Likes

I found this guide a while back for ideas on roles to grant.
Might be a helpful addition to this guide.
Overall, I really like this guide!
It’s really cool, and can help many people. I love how much effort you put in into the photos and explanations. Good Job :+1:
I do it differently, and will always do it differently, but still a nice guide

7 Likes

Awesome guide Fulcrum_19!

lol just asking

ahem
the like button is there for a reason blud
if you’re gonna say short,choppy compliments or agree with someone just :heart: their reply.

3 Likes

@Fulcrum-19 , I LOVE the guide, but what would I change if I wanted 4 roles?

You need to change the target value of counter 2 in step 2.

Following this logic, if you wanted to make 4 roles, you would set the target value of counter 2 to 5.

2 Likes

Thank you so much! But how will innocent aka the role most people get, how will the pop up show up for all the people except those certain special roles people?

@Fulcrum-19 , like, my class is going to be playing this, so how do I make it so only 1 person gets doctor, sheriff, and murderr, but everyone else gets innocent?

1 Like

This is very good!
:egg:

So you only have 3 special roles, so what you want to do is actually set the target value of counter 2 to 4, then you can set the roles that the popup displays from role 1 to 3, then add an else statement at the end and set the popup to display the normal role.

1 Like