Da es sich um eine spezifische Anzahl von entities bezieht, nämlich solche die ein Teleport darstellen könntest du auf ein array zurück greifen in dem du einen handle auf jeden teleporter speicherst.
Die id vergabe kannst du dann entweder im WED per skill machen oder automatisch beim level-start erfolgen lassen.
Wenn nun eine id gewählt wurde kannst du über das array auf die jeweilige entity zugreifen und skills abfragen.
Hier ein beispiel code für teleporter die sich selbst registrieren:
Code:
var teleporter_ptr[10]; // maximal 10 teleporter
var nro_teleporters = 0; // zähler für die teleporter
action teleporter_act
{
teleporter_ptr[nro_teleporters] = handle(my);
nro_teleporters += 1;
}
Und hier ein beispiel für eine function die die funktion-aufrufende entity an die position eines per id übergeben teleporters setzt:
Code:
function teleport_to(_id)
{
if(_id < 10)
{
you = ptr_for_handle(teleporter_ptr[_id]);
vec_set(my.x,you.x);
}
else { error("Invalid teleporter id"); }
}