This is a big community thread for everything not included in Trosh's documentation.
You might find something here really useful!
If you find any awesome tips, tricks or undocumented features in Mari0 SE, please post on this thread!
Shortcuts:
Animation system
Enemies
Characters
Miscellaneous
Other Tips
Other Tricks
_______________
Animation system:
Triggers:
^ - Indicates a repeating trigger, which will trigger each update. Use the "Disable this animation" action to make it run only once
^ After seconds:
Triggers after X seconds
Animation trigger:
Triggers if a certain animation id is activated - to be used with the animation trigger entity.
On map load:
Triggers when any map loads
Tip: triggers after you die on the same map too.
^ Players x / y position < / >:
Triggers after a player x or y position is greater or lesser than a certain x or y position on a map
Tip: Count tiles to where you want it to trigger.
^ After seconds:
Triggers after X seconds
Animation trigger:
Triggers if a certain animation id is activated - to be used with the animation trigger entity.
On map load:
Triggers when any map loads
Tip: triggers after you die on the same map too.
^ Players x / y position < / >:
Triggers after a player x or y position is greater or lesser than a certain x or y position on a map
Code: Select all
> = Greater than
< = Lesser than
X ----->
Y
|
|
|
v
Level is number:
Triggers only if the level number is X
Map started here:
Triggers only if you didn't change from a sub-level
World is number:
Triggers only if the world number is X
Sublevel is number:
Triggers only if sub-level number is X
Triggers only if the level number is X
Map started here:
Triggers only if you didn't change from a sub-level
World is number:
Triggers only if the world number is X
Sublevel is number:
Triggers only if sub-level number is X
Game logic:
Add coins:
Adds coins to the coins counter
Tip: This can be used to give players an extra life (100 coins).
Add points:
Adds points to the points counter.
Change time left:
Changes the map time to X
Enable/Disable scrolling:
Snaps or un-snaps the camera to/from the first player.
Tips: When disabled, the camera will not go anywhere unless another action alters it.
Enable/Disable this animation:
Enable/Disables the current animation for use again.
Tips: Use "Disable this animation" at the beginning of the action table so the animation will only execute once.
Set camera to x/y:
Snaps the camera to the specified x/y position.
Pan camera to x/y:
Smoothly moves the camera to the specified position in the specified amount of seconds
Tips: The next actions do not wait for the camera to finish panning, so use "Sleep/Wait" in the same amount of time this action is using.
Shake the screen:
Shakes the screen with the specified amount of force.
Tips: The effect is best used with repeating triggers.
Tips: The "force" is how many pixels away from the center the screen will shake.
Tips: This purely affects the camera, controls and other stuff will not be changed.
Sleep/Wait:
Waits until the specified amount of seconds have passed to activate the next action.
Tips: You're going to use this a lot.
Player controls:
Animate to walk:
Makes the specified players move in the specified direction.
Tip: Use "Stop Player Animations" to stop this action.
Make jump:
Makes the specified players jump at maximum height.
Tip: You can use "Stop jumping" to make short jumps.
Enable/Disable aiming:
Enable/Disables the specified players ability to aim with the mouse.
Tips: Use this with "Make player aim to deg" to make the player face any direction in a scripted sequence.
Tips: While the player can not aim, the player can still shoot portals, keep mind of this.
Enable/Disable portal gun of:
Enable/Disables the specified players ability to fire portals.
Enable/Disable controls:
Enable/Disables the specified players ability to do anything.
Tips: This is almost mandatory for cutscenes or scripted sequences.
Make player aim to deg:
Makes the specified player aim at the specified degree.
Tips: Doesn't quite work if the player still has control of their aim.
Make fire portal:
Makes the specified player fire a specified portal color.
Tips: Use after "Make player aim to deg" to automatically place a portal in a scripted sequence.
Close portals:
Makes the specified players close their portals.
Kill player:
Kills the specified player.
Set player x/y:
Teleports the specified players x or y position in the map.
Tips: While it does teleport the player, it does not stop the player from moving. So if mario is running, mario will still be running after the teleport.
Map controls:
Change background color:
Changes background color to the following RGB numbers.
Load level:
Changes the world and level to the specified numbers.
Tips: You can use this to load a non-existent world and beat the mappack!
Play music:
Plays the specified music.
Tips: If the same song is already playing, it will override it and try to play again, so its best not to do this with repeating triggers.
Miscellaneous
Create dialog:
Creates a text box with the following message
Tip: The logic does not wait until all the text is typed in, so use this to cleverly time a certain action to a certain line of dialog.
Tip: The dialog will take about 6-7 seconds to automatically close after all the text has been typed in
Destroy dialogs:
Closes any dialog box that might be displaying at that time.
Add coins:
Adds coins to the coins counter
Tip: This can be used to give players an extra life (100 coins).
Add points:
Adds points to the points counter.
Change time left:
Changes the map time to X
Enable/Disable scrolling:
Snaps or un-snaps the camera to/from the first player.
Tips: When disabled, the camera will not go anywhere unless another action alters it.
Enable/Disable this animation:
Enable/Disables the current animation for use again.
Tips: Use "Disable this animation" at the beginning of the action table so the animation will only execute once.
Set camera to x/y:
Snaps the camera to the specified x/y position.
Pan camera to x/y:
Smoothly moves the camera to the specified position in the specified amount of seconds
Tips: The next actions do not wait for the camera to finish panning, so use "Sleep/Wait" in the same amount of time this action is using.
Shake the screen:
Shakes the screen with the specified amount of force.
Tips: The effect is best used with repeating triggers.
Tips: The "force" is how many pixels away from the center the screen will shake.
Tips: This purely affects the camera, controls and other stuff will not be changed.
Sleep/Wait:
Waits until the specified amount of seconds have passed to activate the next action.
Tips: You're going to use this a lot.
Player controls:
Animate to walk:
Makes the specified players move in the specified direction.
Tip: Use "Stop Player Animations" to stop this action.
Make jump:
Makes the specified players jump at maximum height.
Tip: You can use "Stop jumping" to make short jumps.
Enable/Disable aiming:
Enable/Disables the specified players ability to aim with the mouse.
Tips: Use this with "Make player aim to deg" to make the player face any direction in a scripted sequence.
Tips: While the player can not aim, the player can still shoot portals, keep mind of this.
Enable/Disable portal gun of:
Enable/Disables the specified players ability to fire portals.
Enable/Disable controls:
Enable/Disables the specified players ability to do anything.
Tips: This is almost mandatory for cutscenes or scripted sequences.
Make player aim to deg:
Makes the specified player aim at the specified degree.
Tips: Doesn't quite work if the player still has control of their aim.
Make fire portal:
Makes the specified player fire a specified portal color.
Tips: Use after "Make player aim to deg" to automatically place a portal in a scripted sequence.
Close portals:
Makes the specified players close their portals.
Kill player:
Kills the specified player.
Set player x/y:
Teleports the specified players x or y position in the map.
Tips: While it does teleport the player, it does not stop the player from moving. So if mario is running, mario will still be running after the teleport.
Map controls:
Change background color:
Changes background color to the following RGB numbers.
Load level:
Changes the world and level to the specified numbers.
Tips: You can use this to load a non-existent world and beat the mappack!
Play music:
Plays the specified music.
Tips: If the same song is already playing, it will override it and try to play again, so its best not to do this with repeating triggers.
Miscellaneous
Create dialog:
Creates a text box with the following message
Tip: The logic does not wait until all the text is typed in, so use this to cleverly time a certain action to a certain line of dialog.
Tip: The dialog will take about 6-7 seconds to automatically close after all the text has been typed in
Destroy dialogs:
Closes any dialog box that might be displaying at that time.
Movement:
Movement Types:
"Wiggle": Enemy wiggles back and forth, think hammer bros.
"Wiggledistance"
How far the enemy will wiggle.
"Wigglespeed"
How fast the enemy will wiggle.
"Shell":
"Wiggletime"
How long the turtle wiggles before it get backs up.
Movement actions:
"Jumps"
If the enemy will jump.
"JumpTime"
How long before the enemy jumps again.
"JumpForce"
How fast the enemy will jump up.
"JumpForceDown"
How fast the enemy will jump down.
"Wiggle": Enemy wiggles back and forth, think hammer bros.
"Wiggledistance"
How far the enemy will wiggle.
"Wigglespeed"
How fast the enemy will wiggle.
"Shell":
"Wiggletime"
How long the turtle wiggles before it get backs up.
Movement actions:
"Jumps"
If the enemy will jump.
"JumpTime"
How long before the enemy jumps again.
"JumpForce"
How fast the enemy will jump up.
"JumpForceDown"
How fast the enemy will jump down.
"MakesMarioGrow"
If true, the enemy makes the player grow on contact with it.
"GivesALife"
If true, the enemy gives the player a life on contact with it.
"SpawnMax"
The maximum this enemy will spawn other enemies.
"SpeedXTowardsPlayer"
If true, the enemy will head in the direction of the player when spawned, based on speedx.
"Transforms"
If true, the enemy will transform by "transformtrigger" into "transformsinto".
"Transformsinto"
If triggered, the current enemy will transform into the specified enemy.
"Transformtrigger"
The trigger for enemy transformation, only works if "transforms" is true.
Current options:
"Stomp"
"Floorcollide"
Tip: This could be used to make an enemy with health, with separate enemies for each stages of health!
"DoesntFlyAwayOnFireball"
If true the enemy disappears instantly when hit by a fireball.
"NoCollideStops"
Allows you to collide with the player and pass through walls, used for bullet bills.
"StartTowardsPlayerHorizontal"
If you can figure out what this does, it would be greatly appreciated.
"Rotation"
Sets the image rotation (Radians) for the enemy, note that the enemy will automatically rotate back in a second.
"Dead"
If true, the enemy dies on spawn.
"Kill"
Same as "Dead".
If true, the enemy makes the player grow on contact with it.
"GivesALife"
If true, the enemy gives the player a life on contact with it.
"SpawnMax"
The maximum this enemy will spawn other enemies.
"SpeedXTowardsPlayer"
If true, the enemy will head in the direction of the player when spawned, based on speedx.
"Transforms"
If true, the enemy will transform by "transformtrigger" into "transformsinto".
"Transformsinto"
If triggered, the current enemy will transform into the specified enemy.
"Transformtrigger"
The trigger for enemy transformation, only works if "transforms" is true.
Current options:
"Stomp"
"Floorcollide"
Tip: This could be used to make an enemy with health, with separate enemies for each stages of health!
"DoesntFlyAwayOnFireball"
If true the enemy disappears instantly when hit by a fireball.
"NoCollideStops"
Allows you to collide with the player and pass through walls, used for bullet bills.
"StartTowardsPlayerHorizontal"
If you can figure out what this does, it would be greatly appreciated.
"Rotation"
Sets the image rotation (Radians) for the enemy, note that the enemy will automatically rotate back in a second.
"Dead"
If true, the enemy dies on spawn.
"Kill"
Same as "Dead".
Guide:
Guide to creating a custom character:
To begin: Inside your /LOVE/mari0_se, create a folder called "characters" - this is where all your custom characters will go.
Step 1a: Copy a character from the game and rename it as a reference.
Step 1b: Create a folder with the name of your character inside the characters folder.
Step 2: Inside your folder, create a config.txt with all your characters information (Use the reference to help you with that!).
TIP: If no config.txt is included, the game will not recognize your character and thus wont include it in the game.
Step 3: Name your spritesets!
Note that if your character has colors, you will have to name the spritesets like below but with a number added at the end (example0.png - example3.png), 0 being no color.
Required:
animations.png - Small mario animations.
biganimations.png - Big mario animations.
Optional:
nogunanimations.png - Small mario animations without the portal gun.
nogunbiganimations.png - Big mario animations without the portal gun.
animationsdot.png - Small mario portal gun light, useful for custom portal colors!
biganimationsdot.png - Big mario portal gun light.
Step 4: If you have sprited and configured everything correctly, it should show up in the options menu and not crash.
Congratulations, you have a custom character!
To begin: Inside your /LOVE/mari0_se, create a folder called "characters" - this is where all your custom characters will go.
Step 1a: Copy a character from the game and rename it as a reference.
Step 1b: Create a folder with the name of your character inside the characters folder.
Step 2: Inside your folder, create a config.txt with all your characters information (Use the reference to help you with that!).
TIP: If no config.txt is included, the game will not recognize your character and thus wont include it in the game.
Step 3: Name your spritesets!
Note that if your character has colors, you will have to name the spritesets like below but with a number added at the end (example0.png - example3.png), 0 being no color.
Required:
animations.png - Small mario animations.
biganimations.png - Big mario animations.
Optional:
nogunanimations.png - Small mario animations without the portal gun.
nogunbiganimations.png - Big mario animations without the portal gun.
animationsdot.png - Small mario portal gun light, useful for custom portal colors!
biganimationsdot.png - Big mario portal gun light.
Step 4: If you have sprited and configured everything correctly, it should show up in the options menu and not crash.
Congratulations, you have a custom character!
Work in progress.
Attributes:
"Pegasus"
If true, the character can jump infinitely.
"dbljmppls"
If true, the character can double jump.
"Raccoon"
If true, the character will have all the abilities of raccoon mario.
Graphics:
"DefaultHat"
What the default hat for the character will be.
"NoPointing"
If true, the character will not use multiple quads for aiming.
"Colorables"
Dictates how many colors will be used, and what they will be called. Leave this out if you don't want to use any colors.
"DefaultColors"
What the default colors will be for all 4 players
"FlowerColor"
What fire mario colors will be for all 4 players
Animation:
"RunFrames"
How many running frames the image will use.
"JumpFrames"
How many frames when jumping the image will use.
"CustomFrames"
How many frames custom attributes such as "Raccoon" will use.
Attributes:
"Pegasus"
If true, the character can jump infinitely.
"dbljmppls"
If true, the character can double jump.
"Raccoon"
If true, the character will have all the abilities of raccoon mario.
Graphics:
"DefaultHat"
What the default hat for the character will be.
"NoPointing"
If true, the character will not use multiple quads for aiming.
"Colorables"
Dictates how many colors will be used, and what they will be called. Leave this out if you don't want to use any colors.
"DefaultColors"
What the default colors will be for all 4 players
"FlowerColor"
What fire mario colors will be for all 4 players
Animation:
"RunFrames"
How many running frames the image will use.
"JumpFrames"
How many frames when jumping the image will use.
"CustomFrames"
How many frames custom attributes such as "Raccoon" will use.
Hat Stacking:
(QwertymanO07)
You can stack hats by going into your options.txt, and finding "mariohats:[player#]:[hat#];". Put a comma before each hat number. (e.g. "mariohats:[player#]:[hat1#],[hat2#],[hat3#];")
You can stack hats by going into your options.txt, and finding "mariohats:[player#]:[hat#];". Put a comma before each hat number. (e.g. "mariohats:[player#]:[hat1#],[hat2#],[hat3#];")
00 - Nothing.
01 - (Default) Mario's hat.
02 - Tyrolean hat.
03 - Towering pillar of hats (Bowler, First).
04 - Towering pillar of hats (Redish Top Hat, Second).
05 - Towering pillar of hats (Boater, Third).
06 - Dr. Seuss's Cat in a Hats' Hat.
07 - Bird.
08 - Banana.
09 - Beanie & propeller.
10 - Toilet.
11 - Indian hat.
12 - Officers' hat.
13 - Crown.
14 - Top Hat.
15 - Batters' helmet.
16 - Bonk helmet.
17 - Brown Tweed cap. (Ye Olde Baker Boy.)
18 - Beanie. (Troublemaker's tossle cap.)
19 - Whoopee cap.
20 - Milkmans' hat.
21 - Aviators Helmet. (Bombing Run.)
22 - Superhero mask. (Bonk Boy.)
23 - Trilby. (Flipped Trilby.)
24 - Baseball cap. (Super Fan.)
25 - Fez & sunglasses. (Familiar Fez.)
26 - Santa Hat.
27 - Sailors' hat.
28 - Koopa Shell.
29 - Blooper Hat.
30 - Shy guy mask.
31 - Glasses.
32 - Jet set headgear.
33 - Rainbow dashes' hair.
01 - (Default) Mario's hat.
02 - Tyrolean hat.
03 - Towering pillar of hats (Bowler, First).
04 - Towering pillar of hats (Redish Top Hat, Second).
05 - Towering pillar of hats (Boater, Third).
06 - Dr. Seuss's Cat in a Hats' Hat.
07 - Bird.
08 - Banana.
09 - Beanie & propeller.
10 - Toilet.
11 - Indian hat.
12 - Officers' hat.
13 - Crown.
14 - Top Hat.
15 - Batters' helmet.
16 - Bonk helmet.
17 - Brown Tweed cap. (Ye Olde Baker Boy.)
18 - Beanie. (Troublemaker's tossle cap.)
19 - Whoopee cap.
20 - Milkmans' hat.
21 - Aviators Helmet. (Bombing Run.)
22 - Superhero mask. (Bonk Boy.)
23 - Trilby. (Flipped Trilby.)
24 - Baseball cap. (Super Fan.)
25 - Fez & sunglasses. (Familiar Fez.)
26 - Santa Hat.
27 - Sailors' hat.
28 - Koopa Shell.
29 - Blooper Hat.
30 - Shy guy mask.
31 - Glasses.
32 - Jet set headgear.
33 - Rainbow dashes' hair.
You can change the default graphics for everything without need for a mappack or mod.
You can download and use this as a reference:
Default Texturepack.
Create a folder named "graphics" inside your mari0_se directory, this is where all your custom images will go.
Replace what you want, as it follows the structure of mari0's internal graphics folder.
You can download and use this as a reference:
Default Texturepack.
Create a folder named "graphics" inside your mari0_se directory, this is where all your custom images will go.
Replace what you want, as it follows the structure of mari0's internal graphics folder.
Create a folder named "enemies" inside your mari0_se directory.
You can then drag the enemy .png and .json in as you would with a mappack.
This has good use for common enemy packs & memory efficient maps.
Though you will have to include a link to the enemy pack if you release such a mappack that requires this.
You can then drag the enemy .png and .json in as you would with a mappack.
This has good use for common enemy packs & memory efficient maps.
Though you will have to include a link to the enemy pack if you release such a mappack that requires this.
Create a folder named "shaders" inside your mari0_se directory.
Though this feature requires shader knowledge, you can drag a .frag file into the folder and mari0 should pick up on it.
Though this feature requires shader knowledge, you can drag a .frag file into the folder and mari0 should pick up on it.
Other Tips:
Hatninja: Animation system X and Y positions are counted in tiles.
Hatninja: Enemy graphics tend to work best under 8x8, 16x16, 32x32 and 64x64.
Hans1998: If you don't want to make a lot of tiles for a big object, you can set up a static enemy to have the whole graphic. This works for animated too.
Hatninja: In any Json formatted file you can add comments like so:
Hatninja: Enemy graphics tend to work best under 8x8, 16x16, 32x32 and 64x64.
Hans1998: If you don't want to make a lot of tiles for a big object, you can set up a static enemy to have the whole graphic. This works for animated too.
Hatninja: In any Json formatted file you can add comments like so:
Code: Select all
"_comment": "This is a comment!"
B-Man99: You can loop or alternate animations with any enemy by setting up a spot like this:
B-Man99: You can activate animations using a button by using an enemy spawner & animation region trigger.
B-Man99: You can create a sound player, by setting up an enemy to have a spawn sound and disappear instantly. Though, please note that this only works with default sounds.
Bubba_nate: You can create an enemy only field by setting up an enemy to collide with mario and let other enemies pass through.
Bubba_nate: You can create an air timer feature by setting up an animation to kill you in a few seconds. But every time you activate it, the timer resets, thus letting you live longer.
MagicPillow: You can make blocks with an offset. Make an enemy that acts as a block, and set the offset to whatever you want!
B-Man99: You can activate animations using a button by using an enemy spawner & animation region trigger.
B-Man99: You can create a sound player, by setting up an enemy to have a spawn sound and disappear instantly. Though, please note that this only works with default sounds.
Bubba_nate: You can create an enemy only field by setting up an enemy to collide with mario and let other enemies pass through.
Bubba_nate: You can create an air timer feature by setting up an animation to kill you in a few seconds. But every time you activate it, the timer resets, thus letting you live longer.
MagicPillow: You can make blocks with an offset. Make an enemy that acts as a block, and set the offset to whatever you want!