To check collision between events, simply use checkCollide conditional branch. All cases are listed in this post.
All checkCollide when return true, it'll stop return true for the collided event. Meaning if a fireball hit the current event, it'll damage the event just once and never again. You'd notice the second conditional branch had number 30. For this one, it'll return true multiple times every 30 frames. It's best for things like a firewall or poison water, anything deals damage overtime and multiple times.
checkCollide uses hitbox data from each event notetag <hitbox>. If an event doesn't have it, it'll be understood as 1,1 for width and height. If your fireball is huge, you'll need to change its hitbox size.
Hitbox size is very important to improve accuracy. Giving your player the best experience.