HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-167/)
-   -   Einheiten in richtung Objekt schießen? (https://hx3.de/editing-scripting-167/einheiten-richtung-objekt-schiessen-20182/)

Der Schakal 24.12.2010 20:03

Einheiten in richtung Objekt schießen?
 
Hallo alle beisamen und ein wunderschönes Fest der freude.

Gibt es ein Befehl für KI damit diese in die Luft schießt?Jetzt z.B die Zu-22 (oder so ähnlich?) danke für euer helfen!

Buliwyf 24.12.2010 21:29

-= Demomission =-

:rolleyes:

Anemia 25.12.2010 10:18

Zitat:

Zitat von Buliwyf (Beitrag 349701)



Editing Guide .... seite 113 tut es sonst auch :oh:

Der Schakal 25.12.2010 12:36

Bloß das der dofire Befehl nicht auf Objekte funktioniert...
Danke Buliwyf bloß etwas aufwendig, aber besser als nix.

Anemia 25.12.2010 13:33

Zitat:

Zitat von Der Schakal (Beitrag 349775)
Bloß das der dofire Befehl nicht auf Objekte funktioniert...
Danke Buliwyf bloß etwas aufwendig, aber besser als nix.

Das müsste auch gehen.....
Code:

s1 doTarget obj1;s1 doFire obj1;
s1 = die ki einheit
obj1 = dein objekt

Buliwyf 25.12.2010 13:51

Zitat:

Zitat von Anemia (Beitrag 349787)
Das müsste auch gehen.....
Code:

s1 doTarget obj1;s1 doFire obj1;
s1 = die ki einheit
obj1 = dein objekt

..was dann genau das wäre, was ich auch gemacht habe... nur das ich die Befehle doWatch und fireAtTarget genommen habe... *applaus*

:party:

Anemia 25.12.2010 14:51

Zitat:

Zitat von Buliwyf (Beitrag 349790)
..was dann genau das wäre, was ich auch gemacht habe... nur das ich die Befehle doWatch und fireAtTarget genommen habe... *applaus*

:party:


sorry hatte mir deine demo mission nicht angeschaut :ugly:

Der Schakal 27.12.2010 23:43

Ist es möglich den Einheiten Unendlich Munition zu geben?=P

Pfandgiraffe 28.12.2010 00:32

arghh!!!
datum: heute!

Ap0calyps 25.05.2011 18:50

Tut mir leid dass ich diesen Thread nochmal ausgrabe. Aber ich denke das passt hier rein.

Ich hab das mit dem dofire ein wenig anderes gelöst, und zwar hab ich folgendes Script im BI-Forum gefunden

Code:

_unit = _this select 0
_target = _this select 1

#WEAP1
_weapon = currentWeapon _unit
;Get Weapon Index
_wepIdx = 0
_unit action ["SWITCHWEAPON", _unit, _unit, _wepIdx]
? (currentweapon _unit) != _weapon:_wepIdx = _wepIdx + 1
_unit action ["SWITCHWEAPON", _unit, _unit, _wepIdx]
? (currentweapon _unit) == _weapon:goto "Done"
goto "Weap1"

#DONE
_unit dotarget _target
~random 5
gamelogic1 action ["USEWEAPON",_unit,_unit,_wepIdx] : goto "Done"
exit

Dieses Script benutze ich bei mehreren Einheiten auf einem Schießstand, problem ist das wenn ich es bei vielen Einheiten anwende es anfängt zu laggen. Daher wollte ich es in SQF "umwandeln", und genau da liegt das Problem, ich schaff es einfach nicht. Hab schon alles Mögliche probiert, aber es funktioniert einfach nicht. Vielleicht hat einer von euch eine Idee.

PS: Falls es hier doch nicht reinpassen sollte oder es jemanden stört das ich diesen alten Thread nochmal ausgegraben habe, tut es mir leid.

burns 25.05.2011 18:52

SQS to SQF conversion - Bohemia Interactive Community

Ap0calyps 25.05.2011 19:03

Das kenn ich, ich hab auch schon einige meiner SQS scripte in SQF umgewandelt, aber genau bei diesem habe ich eben Probleme.

Ich hatte erst an die While Do Schleife gedacht wegen dem Loop, klappte aber nicht.

Code:

while {alive _unit} do {
 _unit dotarget _target;
 gamelogic1 action ["USEWEAPON",_unit,_unit,_wepIdx];
 sleep random 5;
};

Dann dachte ich auchnoch für den ersten Block an Structured conditional command. Klappte aber auch damit irgendwie nicht.

Code:

switch (currentweapon _unit) do {
 case != _weapon: {_wepIdx = _wepIdx + 1};
 case == _weapon: {};
 default {};
};

Ich glaube ich bin einfach zu blöd dafür, ich versuche das Script schon seit Tagen umzuwandeln.

burns 25.05.2011 21:15

hm, das mir zu hoch, da wirst du dich an nen Skripter wenden müssen :D

Vienna 25.05.2011 21:59

Aus Post #10 die Umwandlung auf SQF:

Code:

_unit  = _this select 0;
_target = _this select 1;

while {alive _unit} do
 {
  _weapon = currentWeapon _unit;
  //Get Weapon Index
  _wepIdx = 0;
  _unit action ["SWITCHWEAPON", _unit, _unit, _wepIdx];
  if (currentweapon _unit != _weapon) then {_wepIdx = _wepIdx + 1};
  _unit action ["SWITCHWEAPON", _unit, _unit, _wepIdx];
  if (currentweapon _unit == _weapon) exitWith {};
 };

while {alive _unit} do
 {
  _unit dotarget _target;
  sleep (random 5);
  gamelogic1 action ["USEWEAPON",_unit,_unit,_wepIdx];
 };

Aus der 2. Schleife kommst du aber nur raus wenn _unit tot ist. Da musst du noch mit OR einen zweiten Ausstieg anführen.

Ap0calyps 25.05.2011 22:16

Hey Danke, funktioniert eigentlich alles soweit, also die schleife läuft durch (hab ich mit Hint getestet, aber der soldat schießt irgendwie nicht)


Er zielt auf das Ziel
Code:

_unit dotarget _target;
dann kommt sleep random
Code:

sleep (random 5);
der funktioniert auch, und dann kommt ja
Code:

gamelogic1 action ["USEWEAPON",_unit,_unit,_wepIdx];
aber es ist ja alles richtig. Die Schleife läuft auch mehrmals durch, entweder überspringt er das (keine ahnung ob das überhaupt möglich ist ^^) oder es ist irgendwo anders ein Fehler.

Wie dem auch sei, trotzdem danke :daumen:

Vienna 25.05.2011 23:40

Probier es einmal mit:

unitName doFire target

Ap0calyps 26.05.2011 00:28

leider genau das selbe, er zielt auf das Ziel aber schießen tut er nicht.

Der dofire befehl funktioniert bei mir überhaupt nicht, und wenn ich
Code:

unit fire "M16A4"
zum beispiel mache, schießt er zwar aber er schießt einfach in die Luft. Auch wenn ich vorher dotarget benutzt habe.

Hier ein 10sek Video wie es aussieht ^^ Klick Mich

Vienna 26.05.2011 11:49

Gib den Schießbefehl auf die Zielscheibe mit:

UnitName commandFire ZielName

Klappt aber nur in ArmA2 OA. Vorherige Zielzuweisung ist nicht notwendig.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:46 Uhr.

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119