Help - Search - Members - Calendar
Full Version: Scripting Probleme :D
Armed Assault Info Forums > Other Language Sections > Deutsch > Mission Editing
MaddeX
Hallo allerseits, das ist mein erster Post im Forum wink.gif

Zu allererst habe ich das Problem, dass in sämtlichen Tutorials von Heli-H's gesprochen wird, ich allerdings keinen blassen schimmer habe, wo ich diese finde. Zweitens habe ich das Problem, dass mein Heli nicht abheben will (skript per Auslöser (Funk) bei aktivierung).
Die Markierung wird auf die Position des Spielers verschoben, jedoch will der Heli einfach nicht dorthin aufbrechen >.>

Hoffe ihr könnt mir helfen smile.gif
pMASTER
Also mit "Heli-H" ist wahrscheinlich der Hubschrauberlandeplatz gemeint - ein großes weißes H auf dem Boden. Er findet sich unter "Objekte". Wenn das "Heli-H" in Deinem Skript eine Rolle spielt, muss es natürlich erst gesetzt werden.
MaddeX
Hab es gerade hinbekommen wink.gif
kann es sein, dass man den doMove befehl nicht auf Markierungen setzen kann? Jedenfalls hat sich der Heli keinen millimeter gerührt als ich das ganze mit Markierungen versucht habe.

Danke jedenfalls für die hilfe smile.gif
Imutep
Hätte da auch einige gute Tutorials für dich ^^
Link zu den Tutorials
MaddeX
Hab mir die Tuts schon alle angesehn wink.gif

Brauchen nochmal eure Hilfe wink.gif

Wie gebe ich dem Heli den befehl solange zu warten bis P1 im Laderaum sitzt? (skript versteht sich)

Naja es ist mir zwar etwas peinlich meine erste "arbeit" hier vorzustellen, da ich aber irgendwie ein problem habe wende ich mich an euch wink.gif

CODE
hTarget setpos getpos P1;
hint "start";
goto "fly"

#fly
Helikopter1 domove getpos hTarget;
?(Helikopter1 distance hTarget) <150 :goto "godown"
goto "fly"

#godown

Helikopter1 flyinheight 10;
Helikopter1 domove getpos hTarget
?(Helikopter1 distance hTarget) <50 :goto "landing1"
goto "godown"


#landing1

Helikopter1 flyinHeight 0;
P1 in Helikopter1;
goto "fly2"

#fly2

Helikopter1 flyinheight 30;
Helikopter1 domove getpos hAirport
?(Helikopter1 distance hAirport) <150 :goto "godown2"
goto "fly2"

#godown2

Helikopter1 flyinHeight 15;
Helikopter1 domove getpos hAirport;
?(Helikopter1 distance hAirport) <50 :goto "landing2";
goto "godown2"

#landing2

Helikopter1 flyinHeight 0;
goto "landing2"
exit;



Verbesserungsvorschläge sind gerne gesehn...

Villeicht sieht ja jemand weshalb mein Heli nicht zu mir kommen will >.>
Imutep
Hmm...?
QUELLTEXT
#landing1

Helikopter1 flyinHeight 0;
P1 in Helikopter1;
goto "fly2"


versuchs mal mit...

QUELLTEXT
#landing1

Helikopter1 flyinHeight 0;
? (P1 in Helikopter1) : goto "fly2"
MaddeX
mein problem ist ja, dass er bei "Fly" einfach nicht zum Heli-H aufbrechen will... naja..
Imutep
Dein Problem ist, dass du den Heli starten lassen musst, damit er auch losfliegt. Nur fällt mir jetzt grad nicht ein wie das funzt.
MaddeX
er startet, bleib dann aber in der luft und bewegt sich (wenn) dann nur sehr langsam... sieht fast so aus alsob er den befehl annimmt, ihn abbricht und wieder annimmt (er nickt die ganze zeit leicht).
Imutep
Haste schonmal probiert auf dem H einen Marker zu setzen und dann mit
ZITAT
Helikopter1 domove getpos getMarkerPos nameMarker;

starten zu lassen?
MaddeX
CODE
#fly
Helikopter1 domove getpos hTarget;
?(Helikopter1 distance hTarget) <150 :goto "godown"
goto "fly"



anscheinend verträgt er das goto "fly" bei mir nicht (setzt man doMove's überhaupt in loops?) ich habe das goto fly entfernt und sieheda, er kommt zu mir aber landet noch nicht (Denke mal wegen der schleife bei "godown")

naja bin am rumprobieren wink.gif


allerdings setze ich die funktionen nicht in loops, so startet er nichtmehr, da das script dann komplett durchläuft ohne rücksicht auf die ?'s.
Imutep
probier mal flyInHeight 1 statt 0
Rastafa
Darf man fragen, warum du das ganze per Script machen willst, anstatt einfach über Wegpunkte? Letzteres wäre deutlich einfacherer und vor allem zuverlässiger.
Ich versuche mir mal was aus'm Ärmel zu schütteln. biggrin.gif

Also zuerst schreibste in die Init-Zeile vom Heli this setFuel 0, dann gibst ihm 3 Wegpunkte. Den ersten setzt du direkt vor den Heli. Als Typ wählst du Halten. Der 2. Wegpunkt kommt auf das H wo der Spieler abgeholt werden soll, Typ Laden, und den 3. dorthin, wo der Spieler wieder aussteigen soll, Typ Transport Entladen.
Dann brauchst du noch zwei Auslöser. Den ersten als Funk Auslöser, Typ Wechseln und Bei Aktivierung Helikopter1 setFuel 1. Diesen Auslöser musst du nun mit dem ersten Wegpunkt (der direkt beim Heli) Syncronisieren (F6), so dass Auslöser und Wegpunkt mit einer blauen Linie verbunden sind. Den 2. Auslöser platzierst du beim 2. Wegpunkt (Laden), Als Typ wieder Wechseln und bei Bedingung schreibst du P1 in Helikopter1. Nun musst du wieder diesen Auslöser mit dem Laden Wegpunkt Syncronisieren.

So, das war's schon. Wie gesagt, ist ungetestet, sollte aber eigentlich klappen. wink.gif
MaddeX
es geht hier weniger um den zweck als darum einfach das scripten zu lernen wink.gif
habs gerade einigermaßen hinbekommen, jedoch hat er ein problem mit dem
CODE
@?(Helikopter1 distance hTarget) <150 :goto "godown"

fragt mich aber bitte nicht warum >.<


hab gerade bemerkt, dass sich mein heli nicht um das flyInHeigh schert... er bleibt immer auf der selben höhe wie immer; daraufhin habe ich es bei einem flugzeug versucht -> das gleiche, es schert sich nicht um den flyInHeigh befehl.
Rastafa
Hmmm..... scripten nur des scripten willens, weiß nicht ob das so das Optimum ist. Eigentlich tendiere ich dazu, so viel wie möglich mit den gegebenen Editormöglichkeiten zu machen, und nur dann auf Scripte zurück zu greifen, wenn es nicht anders geht.
Aber na gut...

Wie du schon richtig erkannt hast, gibt's Probleme mit dem doMove Befehl in einer (quasi) Endlosschleife. Da bekommt der Pilot ja jede 1000stel Sekunde einen neuen Befehl, da wird ja jeder wahnsinnig. biggrin.gif
Statt mit einem Loop solltest du mit der @ Abfrage arbeiten. Dahinter darf dann aber kein If-Then (? blah : blubb) mehr kommen.

So in etwa sollte dein fertiges Script dann aussehen:
CODE
hTarget setpos getpos P1
hint "start"

Helikopter1 domove getpos hTarget
@ (Helikopter1 distance hTarget) < 150

Helikopter1 flyinheight 10
@(Helikopter1 distance hTarget) < 50

Helikopter1 land "get in"
@P1 in Helikopter1

Helikopter1 flyinheight 30
Helikopter1 domove getpos hAirport
@(Helikopter1 distance hAirport) < 150

Helikopter1 flyinHeight 15
@(Helikopter1 distance hAirport) < 50

Helikopter1 land "land"
exit


Wie immer ungetestet.
MaddeX
Jap das klappt wink.gif


wenn du mir nun noch erklären kannst wieso meine flugzeuge nicht abheben (ganz normal mit wegpunkten) dann bist auf meiner favoriten liste wink.gif
Rastafa
Das kann ich dir so leider nicht sagen, dazu brauche ich mehr Informationen. Steht das Flugzeug am Flughafen? Auf dem Rollfeld bzw. Taxiway? Sitzt der Pilot von Anfang an in der Maschine oder steigt er später ein? Hat das Flugzeug genug Benzin? Wie viele Wegpunkte hast du gesetzt und wie weit sind sie vom Ausgangspunkt entfernt?
MaddeX
also das flugzeug steht schon auf der startbahn, der pilot sitzt von anfang an in der maschine, das flugzeug hat 100% genug benzin und es waren (glaube ich) 2 wegpunkte gesetzt.

wenn das flugzeug in der luft spawnt (speziell: fliegend) funktionieren die wegpunkte einwandfrei;

allerdings wenn das flugzeug vom boden aus starten soll dann bewegt es sich nur langsam vorwärts und abseits der wegpunktelinie.
Rastafa
Da fällt mir spontan nur eins zu ein. Weiß nicht wie's bei ArmA ist, aber zu OFP Zeiten konnten die Flugzeuge nur in eine Richtung starten und landen. Wenn man nun ein KI Flugzeug ans "falsche" Ende der Rollbahn stellt, passiert eben genau das was du beschrieben hast: Es fährt im Schneckentempo ans andere Ende der Bahn, wendet dort (wenn möglich) und startet erst dann. Also versuch doch einfach mal das Flugzeug in die andere Richtung starten zu lassen.

Noch 'ne andere Sache... Ich bin desöfteren -speziell auf Hubschrauber bezogen- über das Phänomen gestolpert, wenn die Wegpunkte zu weit entfernt sind (>2000m oder so), dann dauert's ewig bis der Pilot sich mal in Bewegung setzt. Je nach dem wie weit der erste Wegpunkt entfernt ist, kannst du ja mal versuchen noch den ein oder anderen Wegpunkt dazwischen zu schieben.

Wenn das alles nichts hilft, dann weiß ich jetzt auf die schnelle auch keinen Rat. Ist auch schon ewig her, das ich sowas mal versucht hab. Vielleicht hat noch jemand anderes eine Idee.
MaddeX
tatsächlich so smile.gif

dankeschön smile.gif

wie sagt man dem flugzeug dass es landen soll? ^^

einfach den letzten wegpunkt auf die landebahn legen?

übrigends alle fragen beziehen sich auf arma2 biggrin.gif
Rastafa
Genau so wie dem Heli:

CODE
Flugzeug land "land"

wink.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2018 Invision Power Services, Inc.