Reply: Can not add the the Author text and the name who built the level in MBG

NOTE: You are posting the message as a 'Guest', you can not edit the message or delete it
Please Log in or Register to skip this step.
X

Topic History of: Can not add the the Author text and the name who built the level in MBG

Max. showing the last 20 posts - (Last post first)

  • RandomityGuy
  • RandomityGuy's Avatar
02 May 2025 13:19

Hello,
I've checked your log:

Code:
marble/client/ui/playMissionGui.gui Line: 702 - Syntax error. >>> Advanced script error report. Line 1403. >>> Some error context, with ## on sides of error halt: %prev = 0; PM_prev.command = "PM_setSelected(" @ %prev @ ");"; }## ##

You have a syntax error, upon investigating it, it seems like you have not matched the braces correctly.
Code:
PM_description.setValue(shadow("1 1", "0000007f") @ "<font:Marker Felt:26><color:fdfefe><just:center>#" @ (%mission.level+0) @ ":" SPC upperFirst(%mission.name) NL shadow("1 1", "0000007f") @ "<font:Marker Felt:18><color:f4efe3><just:center>Author: " @ %mission.artist NL "<just:left><color:f4e4ce>" @ %mission.desc); // remove this - redundant } // remove this PM_description.setValue( %descText );
Please remove the lines of code that I have commented above.

Also, it's recommended to properly indent code as well as user a text editor such as VSCode or Notepad++ which have automatic brace matching capabilities so you'll know when you have missed any or added one too many.

  • BRD
  • BRD's Avatar
02 May 2025 13:10

It's still not working!

Attachments:
  • thearst3rd
  • thearst3rd's Avatar
02 May 2025 01:22

Hi BRD -

This change should be relatively simple to make. Check out this snippet from the code you attached:

(PlayMissionGui.gui, line 650)

Code:
// set the preview info %levelText = "<font:DomCasualD:24><just:center>" @ upperFirst(%mission.type) @ " Level " @ (%mission.level+0); PM_level_fgnd.setText("<color:FFFFFF>" @ %levelText); PM_level_bkgnd.setText("<color:000000>" @ %levelText); %descText = "<spush><font:DomCasualD:24>" @ %mission.name @ "<spop><lmargin:10>\n\n" @ %mission.desc; if(%mission.time) %descText = %descText @ "<spush><font:DomCasualD:24><lmargin:0>\nTime to Qualify: " @ formatTime(%mission.time) @ "<spop>";


What this is doing is taking several fields out of the "mission" object (where "mission" is just a name for a level), and its using those values to fill up some text. If you want to add an author to that text, you can check if there is an "artist" inside the mission. Some of the levels in MBG already have that, like you can see if you open up the file for Learning to Roll (movement.mis):
Code:
//--- OBJECT WRITE BEGIN --- new SimGroup(MissionGroup) { new ScriptObject(MissionInfo) { type = "Beginner"; startHelpText = "Press <func:bind moveforward> to roll the marble forward!"; name = "Learning to Roll"; desc = "A very simple level to help you get used to rolling around. Follow the track around and roll on to the exit pad to finish the level."; level = "1"; artist = "Alex Swanson"; goldTime = "4750"; };

To make use of that artist value, you can write "%mission.artist", and it will get whatever the artist is. Then, you can write that artist into the code. So, maybe it will look something like this:
Code:
// set the preview info %levelText = "<font:DomCasualD:24><just:center>" @ upperFirst(%mission.type) @ " Level " @ (%mission.level+0); PM_level_fgnd.setText("<color:FFFFFF>" @ %levelText); PM_level_bkgnd.setText("<color:000000>" @ %levelText); %descText = "<spush><font:DomCasualD:24>" @ %mission.name @ "<spop><lmargin:10>\n\n" @ %mission.desc; if(%mission.artist) %descText = %descText @ "Level created by: " @ %mission.artist @ "\n\n"; if(%mission.time) %descText = %descText @ "<spush><font:DomCasualD:24><lmargin:0>\nTime to Qualify: " @ formatTime(%mission.time) @ "<spop>";

The new code is what starts with "if(%mission.artist)", and it will take the artist value from the mission and put it into the description.

Hopefully this code example will help!

  • BRD
  • BRD's Avatar
30 Apr 2025 01:40

How can I get the Author text and the name who built the level in MBG's Playmissiongui.gui? 

Attachments:
Time to create page: 0.660 seconds