Teraz jest Cz 16 kwi, 2026 21:25


Zmiana koloru światła (latarnie)

Archiwum działów sekcji Operation Flashpoint
  • Autor
  • Wiadomość
Offline
Avatar użytkownika

Grabarz^^

Chorąży

Chorąży

  • Posty: 224
  • Dołączył(a): Pn 19 lip, 2004 23:59
  • Lokalizacja: Darłowo

Zmiana koloru światła (latarnie)

PostN 30 sty, 2005 12:38

Dostałem zamówienie na wykonanie latarnii w wersji "energoszczędnej", czyli świecącej na pomarańczowo. Latarnie te nie mają być widoczne w edytorze, za to muszą być widoczne w WRPTool. No i są, pięknie działają, ale ciągle świecą na biało :roll: Wiem że za kolor światła odpowiadają te dwie linijki w config.cpp

Kod: Zaznacz cały
colorDiffuse[]={1.0,1.0,1.0};
colorAmbient[]={1.0,1.0,1.0};


Po takim ustawnieniu, światło jest białe i analogicznie myśląc, po zmianie niektórych wartości powinno zmienić kolor, ale tak się nie dzieje. Nie wiem, może trzeba znać dokładne wartości? A może jest jakiś sposób żeby "obliczać" kolor światła (wpisuje się wartość i wyskakuje kolor)? Wiem że jest to możliwe, bo w którymś addonie widziałem takie kolorowe latarnie (umieszczone fizycznie na wyspie).
Offline
Avatar użytkownika

offtime

Pułkownik

Pułkownik

  • Posty: 1089
  • Dołączył(a): So 21 sie, 2004 10:39
  • Lokalizacja: Katowice

PostN 30 sty, 2005 13:39

nie jestem specem w takich sprawach...
zastanawiam sie czy addony nie wstawiane z edytora wogole maja wczytywany konfig, wstaw na mape czolg w programie do robienia mapy i sprawdz czy w grze bedzie w pelni funkcjonalny... pewnie nie, bo jego konfig bedzie pominiety.
dlatego obiekty robione pod katem wstawiania na mapie maja taka szeroka game wpisow w Named properties...
nie mam pojecia czy da sie tez tam zdefiniowac kolor takiej latarni.
jak narazie wyglada to tak ze nie zaleznie od tego jakie wartosci wpiszesz w cpp to latarnia wstawiona w trakcie tworzenia mapy zawsze bedzie swiecic tak samo...

moze wartoby bylo zrobic te latarnie zwyczajnie jak do edytora tylko wartosc odpowiadajaca za wyswietlanie na liscie w edytorze zmienic. a pozniej na poczatku misji skryptem poustawiac na mapie... wszystko zalezy od tego jak bardzo zalezy wm na takim a nie innym rozwiazaniu ktore opisales.

ponizej cpp z tego starego addonu swiatel kolorowych, moze bedzie pomocne.
Kod: Zaznacz cały
#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TEnemy 5
#define TFriendly 6
#define TLogic 7

#define true 1
#define false 0

// type scope
#define private 0
#define protected 1
#define public 2

class CfgPatches
{
   class RunwayMarkerWhite{units[]={RunwayMarkerWhite};};
   class RunwayMarkerBlue{units[]={RunwayMarkerBlue};};
   class RunwayMarkerGreen{units[]={RunwayMarkerGreen};};
   class RunwayMarkerRed{units[]={RunwayMarkerRed};};
   class RunwayMarkerYellow{units[]={RunwayMarkerYellow};};
   class SmallRunwayMarkerWhite{units[]={SmallRunwayMarkerWhite};};
   class SmallRunwayMarkerBlue{units[]={SmallRunwayMarkerBlue};};
   class SmallRunwayMarkerGreen{units[]={SmallRunwayMarkerGreen};};
   class SmallRunwayMarkerRed{units[]={SmallRunwayMarkerRed};};
   class SmallRunwayMarkerYellow{units[]={SmallRunwayMarkerYellow};};
   class LargeRunwayMarkerWhite{units[]={LargeRunwayMarkerWhite};};
   class LargeRunwayMarkerYellow{units[]={LargeRunwayMarkerYellow};};
};

class CfgSounds
{
   class empty
   {
      name="empty";
      sound[]={"",0.000000,1.000000};
      titles[]={};
   };
}

class CfgVehicles
{

