A DLL could solve this & many other problems very nicely...
Right now I'm building my most advanced AI ever, & it need to take more advanced conditions into account before attacking (like: if there are no blocks between AI & player).
This is my solution:
-create a list of players.
-eliminate players from the list that have blockages in-between AI & it (check if line collides with blocks).
-sort list by [distance to AI] + hp of player (& other important stats).
-select the player with highest priority!
I could do this with GM.. But a DLL with these features could solve the problem so much easier & quicker:
-can create classes derived from earlier created classes.
-can add strings & floats to class.
-can add a list to a list to a list to a list... (hierarchical structuring).
-can sort list dependent upon a selected var of obj.
-can load lists from file.
-can load data-classes from file.