Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 14.11.2011, 22:40   #1 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von CptMike
 
Registriert seit: 10.01.2010
Alter: 74
Beiträge: 175
Standard Chinook Innenbeleuchtung

Hallo Kameraden!
Ich würde bitte eure Hilfe benötigen und zwar möchte ich bei einem Chinook die Innenraumbeleuchtung rot haben.
Wie muß ich diese Zeilen in einem script verarbeiten?
Sollte auf einem Dediserver gehen.

_cabinLight = "#lightpoint" createVehicle position NameHueyHeli;
_cabinLight setLightBrightness 0.00075;
_cabinLight setLightAmbient [1, 0, 0];
_cabinLight setLightColor [1, 0, 0];
_cabinLight lightAttachObject [NameHueyHeli, [0, -3.25, -0.25]];

setLightBrightness = Die Lichtstärke, wie hell die Lichtquelle leuchten soll. (0-1)
setLightAmbient = Das Licht Ambiente (am besten die selben Werte wie für setLightColor)
setLightColor = Die Lichtfarbe von weiss über blau und grün zu rot (setLightColor [rot, grün, blau]
weiss = [1, 1, 1] grün = [0, 1, 1] rot = [1, 0, 0] blau = [0, 0, 1]
lightAttachObject = Hier wird das Licht an ein Objekt/Fahrzeug geheftet. (wie attachTo Befehl)
CptMike ist offline  
Alt 15.11.2011, 11:32   #2 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von CptMike
 
Registriert seit: 10.01.2010
Alter: 74
Beiträge: 175
Standard

Ich muß mich an dich wenden Vienna und zwar habe ich das mit der Innebeleuchtung in einem Chinook schon hinbekommen aber wie füge ich das in dein Heliscript ein?
synchronizewaypoint & GETIN/ LOAD
Am besten wäre es wenn er landet das er das rote Licht einschaltet.
Vielleicht hast mal Zeit Vienna bitte.
Mike

Geändert von CptMike (15.11.2011 um 11:38 Uhr).
CptMike ist offline  
Alt 15.11.2011, 19:06   #3 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Das Skript wie im Beispiel in der Initzeile des Obj aufrufen.

Dem Skript werden 4 Parameter übergeben:

1. Objekt an die das Licht gebunden wird
2. Höhe bis zu der das Licht leuchtet (von 0 - _bisMeter)
3. Helligkeit des Lichts
4. Array für Position des Lichts am Objekt

Die Helligkeit ist im Beispiel 0.01 damit im Test besser ersichtlich.

Die Farbe ist rot. Eine andere Farbe müsste direkt im Skript geändert werden.

Skript "Kabinenlicht.sqf"
Code:
//Licht für ein Objekt

//Aufruf: [Objekt, Licht unter x Meter an, Helligkeit, [Position des Lichts am Objekt]] execVM "Kabinenlicht.sqf";

//Aufrufbeispiel für Initzeile des Helis: temp = [Heli1,50,0.01,[0, -3.25, -0.25]] execVM "Kabinenlicht.sqf";

if (!isServer) exitWith {}; //exit wenn nicht Server

private ["_Objekt","_bisMeter","_Helligkeit","_LichtPos","_Licht","_Ein"];

_Objekt     = _this select 0; // Objekt an die das Licht gebunden wird
_bisMeter   = _this select 1; // Höhe bis zu der das Licht leuchtet (von 0 - _bisMeter)
_Helligkeit = _this select 2; // Helligkeit des Lichts
_LichtPos   = _this select 3; // Array für Position des Lichts am Objekt

_Licht = "#lightpoint" createVehicle [0,0];
_Licht setLightAmbient    [1, 0, 0];
_Licht setLightColor      [1, 0, 0];
_Licht lightAttachObject  [_Objekt, _LichtPos];

while {damage _Objekt < 0.8} do  //Schleife solange Objekt nicht zerstört
  {
    if (position _Objekt select 2 > _bisMeter) then // Licht aus
      {
        _Licht setLightBrightness 0;
        //warten bis Objekt unter der Höhe
        waitUntil {damage _Objekt > 0.8 or position _Objekt select 2 < _bisMeter} 
      }
    else                                            // Licht ein 
      {
        _Licht setLightBrightness _Helligkeit;
        //warten bis Objekt über der Höhe
        waitUntil {damage _Objekt > 0.8 or position _Objekt select 2 > _bisMeter} 
      }
  };

deleteVehicle _Licht  //Lichtobjekt löschen


/*
setLightBrightness = Die Lichtstärke, wie hell die Lichtquelle leuchten soll. (0-1)
setLightAmbient    = Das Licht Ambiente (am besten die selben Werte wie für setLightColor)
setLightColor      = Die Lichtfarbe von weiss über blau und grün zu rot (setLightColor [rot, grün, blau] 
                     weiss = [1, 1, 1]  grün = [0, 1, 1]  rot = [1, 0, 0]  blau = [0, 0, 1]
lightAttachObject  = Hier wird das Licht an ein Objekt/Fahrzeug geheftet. (wie attachTo Befehl)
*/
Vienna ist offline  
Alt 15.11.2011, 22:02   #4 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von CptMike
 
Registriert seit: 10.01.2010
Alter: 74
Beiträge: 175
Standard

Werde ich sofort testen Vienna.
Ja Vienna funktioniert schon mal super, aber ich habe ja keinen Heli im Editor plaziert sondern der Heli kommt ja per Aufruf in deinem Script geflogen.
Ich weiß aber nicht wie ich diesen Text verbauen soll in deinem script.

Erstmal Danke!

Geändert von CptMike (15.11.2011 um 22:24 Uhr).
CptMike ist offline  
Alt 15.11.2011, 23:37   #5 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Wenn du das im Skript myHeli.sqf beim Helitransport verwendest, dann erstellst du dieses Skript im Ordner myHeli:

Kabinenlicht.sqf
Code:
//Rotes Heli-Kabinenlicht.   Lokaler aufruf.          [Vienna  15.11.2011]
//
//Aufruf: [Objekt, Licht unter x Meter an, Helligkeit, [Position des Lichts am Objekt]] execVM "Kabinenlicht.sqf";
//
//Beispiel: [_h,30,0.01,[0, -3.25, -0.25]] execVM "myHeli\Kabinenlicht.sqf";

private ["_Objekt","_bisMeter","_Helligkeit","_LichtPos","_Licht"];

_Objekt     = _this select 0; // Objekt an die das Licht gebunden wird
_bisMeter   = _this select 1; // Höhe bis zu der das Licht leuchtet (von 0 - _bisMeter)
_Helligkeit = _this select 2; // Helligkeit des Lichts
_LichtPos   = _this select 3; // Array für Position des Lichts am Objekt
//Licht erstellen
_Licht = "#lightpoint" createVehicle [0,0];
_Licht setLightAmbient    [1, 0, 0];
_Licht setLightColor      [1, 0, 0];
_Licht lightAttachObject  [_Objekt, _LichtPos];
//Schleife solange Objekt vorhanden
while {alive _Objekt} do  
  {
    if (position _Objekt select 2 > _bisMeter) then // Licht aus
      {
        _Licht setLightBrightness 0;
        //warten bis Objekt unter der Höhe
        waitUntil {!alive _Objekt or position _Objekt select 2 < _bisMeter} 
      }
    else                                            // Licht ein 
      {
        _Licht setLightBrightness _Helligkeit;
        //warten bis Objekt über der Höhe
        waitUntil {!alive _Objekt or position _Objekt select 2 > _bisMeter} 
      }
  };
deleteVehicle _Licht  //Lichtobjekt löschen

Ins Helitransport-Skript myHeli.sqf bindest du das so an dieser Stelle ein:
Code:
...

// _h: Heli
  _h = createVehicle ["Mi17_Civilian", myHeliZielPosition, [], _dErst, "FLY"];

//Kabinenlicht aufrufen
  [_h,30,0.01,[0, -3.25, -0.25]] execVM "myHeli\Kabinenlicht.sqf";

...
Als Höhengrenze wären hier 30m. Die Lichtstärke ist wieder zum Testen auf 0.01 angeführt.
Vienna ist offline  
Alt 16.11.2011, 10:08   #6 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von CptMike
 
Registriert seit: 10.01.2010
Alter: 74
Beiträge: 175
Standard

Kurz und bündig funktioniert perfekt auch auf einem Dediserver.

Danke Vienna
CptMike ist offline  
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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
Chinook Innenbeleuchtung CptMike Editing & Scripting 3 15.11.2011 13:44
Chinook will beim landen nicht warten? CptMike Editing & Scripting 2 29.07.2010 13:11


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