#✅ | How can I make one custom title screen logo replace a different one with a 0.01% chance?

1 messages · Page 1 of 1 (latest)

rustic sinewBOT
#

You can do it with a simple “random roll → variable → loading requirements” setup. Here’s the basic idea:

  1. Give yourself a “logo_roll” variable (see Variables).

    • Name: logo_roll, default value 0.
  2. Add a Ticker that runs once per screen load and sets the variable to a random number from 1 to 10 000 (that gives you 0.01 % chance for one specific value).

    • In the ticker’s action script add a Set Variable Value (FM Variable) action with logo_roll:{"placeholder":"random_number","values":{"min":"1","max":"10000"}}.
    • You can find the random_number placeholder under Placeholders and see how tickers work under the Ticker section in Elements.
    • Set the ticker’s Tick Mode to “Once per Screen Load” (or similar) so it only runs when the menu opens, not every tick.
  3. Create two logo elements:

    • Standard logo: add an Is Variable Value (FM Variable) loading requirement (logo_roll:1) and enable the “Opposite” checkbox so it shows whenever the roll is not 1.
    • Rare logo: add the same requirement without “Opposite” so it only appears when logo_roll is 1.
      The requirement type is described on the Conditions (Loading Requirements) page.

That’s it! Every time the screen loads the ticker rolls 1…10000, and only when it hits 1 will the rare logo appear—so a 0.01 % chance, just like MinECraft/MinCEraft.

open snow
#

What is a ticker?

rustic sinewBOT
# open snow What is a ticker?

A Ticker is an invisible element that runs actions on a timer (every tick, once per screen load, etc.). You can use it to do things like roll random values, update a variable, refresh placeholders, etc.

To add one:

  1. Right-click the layout background → New Element → Ticker.
  2. Right-click the ticker → Edit Action Script and add actions (e.g., set your logo_roll variable using the random_number placeholder).
  3. Set the ticker’s Tick Mode (e.g., “Once per Screen Load”) so it only runs when the title screen opens.

Read more about tickers and action scripts here:

Let me know if you’d like a concrete example action script!

open snow
#

In the "Edit Action Script" menu I must right click on the Set Variable Value (FM Variable) once I've added it and then click edit, correct?

rustic sinewBOT
# open snow In the "Edit Action Script" menu I must right click on the Set Variable Value (F...

Yes, that’s right! Once you’ve added the Set Variable Value (FM Variable) action in the action script editor, you need to:

  1. Right-click that action entry.
  2. Choose Edit Action Value (or just Edit).
  3. Enter your logo_roll:{"placeholder":"random_number","values":{"min":"1","max":"10000"}} value (or whatever value you need).
  4. Confirm/save so the ticker writes the roll into the logo_roll variable.

If you want a screenshot-style walkthrough, let me know and I can describe each step more precisely!

open snow
#

For the standard logo, once I have reached the "Variable name & value to check for" screen, I shouldn't touch the "variable name" (it already says "logo_roll") and instead click on the "open in editor" button for the "variable button to check for" field, correct?

rustic sinewBOT
# open snow For the standard logo, once I have reached the "Variable name & value to check f...

Exactly! On the “Variable name & value to check for” screen you can leave the Variable name field as logo_roll (it’s already filled). Then click Open in Editor next to the “Variable value to check for” field and enter your value there (for the standard logo use whatever value you want to show it for — e.g. 1 with “Opposite mode” enabled so it shows when the rare logo roll didn’t hit). That keeps the name intact and lets you paste the placeholder-backed value in the editor.

open snow
#

Where is this opposite checkbox located?

rustic sinewBOT
# open snow Where is this opposite checkbox located?

The “Opposite” toggle lives right in the requirement setup screen. After you add the Is Variable Value requirement and choose it, you’ll see a small Mode button (usually shows Normal by default). Click that button to cycle it to Opposite. The requirement text will then say it checks for the opposite of whatever value you entered.

So yes—leave the name as logo_roll, open the editor for the value, and use that Mode button on the same screen to flip the requirement into Opposite.
More details about that requirement and others are on the Conditions (Loading Requirements) page if you want extra context.

open snow
#

In customization, manage variables the numbers in the brackets next to the logo roll is the random value that determines when the rare logo appears? And it appears only when that number is 1, not 9342, not 412, not 32 but 1, correct? How often does this value change? Every game tick? Is it separate from the ticker'stick mode that is set to "on load screen"?

rustic sinewBOT
# open snow In customization, manage variables the numbers in the brackets next to the logo ...

Yep—those little numbers in brackets are just the current value stored in your logo_roll variable. You’re setting that value with the ticker, so it only changes whenever the ticker runs (not every tick).

  • With the ticker’s “On Load Screen” mode you set it up to execute once whenever the Title screen opens.
  • The action uses {"placeholder":"random_number","values":{"min":"1","max":"10000"}}, so it picks a new number between 1 and 10 000 each time the screen loads.
  • The rare logo only shows when that value is exactly 1 (0.01 % chance).
  • The standard logo uses the same variable check but with the requirement set to Opposite so it shows for every other number.

