PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : von 3 NPCs soll nur einer bei Missionsstart anwesend sein


Tasdev
28.11.2014, 23:51
Tach zusammen,

ich beiße mir langsam aber sicher die Zähne aus :D...

Ich möchte gerne am Start einer Mission eine zivile Einheit (Mann) spawnen lassen. Diese soll drei mögliche Startpositionen haben und dann dort einen bestimmten Weg ablaufen.

Mein Gedanken Gang ohne viel script ...

Drei Einheiten erstellt "man1" + "man2" +" man3"

Die Wahrscheinlichkeit von man1 auf 33%... aber wie nun weiter?

ich habe schon !alive man1 bei man2 eingetragen - oder auch über isNil ... aber ich egal was ich einstelle, der zweite Mann taucht einfach nicht auf... zum dritten bin ich erst gar nicht kommen :D

Ich hatte mal (ist schon lange her) das bei der 2. und 3. Einheit isNil und Random gemacht - aber es fällt mir einfach nicht mehr ein.

Evtl. gehe ich die Sache ja auch falsch an und ihr kennt da einen besseren/einfacheren Weg?

mfg Tassi

burns
29.11.2014, 00:06
http://www.youtube.com/watch?v=LMN2PUagR3M



-den Zivi an eine deiner drei Positionen stellen
-jeweils einen "Empty" Marker (F6) an die beiden anderen Stellen platzieren
-Zivi per F2 "Gruppieren" mit den Markern verbinden

Bei jedem Start wird die Type wahlfrei an einer der drei Positionen stehen.

Tasdev
29.11.2014, 13:03
huhu burns,

danke für deine Antwort. Wenn ich so meine Frage durchlese, dann hätte ich wohl auch so geantwortet.

Was du beschreibst ist klar und ein extra Danke für die mission :D, aber das kannte ich und das löst leider nicht mein Problem.

Ich schrieb u.a. dass der Zivi dann da wo er spawnt einen bestimmten Weg ablaufen soll und meines Erachtens geht dies nur wenn ich 3 Zivis hinstelle von denen aber nur einer bei mission Start vorhanden ist. Dann könnte ich ja jedem seinen eigenen Weg definieren und laufen lassen :)

Ich hoffe ich habe mich nun verständlicher ausgedrückt.

romans
29.11.2014, 15:09
Du könntest es mit random (https://community.bistudio.com/wiki/random) und switch do (https://community.bistudio.com/wiki/switch_do) probieren.

Lass eine Zahl von 1-3 generieren und lege fest, was in Fall 1, Fall 2 und Fall 3 passieren soll. Du müsstest die Wegpunkte halt per Skript erzeugen.




n1 = round ((random 3) + 0.5); // generates random number from 1 to 3

switch (n1) do
{
case 1: {};
case 2: {};
case 3: {};

};

Drunken Officer
29.11.2014, 15:26
einfach dem Ziv wegpunkt geben. Da gab es voe wenigen Tagen erst ein Thema

Tasdev
29.11.2014, 21:37
so, ich habe es wieder hinbekommen.

3 Zivi´s erstellen - gleich er Typ, im Prinzip aber egal. Diese 3 auf der Karte hingestellt wo man will. (zum testen habe ich sie einfach nebeneinander gestellt an Positionen die ich dann auch deuten konnte.

"Zivi1" Position im Hangar. Diesen auf Spawnwahrscheinlichkeit = 33%
"Zivi2" Position links vom Hangar. Diesen auf 100% Spawnwahrscheinlichkeit und als Bedingung: (isNil "Zivi1") && (random 1 < 0.5)
"Zivi3" Position rechts vom Hangar. Diesen auf 100% Spawnwahrscheinlichkeit und als Bedingung: (isNil "Zivi1") && (isNil "Zivi1")

Nun spawnt eben nur einer von den drei. Diesen kann man wie gesagt irgendwo hinsetzen und ihm einen eigenen Wegpunkt/Wegpunkte verpassen.

Wenn man nun, wie ich in meiner Mission, diese Person ausschalten muss, dann macht man einfach noch einen Trigger:

({ alive _x } count [Zivi1, Zivi2, Zivi3]) == 0

und sobald man diese Person tötet oder sie einen noch dümmeren Tod stirbt - wie vom NPC Fahrzeug überfahren worden - löst der Trigger aus.

Ich hoffe damit mal jemand zu helfen der so auch wie ich den Wald vor lauter Bäumen nicht gesehen hat.

DocCLF
29.11.2014, 22:33
Spawnwahrscheinlichkeit und als Bedingung: (isNil "Zivi1") && (isNil "Zivi2")

eher so

Tasdev
30.11.2014, 15:59
hups ... sorry. Natürlich hast du Recht ... copy&paste sind manchmal echt teuflische Gehilfen :D

Danke für die Korrektur. :daumen: