Teraz jest Cz 28 mar, 2024 12:25


Pogoda/Efekty z kampanii EW

Dział poświęcony edytorowi ArmA II i Operation Arrowhead, czyli tworzeniu misji.
  • Autor
  • Wiadomość
Offline

PLAYER777

Szeregowy

Szeregowy

  • Posty: 15
  • Dołączył(a): Śr 06 lip, 2011 00:25

Pogoda/Efekty z kampanii EW

PostPt 15 lip, 2011 19:33

Witam!

Chciałbym w swojej misji użyć pogody/efektów(wstrząsy,podmuchy) która została użyta w 2 misji tej kampanii "End of the world" . Czy jest to możliwe? Jeśli tak to jak to zrobić?
Jeśli nie da się tego zrobić to czy istnieje jakiś mod który dodaje podobne efekty do gry?

Z góry dzięki za pomoc.
Offline
Avatar użytkownika

Dodo

Szeregowy

Szeregowy

  • Posty: 32
  • Dołączył(a): So 31 paź, 2009 20:26
  • Lokalizacja: Piaseczno

PostŚr 03 sie, 2011 18:11

Heh, skoro zrobili to w EW to napewno da się to zrobić :cfaniak:

Przy okazji udostępnie ci parę skryptów które wyciągnąłem z kampanii za pomocą UnPBO:

Skrypt bomby atomowej:
Oto i bomba którą chciało użyć bardzo dużo missionmakerów:
Stwórz w folderze swojej misji skrypt o nazwie nuke2.sqf i wklej do niego to:
Kod: Zaznacz cały
setaperture 1.5;


//*******************************************************************
//*******************************************************************

_Cone = "#particlesource" createVehicleLocal getpos nukepos;
_Cone setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 7, 48], "", "Billboard", 1, 10, [0, 0, 0],
            [0, 0, 0], 0, 1.275, 1, 0, [40,80], [[0.25, 0.25, 0.25, 0], [0.25, 0.25, 0.25, 0.5],
            [0.25, 0.25, 0.25, 0.5], [0.25, 0.25, 0.25, 0.05], [0.25, 0.25, 0.25, 0]], [0.25], 0.1, 1, "", "", nukepos];
_Cone setParticleRandom [2, [1, 1, 30], [1, 1, 30], 0, 0, [0, 0, 0, 0.1], 0, 0];
_Cone setParticleCircle [10, [-10, -10, 20]];
_Cone setDropInterval 0.005;

_top = "#particlesource" createVehicleLocal getpos nukepos;
_top setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 3, 48, 0], "", "Billboard", 1, 20, [0, 0, 0],
            [0, 0, 60], 0, 1.7, 1, 0, [60,80,100], [[1, 1, 1, -10],[1, 1, 1, -7],[1, 1, 1, -4],[1, 1, 1, -0.5],[1, 1, 1, 0]], [0.05], 1, 1, "", "", nukepos];
_top setParticleRandom [0, [75, 75, 15], [17, 17, 10], 0, 0, [0, 0, 0, 0], 0, 0, 360];
_top setDropInterval 0.002;

_top2 = "#particlesource" createVehicleLocal getpos nukepos;
_top2 setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 3, 112, 0], "", "Billboard", 1, 20, [0, 0, 0],
            [0, 0, 60], 0, 1.7, 1, 0, [60,80,100], [[1, 1, 1, 0.5],[1, 1, 1, 0]], [0.07], 1, 1, "", "", nukepos];
_top2 setParticleRandom [0, [75, 75, 15], [17, 17, 10], 0, 0, [0, 0, 0, 0], 0, 0, 360];
_top2 setDropInterval 0.002;

_smoke = "#particlesource" createVehicleLocal getpos nukepos;
_smoke setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 7, 48, 1], "", "Billboard", 1, 25, [0, 0, 0],
            [0, 0, 60], 0, 1.7, 1, 0, [40,15,120],
            [[1, 1, 1, 0.4],[1, 1, 1, 0.7],[1, 1, 1, 0.7],[1, 1, 1, 0.7],[1, 1, 1, 0.7],[1, 1, 1, 0.7],[1, 1, 1, 0.7],[1, 1, 1, 0]]
            , [0.5, 0.1], 1, 1, "", "", nukepos];
_smoke setParticleRandom [0, [10, 10, 15], [15, 15, 7], 0, 0, [0, 0, 0, 0], 0, 0, 360];
_smoke setDropInterval 0.002;

_Wave = "#particlesource" createVehicleLocal getpos nukepos;
_Wave setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 7, 48], "", "Billboard", 1, 20/2, [0, 0, 0],
            [0, 0, 0], 0, 1.5, 1, 0, [50, 100], [[0.1, 0.1, 0.1, 0.5],
            [0.5, 0.5, 0.5, 0.5], [1, 1, 1, 0.3], [1, 1, 1, 0]], [1,0.5], 0.1, 1, "", "", nukepos];
_Wave setParticleRandom [2, [20, 20, 20], [5, 5, 0], 0, 0, [0, 0, 0, 0.1], 0, 0];
_Wave setParticleCircle [50, [-80, -80, 2.5]];
_Wave setDropInterval 0.0002;


_light = "#lightpoint" createVehicleLocal [((getpos nukepos select 0)),(getpos nukepos select 1),((getpos nukepos select 2)+500)];
_light setLightAmbient[1500, 1200, 1000];
_light setLightColor[1500, 1200, 1000];
_light setLightBrightness 100000.0/100000;

//*******************************************************************
//*******************************************************************

sleep 1.5*2;

_Wave setDropInterval 0.001;
deletevehicle _top;
deletevehicle _top2;


sleep 4.5;

