Thx, ill try to explain my whole problem in my mothertongue:
Also ich möchte mein eigenes Towerdefense Spiel erstellen. Komme aber nicht wirklich weiter, ich versuchs mal zu schildern:
Ich erstelle per Button Klick einen Tower und setze ihn auf einen Platz, von wo er die Monster, die einen bestimmten Weg ablaufen, selbstständig beschießen soll.
you = ent_create(tower001_mdl,mouse_ent.x,tower_schiesse);
Diese Funktion "tower_schiesse" prüft nun in einer Endlosschleife, ob sich Monster in seiner Reichweite befinden, auf die er feuern kann.
Den Monstern habe ich einen bestimmten Skillwert zugewiesen damit der Tower weiß, welche Entities er beschießen soll.
Jedoch suche ich in der Funktion "tower_schiesse" die Monster nur mit dem "YOU" Entity und der Funktion you = ent_next(you);
Damit kommen sich die ganzen Tower, die ich erstelle in die Quere, weil sie alle auf das gleiche aussind und somit nur der zuletzt erstellte Tower schießt.
Ich hab die Vermutung dass ich das ganze schon falsch angegangen bin und nen Denkfehler drin hab... hoffe da gibs nen Trick oder irgendeine Lösung für mein Problem! (der Einsatz von handle und ptr_for_handle() is mir noch nich ganz geläufig)
Hier noch die Fkt "tower_schiesse":
function tower_schiesse
{
while(1)
{
you = ent_next(NULL); //erstes entity aussuchen
//Ausschau halten nach Entitys mit Skill12 == 1
if (you.skill12 > 0)
{
//jetzt auf ein Entity festlegen!
while(you)
{
while (ent_tower001 == NULL) { wait(1);}
if (vec_dist(my.x,you.x) < 200)
{
//Angreifen!
you.skill12 -= angriff_tower001;
show_angriff(angriff_tower001);
//wenn skill(leben) zu klein dann tot
if (you.skill12 <= 0)
{
ent_remove(you);
}
}
else
{
//wenn die distanz überschritten wird, oder noch nicht erreicht ist, dann soll er sich ein neues entity suchen:
goto neuesEntity;
}
//hiermit wird die angriffsgeschwindigkeit bzw die verzögerung festgelegt
sleep(geschw_tower001*time);
wait(1);
}
}
else
{
neuesEntity: //SPRUNGMARKE Für Innere Schleife, um eine neue Entity auszusuchen!
//wenn ds entity kein Skill == 1 hat, dann nächstes Entity auswählen!
you = ent_next(you);
}
wait(1);
}
}
Vielen Dank für deine Mühe!