Unterscheidung von Entitys ?

Posted By: Ascalon

Unterscheidung von Entitys ? - 06/28/07 07:22

Möchte so eine Art Aufbauspiel machen so wie Siedler.

Wenn ich ein Holzfällerlager mit ent_create erstelle, und dann ein zweites Holzfällerlager, wie kann ich dann die beiden unterscheiden und auf sie zugreifen ?

Hoffe, ihr habt mein Problem verstanden, schon mal Danke im voraus !
Posted By: HeelX

Re: Unterscheidung von Entitys ? - 06/28/07 08:37

Klassischerweise indem du sie unterscheidbar machst, z.B. durch eine Zahl. Also speicherst du z.B. in einem Skill eine Nummer, die die Entity als Holzfällerlager identifiziert (der Typ) und in einem anderen Skill die ID. Das heißt: beim ersten Lager ist es 0 (oder wahlweise die 1) und dann immer fortlaufend, jedes mal, wenn du ein weiteres erstellst, diese Nummer erhöhen.

Um dann Zugriff auf alle Objekte zu erhalten gehst du entweder durch die Entity-Liste und pickst dir die Objekte heraus (-> ent_next) oder du nimmst ein array und schreibst da die Entity Pointer rein. Um schneller z.B. auf alle Einheiten eines Typs zuzugreifen kannst du alternativ auch für jeden Gebäudetyp alle Gebäude in einer Liste speichern.

Hoffe, du hast die Lösung verstanden!
Ciao, Christian
Posted By: Ascalon

Re: Unterscheidung von Entitys ? - 06/28/07 18:03

Wie hast du das gemeint mit "...alle Gebäude in einer Liste speichern"
Wie mache ich das ?
Posted By: dennis

Re: Unterscheidung von Entitys ? - 06/28/07 18:07

Du könntest die Handles der Holzfäller-Gebäude in eine Array schreiben...

var BuildingLumberjackHandle[100];
var BuildingLumberjackCount = 0;

action BuildingLumberjack_Act()
{

// Erhöhe den Counter
BuildingLumberjackCount += 1;

// Speichere den Handle
BuildingLumberjackHandle[BuildingLumberjackCount-1] = handle(me);

}
Posted By: Ascalon

Re: Unterscheidung von Entitys ? - 06/28/07 18:49

Oh man !!!! Ich checks einfach nicht !

Kann mir überhaupt einer erklären, wie die Funktion aussehen muss?
Also wenn ich auf ein Button klick, soll zb. Holzfäller 1 erstellt werden, und beim erneuten klick Holzfäller 2 ...usw.

Ich kann schon mit dem Button-klick mehrere Holzfäller in die Gegend setzen, aber ich muss sie ja irgendwie unterscheiden können, und seperat auf jeden einzelnen zugreifen können.
Posted By: dennis

Re: Unterscheidung von Entitys ? - 06/28/07 19:12

Dafür brauchst du mehrere Funktionen.....

Am besten du schaust mal im Handbuch nach...ich kann den Code jetzt nicht komplett erklären

Obwohl...warte...poste am besten erstmal den Code zm Erstellen der Holzfäller...

Hast du Icq?...dann könnten wir das Problem schneller lösen...
© 2023 lite-C Forums