![]() |
![]() |
|
|
|||||||
| Designer Forum Treffpunkt für Gedankenaustausch von Simmern, die selbst |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#11 |
|
Master
![]() Registriert seit: 19.01.2000
Alter: 76
Beiträge: 721
|
Hallo Jens,
"V2 ist aber etwas ganz anderes..." Das sind ja ganz neue Aspekte. Muss ich mal ausprobieren. "Ich glaube, Du hattest Dir erhofft, daß die Makros vom FS automatisch vereinfacht werden. Das ist leider nicht so" Nee, in FSDS kann man den einzelnen Parts eines Objekts diese Eigenschaft über "Display Conditions...Distance to Aircraft" direkt mitgeben. Nur sind die Parameter dafür nirgends beschrieben. Es ist ein Kreuz mit diesen Handbüchern... Danke Horst |
|
|
|
|
|
#12 |
|
Master
![]() Registriert seit: 19.01.2000
Alter: 76
Beiträge: 721
|
Nee, war leider auch nix...
Horst ![]() |
|
|
|
|
|
#13 |
|
Senior Member
![]() Registriert seit: 26.04.2001
Alter: 54
Beiträge: 164
|
???
Der entsprechende Part im Makro müßte ungefähr so aussehen: mif( %11 ) RefPoint( 3 :End %1 %2 E= %11 V1= 11700 V2= 60 ) melse RefPoint( 7 :End 1 %1 %2 V1= 11700 V2= 60 ) mifend SetScaleX( :End 0 0 11 ) ; Scale=0,03125
____________________________________
Gruß Jens Wilke ![]() (der jetzt Vadder vonm Sohn geworden ist) |
|
|
|
|
|
#14 |
|
Master
![]() Registriert seit: 19.01.2000
Alter: 76
Beiträge: 721
|
Tut mir leid, ich kann leider nicht programmieren. Deshalb ging es mir ja darum die beschriebene Funktion im FSDS erklärt zu bekommen weil ich nur mit Designprogrammen arbeiten kann.
Horst |
|
|
|
|
|
#15 |
|
Senior Member
![]() Registriert seit: 26.04.2001
Alter: 54
Beiträge: 164
|
Du könntest aber wenigsten im Makro nachsehen, ob der Code ungefähr so aussieht. Die entsprechende Stelle dürfte ziemlich weit oben zu finden sein. Und wie Du sehen kannst, steht vor den Zahlen ja V1 und V2 - da kann man dann eigentlich nix verkehrt machen, wenn man die Zahlen mal von Hand im FSDS-produzierten Makro verändert.
![]()
____________________________________
Gruß Jens Wilke ![]() (der jetzt Vadder vonm Sohn geworden ist) |
|
|
|
|
|
#16 |
|
Master
![]() Registriert seit: 19.01.2000
Alter: 76
Beiträge: 721
|
Ich hab jetzt mal mit dem FSDS ein ganz simples Objekt, einen Quader 1x1x1m gemacht, diesem V1=1000 und V2=2000 zugewiesen und ein API draus gemacht. Den Text im Eingabefenster verstehe ich so dass das Objekt jetzt beim drauf zu Fliegen ab 2000 m sichtbar und ab 1000 m wieder unsichtbar werden müsste. Zu sehen ist aber gar nichts.
Hier das API. Ein solcher Textblock wie du schreibst ist enthalten, sieht aber irgendwie anders aus: ;VODDATA Latitude Longitude Range Scale Rotation Not_used Not_used Not_used Not_used Visibility Altitude Scenery_complexity(0-5) Not_used Not_used ;MACRODESC FSDS object 1x1 using scale 1.000000 ;Generated with FS Design Studio v1.6 ;Copyright 2000 ; %1 = Latitude ; %2 = Longitude ; %3 = Range ; %4 = Scale ; %5 = Rotation ; %6 = Not used ; %7 = Not used ; %8 = Not used ; %9 = Not used ; %10 = Visibility range ; %11 = Altitude ; %12 = Scenery complexity mif( 0 ) ; displays airport symbol Area( 5 %1 %2 1 ) RotatedCall( :symbol 0 0 %5 ) Jump( :endsymbl ) :symbol RefPoint( 7 : 1 %1 %2 ) Points( 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) Poly( a 1 5 2 ) Poly( a 2 5 3 ) Poly( a 3 5 4 ) Poly( a 4 5 1 ) Return :endsymbl EndA mifend Area( 5 %1 %2 %3 ) IfVarRange( :Exit 0346 %12 5 ) PerspectiveCall( :PCall ) ShadowCall( :PC02 ) Jump( :Exit ) :PCall Perspective :PC02 mif( %11 ) RefPoint( 2 :Skip %4 %1 %2 E= %11 v1= %10 V2= 2 ) melse RefPoint( 7 :Skip %4 %1 %2 v1= %10 v2= 2 ) mifend RotatedCall( :B 0 0 %5 ) Return :B ; CRASH Detection IfVarRange3( :NoCrash 37E 0 0 382 0 1 386 0 0 ) SetVar( 0284 14 ) :NoCrash Call32( :Part0 ) :Skip Return :Exit Jump32( :End ) ; ; Part: Box :Part0 IfVarRange( :Skip 33a 1000 2000 ) Points( 0 0 0 0 ; 0 0 1 0 ; 1 1 1 0 ; 2 1 0 0 ; 3 0 0 1 ; 4 0 1 1 ; 5 1 1 1 ; 6 1 0 1 ; 7 ) ;RGBSColor( ef 255 255 255 ) Dwx( 2d ) ; color command Dbd( 255 ) ; red Dbx( ef ) ; flag/transparency Dbd( 255 ) ; green Dbd( 255 ) ; blue Poly( 0 0 -32767 0.50 0 1 2 3 ) Poly( 0 0 32767 0.50 7 6 5 4 ) Poly( -32767 0 0 0.50 5 1 0 4 ) Poly( 32767 0 0 0.50 2 6 7 3 ) Poly( 0 32767 0 1.00 5 6 2 1 ) Poly( 0 -32767 0 0.00 0 3 7 4 ) Return :End EndA Horst |
|
|
|
|
|
#17 |
|
Senior Member
![]() Registriert seit: 26.04.2001
Alter: 54
Beiträge: 164
|
Na bitte, ist doch alles gar nicht so schwer. Jetzt ist auch klar, warum es nicht funktioniert. 4 Zeilen aus dem Text haben die entscheidende Bedeutung:
; %10 = Visibility range Hier erfahren wir zunächst, daß die Variable "%10" die Sichtweite bezeichnet. Dummerweise kommt irgendwann diese Zeile: Area( 5 %1 %2 %3 ) Die in diesem Fall entscheidende Bedeutung hat in diesem Fall die Zahl 5: Das ist nämlich die Entfernung in Kilometern, ab der das Objekt in den Speicher geladen wird. Da kann V1 auch 100.000 groß sein, zu sehen ist trotzdem erst ab 5km was. Die restlichen beiden Zeilen hatte ich schon mal angesprochen: IfVarRange( :Exit 0346 %12 5 ) PerspectiveCall( :PCall ) ShadowCall( :PC02 ) Jump( :Exit ) :PCall Perspective :PC02 mif( %11 ) !!!!! RefPoint( 2 :Skip %4 %1 %2 E= %11 v1= %10 V2= 2 ) !!!!! melse !!!!! RefPoint( 7 :Skip %4 %1 %2 v1= %10 v2= 2 ) !!!!! mifend RotatedCall( :B 0 0 %5 ) Return Interessieren tut, was nach v1= und nach v2= kommt: Bei V1 steht die Variable "%10" und aus der Beschreibung wissen wir ja, daß damit die Sichtweite gemeint ist. Daß da eine Variable und kein Wert wie 5000 o.ä. steht, deutet darauf hin, daß man im Design-Programm festlegen kann, wie groß dieser Wert sein soll. Aaaber: Man kann im Programm zwar größer als 5km festlegen, wegen dem Range-Wert wird es aber immer erst ab 5km angezeigt. Hinter V2 steht in diesem Fall der Wert 2, der vom Programm automatisch berechnet wurde und hier den Durchmesser einer gedachten Halbkugel ums Objekt in Metern angibt. Jetzt klarer?
____________________________________
Gruß Jens Wilke ![]() (der jetzt Vadder vonm Sohn geworden ist) |
|
|
|
|
|
#18 |
|
Inventar
![]() Registriert seit: 02.01.2002
Alter: 61
Beiträge: 4.238
|
Jens ganz sicher das bei Area( 5
die 5 für eine Entfernung von 5000m steht. In den Scasm Docs steht das nämlich anders. Hier steht was von 0...22km (0...40km)für invisible bei Area( 5 Bei Area( 8 steht das dieses 40...130km bedeutet. Bei Area( B steht das dieses 0...255km bedeutet. Da 5 oder 8 demnach hier nicht für Zahlenwerte in 1000m stehen wundert mich diese Interpretation mit Metern. Bei Runways konnte ich das mit dem sichtbar werden der Runway bei Area( 5 nämlich eher den 22km zuordnen als den 5km. Das ist für mich nämlich auch eine entscheidende Frage bei der Dokumentation des Verschwindens/Flackerns von Taxiwaytexturen bei Airports. Ich hoffe Du hast Dich geirrt. Ich möchte ja wenn möglich nichts falsches in die Dokumenation schreiben. Wenn ich nicht recht habe klär mich mal bitte auf. Es steht übrigends in der scacmd2.doc. |
|
|
|
|
|
#19 |
|
Senior Member
![]() Registriert seit: 26.04.2001
Alter: 54
Beiträge: 164
|
Danke, JOBIA, Du hast natürlich Recht: Nich die erste, sondern die letzte Zahl in der Range-Anweisung betrifft die Kilometer, in diesem Fall ist es auch eine Variable, nämlich die "%3"
Habe halt seit etwas längerer Zeit nichts mehr von derselbigen gehabt, um was zu machen, weil ich noch viiiiiiiel mit meinem Sohn beschäftigt bin.
____________________________________
Gruß Jens Wilke ![]() (der jetzt Vadder vonm Sohn geworden ist) |
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|