Paralysis gefällt mir. Gute Idee. Ok, es hakt jetzt also noch an einer Stelle.
Zu Referenzen hatte ich schon vorher was geschrieben. Eine Referenz ist immer ein einzelnes, genau definiertes Viech. AAAZombie ist dagegen eine Klasse, das heißt, es kann mehere davon geben. Ich erklär das am besten mit einem Editor-Beispiel.Zitat
Sagen wir, du packst in eine Zelle fünf von deinen Zombies. Wenn du auf alle 5 gleichzeitig einen Befehl anwenden willst, geht das über
AAAZombie.setXYZ blafasel
Der Befehl wirkt dann auf alle deine Zombies, selbst auf welche, die sich an einem ganz anderen Ort als diese Zelle befinden!
Jetzt willst du aber nur etwas mit Zombie Nr. 2 anstellen. Wat nu? Wie machst du dem Spiel begreiflich, daß nur der eine gemeint ist? Dazu gibt es Referenzen. Wenn du einen der Zombies im Render-Fenster doppelklickst, kriegst du ein Eigenschaftenfenster. Das oberste Feld heißt "Reference Editor ID". Dort kannst du jedem Zombie einen eigenen "Namen" geben. Zombie 1 kriegt z.B. die Reference ID "Zombie1Ref", der zweite ""Zombie2Ref" undsoweiter. Wenn du jetzt in einem Skript
Zombie2Ref.setXYZ blabla
benutzt, wirkt sich das nur auf genau diesen einen Zombie aus. (Referenz-Namen dürfen ruhig fantasievoller sein. Du kannst auch Referenz-Namen wie "Zombie-Horst", "Zombie-Willi" usw. vergeben und dann Zombie-Horst.setXYZ benutzen. Hauptsache, jeder hat einen eigenen Namen.) Referenzen muß man entweder selbst eingeben (Render-Fenster), oder ein Befehl gibt so eine zurück (PlaceAtMe).
Fast alle NPC's haben bereits so eine Reference Editor ID. Meist ist die relativ einfallslos: NPC-Name mit angehängtem "Ref". Baurus z.B. startet in der Zelle "ImperialDungeon01". Wenn du dir seine Eigenschaften anschaust, kannst du sehen, über welche Referenz genau dieser eine Baurus angesprochen wird (man könnte ja durchaus per CS mehrere Baurusse ins Spiel pflanzen). Darfst jetzt raten.
So, und das macht uns jetzt ein Problem: OnHit muß genau wissen, wer da zuschlägt. AAAZombie reicht nicht, da das deine Zombie-Klasse ist. An sich müßte jeder Zombie eine Referenz haben, und jeder NPC müßte im Voraus wissen, welcher Zombie ihn haut. Blöd das. Muß mir da selbst erstmal eine Kopf drum machen. Rose of Sithis (Dark09AdamusScript) ist leider eine Ausnahme, da OnHitWith nur mit Waffen funktioniert.