News

user_event

Calls the scripts user_event0.gmluser_event15.gml from the mod’s scripts folder, within the context of the instance using this function and the script it’s used in.

ArgumentTypeDescription
num:realThe number of the user event script to run. Must be between 0 and 15.

Example, called from attack_update.gml:

//This code runs a custom event during certain points in USPECIAL and FSPECIAL. This could be things like building meter or activating a status effect, but really it's up to you.
if (attack == AT_USPECIAL && window == 2 && window_timer == 1) {
user_event( 2 );
}
if (attack == AT_FSPECIAL && window == 4 == window_timer == 1) {
user_event( 2 );
}

print_debug

Prints a custom message to the error log. The error log can be toggled by pressing Ctrl+F8 anywhere in the game.

ArgumentTypeDescription
message:stringThe message to print

Example, called from init.gml:

print_debug( “Hello, world!” );

suppress_stage_music

Temporarily suppresses the volume of the stage music on every frame this function is called, allowing custom characters to draw attention to special moves or animations. Once the function stops being called, the stage music will return to its original volume.

Both arguments are optional; by default, the stage music is suppressed to 25% volume.

ArgumentTypeDescription
volume:real[optional]
The target music volume, with a range of 0 to 1.
amount_per_frame:real[optional]
Determines how much the volume decrements or increments per frame, with a range of 0 to 1.

Example 1, called from animation.gml:

// suppress stage music to 25% volume at a rate of 0.01 per frame:
suppress_stage_music();

Example 2, called from animation.gml:

// suppress stage music to 50% volume at a rate of 0.005 per frame:
suppress_stage_music( 0.5, 0.005 );

is_laststock

Returns true if all active players have 1 stock remaining during a stock match.

Example, called from a stage’s update.gml:

// if everyone has 1 stock remaining, crossfade into laststock music:
if (is_laststock()) {
music_crossfade();
}

music_crossfade

Warning: A crossfading music track must be exactly the same length as its counterpart music track. This function will fail if there is even the tiniest of a length mismatch.

When called in a stage article, gradually crossfades the music to its laststock counterpart if a valid _laststock music file is detected in the /sounds folder. (A valid laststock counterpart to music_loop.ogg would be named music_loop_laststock.ogg, for example.) Both arguments are optional. This function can be used in conjunction with is_laststock() to replicate the music change on the Aethereal Gates stage.

ArgumentTypeDescription
fade_to_laststock:int[optional]
Determines whether to crossfade toward the laststock music track or the original music track. A value of 1 will crossfade toward the laststock track, and a value of 0 will crossfade into the original track.
amount_per_frame:real[optional]
Determines how much the volume decrements or increments per frame, with a range of 0 to 1.

Example 1, called from a stage’s update.gml:

// if everyone has 1 stock remaining, crossfade into laststock music at a rate of 0.01 per frame:
if (is_laststock()) {
music_crossfade();
}

Example 2, called from a stage’s update.gml:

// if everyone has 1 stock remaining, crossfade into laststock music at a rate of 0.025 per frame:
if (is_laststock()) {
music_crossfade( 1, 0.025 );
}