   class All {};
   class Static: All {};
   class Building: Static {};
   class Strategic : Building {};
   class Target : Strategic {};
   class RunwayMarkerWhite: Target
   {
      scope=public;
      simulation="fire";
      sound="empty";
      VehicleClass="Objects";
      displayName="Runway Marker White";
      model="empty";

            
      class smoke {
         interval=0;
         timetolive=0;
         cloudletDuration=10;
         cloudletAnimPeriod=0;
         cloudletSize=0;
         cloudletAlpha=0;
         cloudletGrowUp=0;
         cloudletFadeIn=0;
         cloudletFadeOut=0;
         cloudletAccY=0;
         cloudletMinYSpeed=0;
         cloudletMaxYSpeed=0;
         cloudletShape=koulesvetlo;
         cl_basic=0;
         cloudletColor[]={0,0,0,0};
         initT=0;
         deltaT=0;
         maxT=0;
         class table{};
         density=0;
         size=0;
         in=0;
         out=0;
         initYSpeed=0;
      }
      
      
      class Light
      {
         Shape="koulesvetlo";
         color[] = {1.0, 1.0, 1.0, 1.0};
         ambient[] = {0.0, 0.0, 0.0, 0.0};
         position = "light";

         size = 0.15;
         brightness = 0.0;
      };   
      
   };
   class RunwayMarkerBlue: RunwayMarkerWhite
   {
      displayName="Runway Marker Blue";
      class Light
      {
         Shape="koulesvetlo";
         color[] = {0.1, 0.1, 1.0, 1.0};
         ambient[] = {0.0, 0.0, 0.0, 0.0};
         position = "light";

         size = 0.15;
         brightness = 0.0;
      };   
      
   };
   class RunwayMarkerGreen: RunwayMarkerWhite
   {
      displayName="Runway Marker Green";
      class Light
      {
         Shape="koulesvetlo";
         color[] = {0.0, 1.0, 0.0, 1.0};
         ambient[] = {0.0, 0.0, 0.0, 0.0};
         position = "light";

         size = 0.15;
         brightness = 0.0;
      };   
      
   };
   class RunwayMarkerRed: RunwayMarkerWhite
   {
      displayName="Runway Marker Red";
      class Light
      {
         Shape="koulesvetlo";
         color[] = {1.0, 0.2, 0.2, 1.0};
         ambient[] = {0.0, 0.0, 0.0, 0.0};
         position = "light";

         size = 0.15;
         brightness = 0.0;
      };   
   };   
   class RunwayMarkerYellow: RunwayMarkerWhite
   {
      displayName="Runway Marker Yellow";
      class Light
      {
         Shape="koulesvetlo";
         color[] = {1.0, 1.0, 0.0, 1.0};
         ambient[] = {0.0, 0.0, 0.0, 0.0};
         position = "light";

         size = 0.15;
         brightness = 0.0;
      };   
   };
   class SmallRunwayMarkerWhite: RunwayMarkerWhite
   {
      displayName="Small Runway Marker White";
      class Light
      {
         Shape="koulesvetlo";
         color[] = {1.0, 1.0, 1.0, 1.0};
         ambient[] = {0.0, 0.0, 0.0, 0.0};
         position = "light";

         size = 0.07;
         brightness = 0.0;
      };   
      
   };
   class SmallRunwayMarkerBlue: RunwayMarkerWhite
   {
      displayName="Small Runway Marker Blue";
      class Light
      {
         Shape="koulesvetlo";
         color[] = {0.1, 0.1, 1.0, 1.0};
         ambient[] = {0.0, 0.0, 0.0, 0.0};
         position = "light";

         size = 0.07;
         brightness = 0.0;
      };   
      
   };
   class SmallRunwayMarkerGreen: RunwayMarkerWhite
   {
      displayName="Small Runway Marker Green";
      class Light
      {
         Shape="koulesvetlo";
         color[] = {0.0, 1.0, 0.0, 1.0};
         ambient[] = {0.0, 0.0, 0.0, 0.0};
         position = "light";

         size = 0.07;
         brightness = 0.0;
      };   
      
   };
   class SmallRunwayMarkerRed: RunwayMarkerWhite
   {
      displayName="Small Runway Marker Red";
      class Light
      {
         Shape="koulesvetlo";
         color[] = {1.0, 0.2, 0.2, 1.0};
         ambient[] = {0.0, 0.0, 0.0, 0.0};
         position = "light";

         size = 0.07;
         brightness = 0.0;
      };   
   };   
   class SmallRunwayMarkerYellow: RunwayMarkerWhite
   {
      displayName="Small Runway Marker Yellow";
      class Light
      {
         Shape="koulesvetlo";
         color[] = {1.0, 1.0, 0.0, 1.0};
         ambient[] = {0.0, 0.0, 0.0, 0.0};
         position = "light";

