Armed-Assault.de Twitter


 
 
Themen-Optionen Ansicht
Alt 25.12.2013, 13:36   #1 (permalink)
500 Beiträge1000 Beiträge
 
Registriert seit: 05.01.2008
Alter: 32
Beiträge: 1.703
Standard 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;
};
Script mit Variablen (_innerLight und _outerLight werden mit entsprechenden Classnames ersetzt):
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;
};
Sieht einer von euch einen Unterschied zwischen den beiden Rechnungen?

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).
JoeJoe87577 ist offline  
Alt 25.12.2013, 13:50   #2 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
Standard

Die wichtigste Info fehlt mal wieder... wie füllst Du denn die Variablen _innerLight und _outerLight?

Ich schätze der String wird nicht richtig übergeben?!
__________________
Buliwyf ist offline  
Alt 25.12.2013, 13:54   #3 (permalink)
500 Beiträge1000 Beiträge
 
Registriert seit: 05.01.2008
Alter: 32
Beiträge: 1.703
Standard

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"};
};
Das ist nicht das Problem, die Klassen werden ordentlich ausgewählt.
JoeJoe87577 ist offline  
Alt 25.12.2013, 15:29   #4 (permalink)
500 Beiträge1000 Beiträge
 
Registriert seit: 05.01.2008
Alter: 32
Beiträge: 1.703
Standard

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).
JoeJoe87577 ist offline  
Alt 25.12.2013, 17:45   #5 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 38
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Du rechnest 0*1...

Schreib nicht from 0 to.... sondern 1 to...
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline  
Alt 25.12.2013, 17:50   #6 (permalink)
500 Beiträge1000 Beiträge
 
Registriert seit: 05.01.2008
Alter: 32
Beiträge: 1.703
Standard

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.
JoeJoe87577 ist offline  
Alt 26.12.2013, 21:15   #7 (permalink)
500 Beiträge1000 Beiträge
 
Registriert seit: 05.01.2008
Alter: 32
Beiträge: 1.703
Standard

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.
JoeJoe87577 ist offline  
Alt 27.12.2013, 09:55   #8 (permalink)
Newbie
 
Registriert seit: 03.11.2013
Beiträge: 23
Standard

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
SmokyJoey ist offline  
Alt 27.12.2013, 10:30   #9 (permalink)
500 Beiträge1000 Beiträge
 
Registriert seit: 05.01.2008
Alter: 32
Beiträge: 1.703
Standard

Das Problem ist, dass ich mit setDir jedes Objekt um sich selbst drehe. Ich will aber alle Objekte zusammen um einen Punkt drehen.
JoeJoe87577 ist offline  
Alt 27.12.2013, 11:13   #10 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
Standard

Sowas? >> SHK moveObjects - Scripts - Armaholic <<
__________________
Buliwyf ist offline  
Alt 27.12.2013, 11:34   #11 (permalink)
500 Beiträge1000 Beiträge
 
Registriert seit: 05.01.2008
Alter: 32
Beiträge: 1.703
Standard

Jaa Danke Buliwyf, dass ist genau das was ich noch gebraucht hab
JoeJoe87577 ist offline  
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ä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


Kontakt - HX3.de - Archiv - Nach oben

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