25.12.2013, 13:36 | #1 (permalink) |
Registriert seit: 05.01.2008
Alter: 32
Beiträge: 1.703
|
Probleme mit Rechnung in einem Script
Hallo zusammen,
ich habe ein Problem mit einer Rechnung in einem Script. Ich erzeuge Lichter um ein Helipad herum mit mehreren for Schleifen. Wenn ich das Ganze mit festen werten mache funktioniert alles auch wie es soll. Sobald ich aber dafür eine Variable einsetze zerlegt es mir die letzte Schleife. Script mit festen werten Code:
Helipad Position [23200, 18950,3.19] for "_i" from 0 to 5 do { "Land_Flush_Light_yellow_F" createVehicle [(23201.25 - (_i*.5)),18950,3.19]; sleep .1; }; for "_i" from 1 to 4 do { "Land_Flush_Light_yellow_F" createVehicle [23201.25,(18950 + (_i*.5)),3.19]; "Land_Flush_Light_yellow_F" createVehicle [23198.75,(18950 + (_i*.5)),3.19]; "Land_Flush_Light_yellow_F" createVehicle [23201.25,(18950 - (_i*.5)),3.19]; "Land_Flush_Light_yellow_F" createVehicle [23198.75,(18950 - (_i*.5)),3.19]; sleep .1; }; for "_i" from 0 to 10 do { "Land_Flush_Light_green_F" createVehicle [(23195 + (_i * 1) ),18955,3.19]; "Land_Flush_Light_green_F" createVehicle [(23195 + (_i * 1) ),18945,3.19]; "Land_Flush_Light_green_F" createVehicle [23195,(18945 + (_i * 1)),3.19]; "Land_Flush_Light_green_F" createVehicle [23205,(18945 + (_i * 1)),3.19]; sleep .1; }; Code:
for "_i" from 0 to 5 do { _innerLight createVehicle [((_x + 1.25) - (_i*.5)),_y,_z]; sleep .1; }; for "_i" from 1 to 4 do { _innerLight createVehicle [(_x + 1.25),(_y + (_i*.5)),_z]; _innerLight createVehicle [(_x - 1.25),(_y + (_i*.5)),_z]; _innerLight createVehicle [(_x + 1.25),(_y - (_i*.5)),_z]; _innerLight createVehicle [(_x - 1.25),(_y - (_i*.5)),_z]; sleep .1; }; for "_i" from 0 to 10 do { _outerLight createVehicle [((_x - 5) + (_i * 1)),(_y + 5),_z]; _outerLight createVehicle [((_x - 5) + (_i * 1)),(_y - 5),_z]; _outerLight createVehicle [(_x - 5),((_y - 5) + (_i * 1)),_z]; _outerLight createVehicle [(_x + 5),((_y - 5) + (_i * 1)),_z]; sleep .1; }; Nach einigen Versuchen ist mir jetzt auch aufgefallen, dass sobald das Helipad an einer Position ohne Nachkommastellen ist, keine Probleme auftreten. Sobald das Helipad aber an einer Kommaposition ist, sind die Positionen der Lichter falsch. Geändert von JoeJoe87577 (25.12.2013 um 13:41 Uhr). |
25.12.2013, 13:54 | #3 (permalink) |
Registriert seit: 05.01.2008
Alter: 32
Beiträge: 1.703
|
Die werden so befüllt:
Code:
switch (_innerLight) do { case "red": {_innerLight = "Land_Flush_Light_red_F"}; case "green": {_innerLight = "Land_Flush_Light_green_F"}; case "yellow": {_innerLight = "Land_Flush_Light_yellow_F"}; case "blue": {_innerLight = "Land_runway_edgelight_blue_F"}; case "white": {_innerLight = "Land_runway_edgelight"}; default {_innerLight = "Land_Flush_Light_yellow_F"}; }; switch (_outerLight) do { case "red": {_outerLight = "Land_Flush_Light_red_F"}; case "green": {_outerLight = "Land_Flush_Light_green_F"}; case "yellow": {_outerLight = "Land_Flush_Light_yellow_F"}; case "blue": {_outerLight = "Land_runway_edgelight_blue_F"}; case "white": {_outerLight = "Land_runway_edgelight"}; default {_outerLight = "Land_Flush_Light_green_F"}; }; |
25.12.2013, 15:29 | #4 (permalink) |
Registriert seit: 05.01.2008
Alter: 32
Beiträge: 1.703
|
Ich werde mich später mal hin setzen und alles von Hand ausrechnen und dann hoffe ich, dass ich den Fehler in meiner Rechnung finde.
Außerdem habe ich das Script mal in den BIS Foren veröffentlicht: Link Edit: Ich habe jetzt alles nochmal von Hand durchgerechnet und dann auch nochmal vom Script ausgeben lassen. Die Werte passen, sowohl von Hand als auch vom Script berechnet. Aber die Lichter werden von ArmA an der falschen stelle erstellt. Irgendwas verhaut die Engine da mit den Positionen... Geändert von JoeJoe87577 (25.12.2013 um 16:14 Uhr). |
25.12.2013, 17:45 | #5 (permalink) |
Du rechnest 0*1...
Schreib nicht from 0 to.... sondern 1 to...
__________________
Niemand hat die Absicht eine Tüte zu bauen! ___<<<A3 Wounding System>>>___ |
|
25.12.2013, 17:50 | #6 (permalink) |
Registriert seit: 05.01.2008
Alter: 32
Beiträge: 1.703
|
Auch das war Absicht, weil die Rechnung dadurch leichter wurde. Und solange ich nicht alles mal 0 rechne (was ich mit den klammern verhindern wollte) sollte es ja funktionieren. Und es erklärt immer noch nicht warum das nur an manchen Positionen nicht geht.
|
26.12.2013, 21:15 | #7 (permalink) |
Registriert seit: 05.01.2008
Alter: 32
Beiträge: 1.703
|
Ich hab mal noch eine andere Frage, ist es möglich Objekte (die runway lights) aus einem Script heraus zu gruppieren und als ganze Gruppe um einen Punkt zu drehen? Das ganze soll dann so aussehen, wie wenn man im Editor mehrere Fahrzeuge markiert und dann mit Shift dreht.
Ich saß nämlich grade 3 Stunden an dem Problem mehrere Objekte um einen Punkt beliebig zu drehen. |
27.12.2013, 09:55 | #8 (permalink) |
Registriert seit: 03.11.2013
Beiträge: 23
|
also dass mit dem Objekte drehen würde ich in etwa so gestalten:
_objektlist = nearestObjects [quellUnit , [], 10]; { _x setDir 180} forEach _objectlist; also nur grob - nicht getestet. Ich bin nicht so der Profi - aber das wäre so meine Richtung die ich einschlagen würde |
27.12.2013, 11:13 | #10 (permalink) |
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
|
Sowas? >> SHK moveObjects - Scripts - Armaholic <<
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Beta-Patch für OpA erschienen | det99 | Community | 1429 | 18.07.2014 16:51 |
Script wird nicht vollständig ausgeführt | MagicStyle | Editing & Scripting | 20 | 04.09.2013 16:54 |
Day & Weather Script | Moerderhoschi | Editing & Scripting | 13 | 02.12.2012 10:29 |
Probleme bei Norrin Revive Script 0.49b | Jekko | Editing & Scripting | 24 | 21.09.2010 19:39 |
marker über script erzeugen | hypercop | Editing & Scripting | 2 | 28.08.2010 22:40 |