Final bits of copying from the tutorial

tustin2121 2023-03-04 17:12:04 -05:00
parent f6f0ae8d6b
commit 73d0a06843
1 changed files with 98 additions and 1 deletions

@ -23,7 +23,9 @@ Table of Contents:
- [Door Commands](#Door-Commands) - [Door Commands](#Door-Commands)
- [Display Pokémon Sprite](#display-pok%C3%A9mon-sprite) - [Display Pokémon Sprite](#display-pok%C3%A9mon-sprite)
- [Screen Fading Effects](#Screen-Fading-Effects) - [Screen Fading Effects](#Screen-Fading-Effects)
- [Play Pokémon Cry](#play-pok%C3%A9mon-cry)
- [Time-Based Scripts](#time-based-scripts)
- [Sound Effects & Fanfares](#sound-effects--fanfares)
# Labelling # Labelling
@ -844,4 +846,99 @@ Text_FadescreenExample:
``` ```
# Play Pokémon Cry
Using Pokémon cries as a sound effect is another super easy thing to do, all you need is the playmoncry command:
```gas
playmoncry [Pokémon], 0
```
Followed by `waitmoncry`, which doesn't have any arguments. Just as it looks, it simply means the script will continue after the cry has finished playing.
```gas
Script_CryDemo::
lock
faceplayer
playmoncry SPECIES_ARBOK, 0
msgbox Text_CryDemo, MSGBOX_DEFAULT
waitmoncry
release
end
Text_CryDemo:
.string "Arbok: Hisssss!$"
```
# Time-based Scripts
The `gettime` command can be used to set the values of variables `VAR_0x8000`, `VAR_0x8001`, and `VAR_0x8002` to the in-game hour, minute, and second respectively. To make sure the time is up to date, you should also call `dotimebasedevents` before that. This is an example script for a NPC who gives different greetings depending on the hour:
```gas
Script_HourDemonstration::
lock
faceplayer
dotimebasedevents
gettime
compare VAR_0x8000, 4
goto_if_le Script_Night
compare VAR_0x8000, 12
goto_if_lt Script_Morning
compare VAR_0x8000, 18
goto_if_ge Script_Night
msgbox Text_Day, MSGBOX_DEFAULT
release
end
Script_Morning::
msgbox Text_Morning, MSGBOX_DEFAULT
release
end
Script_Night::
msgbox Text_Night, MSGBOX_DEFAULT
release
end
Text_Morning:
.string "Good morning.$"
Text_Day:
.string "Good day.$"
Text_Night:
.string "Good evening.$"
```
You could swap out the values to check for a particular minute or second too, if you wanted to run a very specific event that only occurs at a very specific time!
# Sound Effects & Fanfares
Sound effects can bring a lot of life to overworld gameplay. To play sounds, use the following:
```gas
playse [Label]
```
If you want to make the script wait for the sound to finish before continuing, you can add `waitse` if you want to. For example, if you'd have liked to use a sound effect for an exclamation point emote on your player:
```gas
playse SE_PIN
applymovement OBJ_EVENT_ID_PLAYER, Movement_Exclamation
waitmovement
```
A fanfare is a short jingle, like the healing sound in Pokémon Centers. To use one in your script, use these commands:
```gas
playfanfare [Label]
waitfanfare
```
`waitfanfare` means the script will wait for the jingle to finish playing before continuing. So, let's say we wanted to play the fanfare sound for obtaining a Gym Badge:
```gas
playfanfare MUS_OBTAIN_BADGE
waitfanfare
```
You can find a list of labels for sound effects and music in `include\constants\songs.h`.