         size = 0.07;
         brightness = 0.0;
      };
   };   
   class LargeRunwayMarkerWhite: RunwayMarkerWhite
   {
      displayName="Large Runway Marker White";
      class Light
      {
         Shape="koulesvetlo";
         color[] = {1.0, 1.0, 1.0, 1.0};
         ambient[] = {0.0, 0.0, 0.0, 0.0};
         position = "light";

         size = 0.4;
         brightness = 0.0;
      };   
   };   
   class LargeRunwayMarkerYellow: RunwayMarkerWhite
   {
      displayName="Large Runway Marker Yellow";
      class Light
      {
         Shape="koulesvetlo";
         color[] = {1.0, 1.0, 0.0, 1.0};
         ambient[] = {0.0, 0.0, 0.0, 0.0};
         position = "light";

         size = 0.4;
         brightness = 0.0;
      };   
   };   
};

Obrazek

Diesel

PostN 30 sty, 2005 13:48

Grabarz, sciągnąłeś TEN program? :-)
Offline
Avatar użytkownika

offtime

Pułkownik

Pułkownik

  • Posty: 1089
  • Dołączył(a): So 21 sie, 2004 10:39
  • Lokalizacja: Katowice

PostN 30 sty, 2005 14:11

YacieK napisał(a):Grabku- jest gotowy addon z kolorowymi światłami ulicznymi - nazywa się streetlamp i jest na naszej stronce w dziale downloadu. Uzywam go - masz tam kilka kolorów oświetlenia.

Grabarz^^ napisał(a):[...] Latarnie te nie mają być widoczne w edytorze, za to muszą być widoczne w WRPTool. [...]

i tu jest problem YacieK:]
Offline
Avatar użytkownika

ag_smith

Chorąży

Chorąży

  • Posty: 243
  • Dołączył(a): Pt 21 sty, 2005 00:27
  • Lokalizacja: Wawa

PostCz 03 lut, 2005 18:49

Wśród wykładowców na mojej uczelni krąży taka anegdota "Skąd ekspert czerpie swoją wiedzę? -Pyta innego eksperta! :P ".....

Tu jest konfig z jednego z kilku (wielu?) dostępnych addonów, w których są lampy działające w WRP o innych niż standarodwe parametry.
Kod: Zaznacz cały
class CfgNonAIVehicles
{
   class StreetLamp {};
   class StreetLampPanel: StreetLamp{};
   //  model by BIS
   class f3wx_StreetLampPanel:StreetLampPanel
   {
      displayName = "Streetlamp";
      vehicleClass="3WX Misc Objects";
      hideUnitInfo=1;
      scope=2;
      side=3;
      model="\f3wx_o1\f3wx_vo_seda.p3d";
      colorDiffuse[]={0.900000,0.900000,0.900000};
      colorAmbient[]={0.700000,0.700000,0.700000};
      brightness=0.07;
      armorBulb=1;
//           destrType=DestructTree;
   };

   // yellowish version
   class f3wx_StreetLampPanelYellow:f3wx_StreetLampPanel
   {
      displayName = "Streetlamp (Yellow)";
      model="\f3wx_o1\f3wx_vo_seda_y.p3d";
                colorDiffuse[]={1.0,0.9,0.6,0.3};
                colorAmbient[]={1.0,0.9,0.6,0.3};      
   }
};

Ponieważ to cytat wprost proszę nie kopiować bezpośrednio, tylko chociaż tagi pozmieniać... ;)

Miało być pomarańczowe? No to może tak:

colorDiffuse[]={0.99609,0.69141,0.39453,0.3};
colorAmbient[]={0.99609,0.69141,0.39453,0.3};

Dopisane:
Modele wbudowane w plik WRP są jednak powiązane z wpisami w config.cpp. W ten sposób możliwe jest działanie animacji (np. drzwi), drabin, działają także niektóre eventhandlery (np. killed, ale niestety nie init).
Offline
Avatar użytkownika

Grabarz^^

Chorąży

Chorąży

  • Posty: 224
  • Dołączył(a): Pn 19 lip, 2004 23:59
  • Lokalizacja: Darłowo

PostN 06 lut, 2005 13:44

Dziękuję agencie Kowalski ;) Wszystko działa jak należy, wiedziałem że jakoś się da to ustawić :)

Powrót do Operation Flashpoint

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości