PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AI Einheit via script spawn mit bestimmten namen


Papabär
26.10.2016, 00:06
Heyho Leute,

ich suche schon seit Tagen nach einer Lösung für mein Problem.
Mein Vorhaben ist es eine Einheit via Script zu spawnen, wobei die Einheit einen bestimmten Namen hat (als Referenz für Missionen zB !Alive XY.)


Hat jemand von euch eine Lösung für das Problem oder ist es möglich die AI Einheit unsichtbar zu machen?

Lester
26.10.2016, 05:38
Irgendwo an abgelegener Stelle auf die Karte setzen und bei Bedarf dann die Position anpassen dürfte die einfachste Lösung sein.

Drunken Officer
26.10.2016, 23:43
_MeineGruppe = createGroup WEST;
meinNameistHase = _MeineGruppe createUnit ["B_Soldier_F", postion base, [], 0, "FORM"];
publicVariable "meinNameistHase";

AI kann man mittels Modul auf "versteckt" stellen.

Papabär
27.10.2016, 13:24
Mega :) :daumen:

Noch ne kurze Frage:

//waitUntil {((player distance getMarkerPos "bala") <= 100)};

wie setze ich dort mehrere Marker als Voraussetzung? Also zB bala,bulu etc.

Ein weiteres Problem: ich habs jetzt so gelöst:

_objectiveno3grp = createGroup EAST;
objectiveno3tar = "O_Soldier_AR_F" createUnit [getMarkerPos "objectiveno3mkr", _objectiveno3grp];
publicVariable "objectiveno3tar";

//Warte bis das Ziel erreicht wurde.
sleep 2;
waituntil {!Alive objectiveno3tar};

Bekomme dafür aber bei dem !alive einen Fehler "Nicht definierte Variable in Ausdruck objectiveno3tar". :zahn: :)

Drunken Officer
28.10.2016, 09:51
1. Du willst bestimmt eine ODER Bedingung bei den Markern? Soweit wie ich weiß, hilft da nur

waituntil {sleep 1; (player distance getMarkerPos "mk1" <= 100) || (player distance getMarkerPos "mk2" <= 100) || (player distance getMarkerPos "mk3" <= 100) };


2. Deine Variante:
objectiveno3tar = "O_Soldier_AR_F" createUnit [getMarkerPos "objectiveno3mkr", _objectiveno3grp];

Diese Variante funktioniert nur, wenn du eine Einheit erstellen willst, ohne Variable. Du kannst da also die Variabel bei deiner Version weglassen.
Um eine gespawnte Einheit mit einer Variable zu versehen, muss es so lauten:
objectiveno3tar = _objectiveno3grp createUnit ["O_Soldier_AR_F", getMarkerPos "objectiveno3mkr", [], 0, "FORM"];

Darf man fragen, wieso du mit einer globalen Unit-Variable arbeitest? Wird die in einem anderen Script verarbeitet bzw in einem Eventhandler?