events are good for flexibility. scripts are good for functionality.
examples where flexibility better:
- specifying bot type, location, appearance, hp in a map - due to balance reasons may need to move it around + change types/counts
- keying triggers together. would be pain to have to edit code every time you want to add a sound or a relay/brick trigger
basically anything youd want to be able change on the fly if you make build changes, or letting others use it in their build without having to read the code
example where script is better:
- need functionality with callbacks/tying multiple complicated things together. example is wave based spawning on a timer that might reset, and the spawns are picked based on collective player locations
- literally not possible with events, ex spawn static shape, play a custom animation, and mount a player to it
basically something you aren’t expecting to change fundamentally and does not change even if build changes