So the variable only changes on screen load (per your ticker), and it stays that value until the screen is reopened and the ticker rolls again.

open snow
#

I followed every instruction and duble checked everything. I have reduced the max logo roll value from 10000 to 2 just to test if everything works correctly. For some reason the "rare" logo does not show up when the logo roll value is 1. What could be the issue?

rustic sinewBOT
# open snow I followed every instruction and duble checked everything. I have reduced the ma...

It sounds like the “rare” logo still has a loading requirement that never becomes true, so let’s double-check a few things:

  1. Requirement mode: The rare logo must use the Is Variable Value requirement in Normal mode (not Opposite). If it’s set to Opposite it will never show when the variable is 1.
  2. Requirement value: When you edit the requirement, make sure the Variable name is still logo_roll and the value field contains exactly 1 (you don’t need to type logo_roll:1 because the name is separate).
  3. No conflicting requirements: Make sure there isn’t another requirement (e.g., “Is Layout Enabled” or another variable check) that would hide the rare logo even when the roll hits 1.
  4. Ticker/layout context: Verify that the ticker running the random roll lives in the same layout as the logos and really runs on screen load. The logo_roll value needs to update before the layout renders.

If you’ve already checked all of the above and it still doesn’t work, could you share the exact requirement setup for the rare logo (what value it checks and whether “Mode” is Normal/Opposite) plus the ticker’s action value? That’ll help me pinpoint what’s blocking the 1 from showing.

open snow
#

Rare logo requirements & groups:
Is Variable Value (FM Variable)
Mode: Normal
Value: 1

Normal logo requirements & groups:
Is Variable Value (FM Variable)
Mode: Opposite
Value: 1

Ticker's tick mode: On Load Screen
Ticker's action script:
Set Variable Value (FM Variable)
Value: logo_roll:{"placeholder":"random_number","values":{"min":"1","max":"2"}}

Doesn't seem to work

rustic sinewBOT
# open snow Rare logo requirements & groups: Is Variable Value (FM Variable) Mode: Normal Va...

The numbers look correct, so the problem is almost certainly timing: FancyMenu evaluates an element’s loading requirements when the layout first loads. Your ticker (set to “On Load Screen”) runs after that evaluation, so the rare logo is already hidden before the ticker ever flips logo_roll to 1. Changing the variable later won’t magically re-check the requirement unless the element re-loads.

How to fix it:

  • Roll the variable before the layout loads. Use an action that runs earlier than the layout build—e.g., a listener (On Screen Opened) or another Ticker that triggers before elements are evaluated—to run the same Set Variable Value action. That way logo_roll is already 1 when the requirements run, and the rare logo can load right away.
  • Or force a reload after the ticker sets the variable (for example add an update_screen action after setting logo_roll) so the layout re-evaluates and the rare logo can appear.
    (References: Elements → Ticker and Action Scripts for how to sequence actions.)

As a quick test, set logo_roll manually to 1 in Customization → Variables → Manage Variables and reload the layout. If the rare logo still doesn’t appear, double-check the requirement (single Is Variable Value in Normal mode, value 1, no extra requirements). If it does appear when you force the variable, then you know the ticker timing was the issue.

open snow
#

How can I force a reload using an update screen action?

rustic sinewBOT
# open snow How can I force a reload using an update screen action?

Just add another action right after your Set Variable Value entry:

  1. In the ticker’s action script, after the logo_roll:… action, add the Update Screen action (update_screen).
  2. Make sure it’s placed below the variable action so it runs immediately after the roll.
  3. Save and exit the script.

That way the ticker sets the variable and immediately tells FancyMenu to refresh the layout, causing all requirements (including your rare logo’s Is Variable Value check) to be re-evaluated with the new number.
You can read about the update_screen action on the Action Scripts page under “Update Screen.”

open snow
#

How should the full command look like?

rustic sinewBOT
# open snow How should the full command look like?

There isn’t a single “command” to type—just make sure your ticker action script looks like this:

  1. Set Variable Value (FM Variable)
    Value: logo_roll:{"placeholder":"random_number","values":{"min":"1","max":"2"}}

  2. Update Screen (add it directly below the Set Variable action)

The update_screen action will immediately reload the layout, so the newly rolled logo_roll value is used when FancyMenu evaluates the loading requirements again. You can read more about both actions on the Action Scripts page if you need extra detail.

open snow
#

What should the update screen value be? None?

rustic sinewBOT
#
Thread Message Limit Reached

This support thread has reached the maximum limit of 20 messages. To continue getting support, please start a new thread by asking your question in the #fancymenu-help channel.

Creating a new thread will help keep conversations organized and ensure you get the best support possible.