_i = 0;
while {_i < 100} do
{
   _light setLightBrightness (100.0 - _i)/100;
   _i = _i + 1;
   sleep 0.1;
};
deleteVehicle _light;

sleep 2;
setaperture -1;

_Wave setDropInterval 0.001*10;
_Wave setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 7, 48], "", "Billboard", 1, 20/2, [0, 0, 0],
            [0, 0, 0], 0, 1.5, 1, 0, [50, 100], [[0.1, 0.1, 0.1, 0.5],
            [0.5, 0.5, 0.5, 0.5], [1, 1, 1, 0.3], [1, 1, 1, 0]], [1,0.5], 0.1, 1, "", "", nukepos];
_Wave setParticleCircle [50, [-40, -40, 2.5]];
debuglog ["Log:::::::::::::::::::::::::::::"];

for "_i" from 0 to 15 do {
   _smoke setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 7, 48, 1], "", "Billboard", 1, 25, [0, 0, 0],
               [0, 0, 60+_i], 0, 1.7, 1, 0, [40,15,120],
               [[1, 1, 1, 0.4],[1, 1, 1, 0.7],[1, 1, 1, 0.7],[1, 1, 1, 0.7],[1, 1, 1, 0.7],[1, 1, 1, 0.7],[1, 1, 1, 0.7],[1, 1, 1, 0]]
               , [0.5, 0.1], 1, 1, "", "", nukepos];
   sleep 5;
   if (player distance nukepos < 1100) exitwith {};
};

debuglog "Log::::::::::::::::::::NUKE START";
_timeNow = time;
waituntil {(time - _timeNow) > 160 || player distance nukepos < 1100};
//sleep 160;
debuglog "Log::::::::::::::::::::NUKE END";
60 setfog 0.63;

_smoke setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 7, 48, 1], "", "Billboard", 1, 25, [0, 0, 0],
            [0, 0, 30], 0, 1.7, 1, 0, [40,25+10,80],
            [[1, 1, 1, 0.2],[1, 1, 1, 0.3],[1, 1, 1, 0.3],[1, 1, 1, 0.3],[1, 1, 1, 0.3],[1, 1, 1, 0.3],[1, 1, 1, 0.3],[1, 1, 1, 0]]
            , [0.5, 0.1], 1, 1, "", "", nukepos];
_smoke setDropInterval 0.012;
_Cone setDropInterval 0.02;
_Wave setDropInterval 0.01;

sleep 15;
deleteVehicle _Wave;
deleteVehicle _cone;
deleteVehicle _smoke;


W edytorze stwórz punkt logiczny o nazwie nukepos i w wyzwalaczu zaaktywuj skrypt o nazwie nuke2.sqf komendą execVM.


Podmuchy i inne rzeczy:
Wszystko jest w init.sqf misji.
Zacytuję ci interesujący cię fragment:
Wstrząs:
Kod: Zaznacz cały
//--- Earthquake
eq = {
   while {alive brown} do {
      waituntil {vehicle brown == brown && isplayer brown && !cutscene};
      playsound "eq";
      for "_i" from 0 to 140 do {
         _vx = vectorup _this select 0;
         _vy = vectorup _this select 1;
         _vz = vectorup _this select 2;
         _coef = 0.01 - (0.0001 * _i);
         _this setvectorup [
            _vx+(-_coef+random (2*_coef)),
            _vy+(-_coef+random (2*_coef)),
            _vz+(-_coef+random (2*_coef))
         ];
         sleep (0.01 + random 0.01);
      };
      sleep (180 + random 60);
   };
};


oraz podmuchy i inne takie duperele:

Kod: Zaznacz cały
//--- Wind & Dust
[] spawn {
   waituntil {isplayer brown};
   setwind [0.201112,0.204166,true];
   while {true} do {
      _ran = ceil random 5;
      playsound format ["wind_%1",_ran];
      _obj = vehicle player;
      _pos = position _obj;

      //--- Dust
         setwind [0.201112*2,0.204166*2,false];
      _velocity = [random 10,random 10,-1];
      _color = [1.0, 0.9, 0.8];
      _alpha = 0.02 + random 0.02;
      _ps = "#particlesource" createVehicleLocal _pos; 
      _ps setParticleParams [["\Ca\Data\ParticleEffects\Universal\universal.p3d", 16, 12, 8], "", "Billboard", 1, 3, [0, 0, -6], _velocity, 1, 1.275, 1, 0, [9], [_color + [0], _color + [_alpha], _color + [0]], [1000], 1, 0, "", "", _obj];
      _ps setParticleRandom [3, [30, 30, 0], [0, 0, 0], 1, 0, [0, 0, 0, 0.01], 0, 0];
      _ps setParticleCircle [0.1, [0, 0, 0]];
      _ps setDropInterval 0.01;

      sleep (random 1);
      deletevehicle _ps;
      _delay = 10 + random 20;
      sleep _delay;

   };
};


Zadowolony? W razie czego pisz. :smile:
Przepraszam za odkop i straaasznie długi post.
EDIT: Przed aktywacją tych skryptów nazwij swojego gracza brown albo zmodyfikuj skrypt.
(tam gdzie jest alive brown itp.)
Offline

PLAYER777

Szeregowy

Szeregowy

  • Posty: 15
  • Dołączył(a): Śr 06 lip, 2011 00:25

PostPt 05 sie, 2011 10:56

Dzięki za odpowiedź, ale problem z tymi efektami już dawno rozwiązałem.
Za to skrypt na bombę nuklearną się przydał- ja głupi szukałem moda, a tak łatwo da się to rozwiązać .

Powrót do [ArmA II] Edytor

Kto przegląda forum

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

cron