Allgemeine Verzweiflung beim Scripten :D
Hey Leute,
ich hab hier mal ein paar Fragen, bezüglich Scripting-Commands.
[1*] Beispiel: ich rufe über Funk einen Heli, der zu meiner Position fliegt und mich erst einsammelt wenn ich eine grüne Rauchgranate geworfen habe (als LZ). Und jetzt stellt euch vor ich ruf ihn via Funk, stehe derzeit bei Punkt x, bewege mich aber danach 500m weg von Punkt x und will das der Heli nach meinem wurf der Rauchgranate an der neuen Player-Position landet :komisch: [2*] Code:
_Vspawn = _veh createVehicle (_pos); //<--- quasi hier schon die höhe einfügen und dadurch... Code:
for [{_i=600}, {_i>=0}, {_i=_i-1}] do |
Probiere mal das:
_Vspawn = _veh createVehicle ([getPos _pos select 0, getPos _pos select 1, _height]; zu deinem Heli-Script. Ich habe dir damals die Funktion mit der Rauchgranate eingebaut. Du mußt die Playerposition einfach neu definieren. Du fragst über einen Eventhandler ab, ob das Script aktiv ist (dof_evac == true) && grün geworfen wurde. Wenn ja überschreibst du deine Player Posi. Code:
for "_i" from 1 to 600 do _spielerposi = getPos player |
Zitat:
Zitat:
aber ich wollte ja keine Rauchgranate an meine Position spawnen (die spawnt übrigends auch genau da wo ich den funkspruch abgelassen habe), sondern via eventhandler selbst eine werfen und am besten die neue position der rauchgranate nehmen:rolleyes: |
Du hattest garnichts zu einer Rausgranate gesagt, dass hatte ich von meiner Seite her eingebaut! (nur mal so am Rande) Und klar spawnt die Rauchgranaten an deiner Posi, weil _pos drin steht. Du kannst die Zeile auch deaktivieren...
Du wolltest ein einfaches Script haben. Heli rufen - Heli kommt - Einsteigen und ab. Dann drücke dich doch bitte das nächstemal klarer aus. Ansonsten über die cos funktion einen Abstand in deine Blickrichtung ermitteln und da spawnen lassen. Oder aber via Eventhandler abfragen. Bedenke, was soll passieren a) wenn der Soldat keine solcher Granaten hat b) bis wann muss die Granate geworfen wurden sein, damit der Heli neue Daten bekommt. addEventHandler - Bohemia Interactive Community Edit: ich lasse eine Objekt auf meiner Posi spawnen und teleportiere es hoch. Es blitzt gaaaanz kurz auf. Alternativ einfach eine x-beliebige Position auf der Karte nehmen. und dann versetzen |
Sorry Drunken Officer,
ich wollte jetzt nicht bewirken das du irgendwie aufgebracht bist deswegen :oh: ...ja du hast recht, ich wollte ein simples script haben. das hatte ich dann auch und DU hast mich auf die idee mit der rauchgranate gebracht und diese wollte ich einfach etwas anders umsetzen (via eventhandler) derzeit sieht das script so aus: Code:
/* - - - - - - - - - - - - - - - - - - - - - - - - - - |
statt den WP zu löschen, nachdem die Granate geworfen wurde, mußt du diesen verschieben
setWPPos - Bohemia Interactive Community Außerdem mußt du deinen Heli anhalten. Da nimmst du eine falsche Variable Code:
waitUntil {_heli distance _pos < 500}; warte bis Distanz kleiner 500 bla bla, schlafe, bla bla lösche Wegpunkt mit Index 0 füge hinzu eine WP für Gruppe Heli auf der Position _heli mit dem Index 1. _heli ist aber als select 0 definiert und somit dein Fahrzeug. Ein Pos-Angabe fordert einen Array!!! dann mach es so: Code:
deleteWaypoint [group _heli , 0]; Entweder der typ wirft ne Granate, dann von HOLD auf MOVE setzen oder aber, nach einer Zeit x, alle Wegpunkte löschen und den HEli zurück zur Basis fliegen lassen. Außerdem, was passiert, wenn der Spieler sieht, oh cool Rauch, ich werf mal eine. Dann ist bei deinem Script die Granate geworfen, wird aber u.U. nicht erkannt! Also muss die Abfrage eher rein. Und dann sollte eine IF Abfrage kommen. Die if (!heli_unterwegs) brauchst du nicht, da vorher das script beeendet wird, wenn der Heli bereits unterwegs ist |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:27 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias