Advertisement
Guest User

nuke.sqf

a guest
Jun 2nd, 2014
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.70 KB | None | 0 0
  1.  
  2.  
  3. nukev=false;
  4. //----------------------
  5. //----------------------
  6.  
  7. hint "Click on the map to designate target-area";
  8.  
  9. nukepos = "HeliHEmpty" createVehicle (position player);
  10.  
  11.  
  12.  
  13.  
  14. _path = "\ca\air2\cruisemissile\";
  15. _pathS = _path + "data\scripts\";
  16.  
  17.  
  18. nukehold=true;
  19. titleText ["Click on the map to designate target-area","plain down"];
  20. onMapSingleClick "nukepos setPos _pos; nukehold=false";
  21. waituntil{!nukehold};
  22. onMapSingleClick "";
  23. titleText ["", "plain down"];
  24.  
  25. _dropPosition = getpos nukepos;
  26. nukemarker = createMarkerLocal ["nukemarker", position nukepos];
  27. hint "Nuclear Strike inbound at designated location";
  28. nukev=true;
  29.  
  30. nukemarker setmarkerposLocal getPos nukepos;
  31. nukemarker setMarkerTypeLocal "Destroy";
  32. nukemarker setMarkerTextLocal "Nuclear Strike";
  33. nukemarker setMarkerColorLocal "ColorRed";
  34.  
  35. _cruise = createVehicle ["Chukar",_dropPosition,[], 0, "FLY"];
  36. _cruise setVectorDir [ 0.1,- 1,+ 0.5];
  37. _cruise setPos [(getPos _cruise select 0),(getPos _cruise select 1),1000];
  38. _cruise setVelocity [0,2,0] ;
  39. _cruise flyInHeight 1000;
  40. _cruise setSpeedMode "FULL";
  41.  
  42. sleep 0.5;
  43. _dropPosX = _dropPosition select 0;
  44. _dropPosY = _dropPosition select 1;
  45. _dropPosZ = _dropPosition select 2;
  46.  
  47. _droppos1 = [_dropPosX + 4, _dropPosY + 4, _dropPosZ];
  48. _droppos2 = [_dropPosX + 8, _dropPosY + 8, _dropPosZ];
  49.  
  50. _planespawnpos = [_dropPosX , _dropPosY , _dropPosZ + 1000];
  51.  
  52. _misFlare = createVehicle ["cruiseMissileFlare1",_planespawnpos,[], 0, "NONE"];
  53. _misFlare inflame true;
  54. _cruise setVariable ["cruisemissile_level", false];
  55. [_cruise, _misFlare] execVM (_pathS + "cruisemissileflare.sqf");
  56. _cruise setObjectTexture [0, _path + "data\exhaust_flame_ca"];
  57. [_cruise] execVM (_pathS + "exhaust1.sqf");
  58. sleep 7;
  59.  
  60. waitUntil {!alive _cruise};
  61. nul = [nukepos] execvm "lk\nuke\nuke.sqf";
  62. nul = [nukepos] execvm "lk\nuke\damage.sqf";
  63. deletevehicle _misFlare;
  64. deletevehicle _cruise;
  65. //----------------------
  66. //----------------------
  67. quake = {
  68.  
  69. for "_i" from 0 to 140 do {
  70. _vx = vectorup _this select 0;
  71. _vy = vectorup _this select 1;
  72. _vz = vectorup _this select 2;
  73. _coef = 0.03 - (0.0001 * _i);
  74. _this setvectorup [
  75. _vx+(-_coef+random (2*_coef)),
  76. _vy+(-_coef+random (2*_coef)),
  77. _vz+(-_coef+random (2*_coef))
  78. ];
  79. sleep (0.01 + random 0.01);
  80. };
  81.  
  82. };
  83.  
  84.  
  85. wind = {
  86. while {windv} do {
  87. setwind [0.201112,0.204166,true];
  88. _ran = ceil random 2;
  89. playsound format ["wind_%1",_ran];
  90. _pos = position player;
  91.  
  92. //--- Dust
  93. setwind [0.201112*2,0.204166*2,false];
  94. _velocity = [random 10,random 10,-1];
  95. _color = [1.0, 0.9, 0.8];
  96. _alpha = 0.02 + random 0.02;
  97. _ps = "#particlesource" createVehicleLocal _pos;
  98. _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, "", "", _pos];
  99. _ps setParticleRandom [3, [30, 30, 0], [0, 0, 0], 1, 0, [0, 0, 0, 0.01], 0, 0];
  100. _ps setParticleCircle [0.1, [0, 0, 0]];
  101. _ps setDropInterval 0.01;
  102.  
  103. sleep (random 1);
  104. _delay = 1 + random 5;
  105. sleep _delay;
  106. deletevehicle _ps;
  107. };
  108. };
  109.  
  110.  
  111. envi = {
  112.  
  113. if (viewdistance < 3500) then {setviewdistance 3500};
  114. "colorCorrections" ppEffectAdjust [2, 30, 0, [0.0, 0.0, 0.0, 0.0], [0.8*2, 0.5*2, 0.0, 0.7], [0.9, 0.9, 0.9, 0.0]];
  115. "colorCorrections" ppEffectCommit 0;
  116. //"colorCorrections" ppEffectAdjust [1, 1, 0, [0.0, 0.0, 0.0, 0.0], [0.8*2, 0.5*2, 0.0, 0.7], [0.9, 0.9, 0.9, 0.0]];
  117. "colorCorrections" ppEffectAdjust [1, 0.8, -0.001, [0.0, 0.0, 0.0, 0.0], [0.8*2, 0.5*2, 0.0, 0.7], [0.9, 0.9, 0.9, 0.0]];
  118. "colorCorrections" ppEffectCommit 3;
  119. "colorCorrections" ppEffectEnable true;
  120. "filmGrain" ppEffectEnable true;
  121. "filmGrain" ppEffectAdjust [0.02, 1, 1, 0.1, 1, false];
  122. "filmGrain" ppEffectCommit 5;
  123. };
  124.  
  125. ash = {
  126. _pos = position player;
  127. _parray = [
  128. /* 00 */ ["\Ca\Data\ParticleEffects\Universal\Universal", 16, 12, 8, 1],//"\Ca\Data\cl_water",
  129. /* 01 */ "",
  130. /* 02 */ "Billboard",
  131. /* 03 */ 1,
  132. /* 04 */ 4,
  133. /* 05 */ [0,0,0],
  134. /* 06 */ [0,0,0],
  135. /* 07 */ 1,
  136. /* 08 */ 0.000001,
  137. /* 09 */ 0,
  138. /* 10 */ 1.4,
  139. /* 11 */ [0.05,0.05],
  140. /* 12 */ [[0.1,0.1,0.1,1]],
  141. /* 13 */ [0,1],
  142. /* 14 */ 0.2,
  143. /* 15 */ 1.2,
  144. /* 16 */ "",
  145. /* 17 */ "",
  146. /* 18 */ vehicle player
  147. ];
  148. snow = "#particlesource" createVehicleLocal _pos;
  149. snow setParticleParams _parray;
  150. snow setParticleRandom [0, [10, 10, 7], [0, 0, 0], 0, 0.01, [0, 0, 0, 0.1], 0, 0];
  151. snow setParticleCircle [0.0, [0, 0, 0]];
  152. snow setDropInterval 0.003;
  153.  
  154. };
  155. //----------------------
  156. //----------------------
  157. nul = [] execVM "lk\nuke\nenvi.sqf";
  158.  
  159.  
  160.  
  161. if (player distance nukepos < 2000) then {
  162.  
  163. setaperture 2;
  164.  
  165. "dynamicBlur" ppEffectEnable true;
  166. "dynamicBlur" ppEffectAdjust [0.5];
  167. "dynamicBlur" ppEffectCommit 3;
  168.  
  169. sleep 0.1;
  170.  
  171. "dynamicBlur" ppEffectAdjust [2];
  172. "dynamicBlur" ppEffectCommit 1;
  173.  
  174. "dynamicBlur" ppEffectAdjust [1];
  175. "dynamicBlur" ppEffectCommit 4;
  176. };
  177. nul = [nukepos] execvm "lk\nuke\damage.sqf";
  178. sleep 3;
  179. //*******************************************************************
  180. //*******************************************************************
  181.  
  182. _Cone = "#particlesource" createVehicleLocal getpos nukepos;
  183. _Cone setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 7, 48], "", "Billboard", 1, 10, [0, 0, 0],
  184. [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],
  185. [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];
  186. _Cone setParticleRandom [2, [1, 1, 30], [1, 1, 30], 0, 0, [0, 0, 0, 0.1], 0, 0];
  187. _Cone setParticleCircle [10, [-10, -10, 20]];
  188. _Cone setDropInterval 0.005;
  189.  
  190. _top = "#particlesource" createVehicleLocal getpos nukepos;
  191. _top setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 3, 48, 0], "", "Billboard", 1, 21, [0, 0, 0],
  192. [0, 0, 65], 0, 1.7, 1, 0, [100,80,110], [[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];
  193. _top setParticleRandom [0, [75, 75, 15], [17, 17, 10], 0, 0, [0, 0, 0, 0], 0, 0, 360];
  194. _top setDropInterval 0.002;
  195.  
  196. _top2 = "#particlesource" createVehicleLocal getpos nukepos;
  197. _top2 setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 3, 112, 0], "", "Billboard", 1, 22, [0, 0, 0],
  198. [0, 0, 60], 0, 1.7, 1, 0, [100,80,100], [[1, 1, 1, 0.5],[1, 1, 1, 0]], [0.07], 1, 1, "", "", nukepos];
  199. _top2 setParticleRandom [0, [75, 75, 15], [17, 17, 10], 0, 0, [0, 0, 0, 0], 0, 0, 360];
  200. _top2 setDropInterval 0.002;
  201.  
  202. _smoke = "#particlesource" createVehicleLocal getpos nukepos;
  203. _smoke setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 7, 48, 1], "", "Billboard", 1, 25, [0, 0, 0],
  204. [0, 0, 70], 0, 1.7, 1, 0, [50,20,120],
  205. [[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]]
  206. , [0.5, 0.1], 1, 1, "", "", nukepos];
  207. _smoke setParticleRandom [0, [10, 10, 15], [15, 15, 7], 0, 0, [0, 0, 0, 0], 0, 0, 360];
  208. _smoke setDropInterval 0.002;
  209.  
  210. //----------------------
  211. //----------------------
  212.  
  213. _target = nukepos;
  214.  
  215. deletemarkerlocal "nukemarker";
  216.  
  217.  
  218. _array = _target nearObjects ["Man", 1000];;
  219. {_x setdamage 1} forEach _array;
  220.  
  221. _array = _target nearObjects ["Land", 1000];
  222. {_x setdamage 1} forEach _array;
  223.  
  224. _array = _target nearObjects ["Ship", 1000];
  225. {_x setDamage 1} forEach _array;
  226.  
  227. _array = _target nearObjects ["Motorcycle", 1000];
  228. {_x setDamage 1} forEach _array;
  229.  
  230. _array = _target nearObjects ["Car", 1000];
  231. {_x setDamage 1} forEach _array;
  232.  
  233. _array = _target nearObjects ["Air", 1000];
  234. {_x setDamage 1} forEach _array;
  235.  
  236. _array = _target nearObjects ["Tank", 1000];
  237. {_x setDamage 1} forEach _array;
  238.  
  239. _array = _target nearObjects ["Thing", 100];
  240. {_x setDamage 1} forEach _array;
  241.  
  242. _array = _target nearObjects ["Static", 500];
  243. {_x setDamage 1} forEach _array;
  244.  
  245. _array = _target nearObjects ["Strategic", 1000];
  246. {_x setDamage 1} forEach _array;
  247.  
  248. _array = _target nearObjects ["NonStrategic", 1000];
  249. {_x setDamage 1} forEach _array;
  250.  
  251.  
  252. _array = (nearestObjects [_target,[], 300]) - ((getPos _target) nearObjects 300);
  253. if dtree then {{DeleteCollection _x} forEach _array} else {{_x setDamage 1} forEach _array};
  254.  
  255.  
  256. sleep 2;
  257. _array = (_target nearObjects ["All", 1500]) - ((getPos _target) nearObjects 1000);
  258. {_x setDamage 1} forEach _array;
  259.  
  260. _Wave = "#particlesource" createVehicleLocal getpos nukepos;
  261. _Wave setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 7, 48], "", "Billboard", 1, 20/2, [0, 0, 0],
  262. [0, 0, 0], 0, 1.5, 1, 0, [50, 100], [[0.1, 0.1, 0.1, 0.5],
  263. [0.5, 0.5, 0.5, 0.5], [1, 1, 1, 0.3], [1, 1, 1, 0]], [1,0.5], 0.1, 1, "", "", nukepos];
  264. _Wave setParticleRandom [2, [20, 20, 20], [5, 5, 0], 0, 0, [0, 0, 0, 0.1], 0, 0];
  265. _Wave setParticleCircle [50, [-80, -80, 2.5]];
  266. _Wave setDropInterval 0.0002;
  267.  
  268.  
  269. _light = "#lightpoint" createVehicleLocal [((getpos nukepos select 0)),(getpos nukepos select 1),((getpos nukepos select 2)+800)];
  270. _light setLightAmbient[1500, 1200, 1000];
  271. _light setLightColor[1500, 1200, 1000];
  272. _light setLightBrightness 1000000.0;
  273.  
  274. //*******************************************************************
  275. //*******************************************************************
  276.  
  277. sleep 1.5*2;
  278.  
  279. _Wave setDropInterval 0.001;
  280. deletevehicle _top;
  281. deletevehicle _top2;
  282.  
  283.  
  284. sleep 3;
  285.  
  286. player spawn envi;
  287.  
  288.  
  289. player spawn quake;
  290.  
  291.  
  292. if (player distance nukepos < 1000) then {player say "nuke2s"};
  293. if (player distance nukepos > 1000) then {player say "nuke1s"};
  294.  
  295. sleep 1;
  296. setaperture -1;
  297.  
  298. _top3 = "#particlesource" createVehicleLocal getpos nukepos;
  299. _top3 setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 3, 48, 0], "", "Billboard", 1, 24, [0, 0, 450],
  300. [0, 0, 49], 0, 1.7, 1, 0, [120,130,150], [[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];
  301. _top3 setParticleRandom [0, [75, 75, 15], [17, 17, 10], 0, 0, [0, 0, 0, 0], 0, 0, 360];
  302. _top3 setDropInterval 0.002;
  303. sleep 4;
  304. deletevehicle _top3;
  305.  
  306. sleep 4;
  307.  
  308. if (player distance nukepos < 4000) then {
  309. "dynamicBlur" ppEffectAdjust [0];
  310. "dynamicBlur" ppEffectCommit 1;
  311. };
  312.  
  313. _top4 = "#particlesource" createVehicleLocal getpos nukepos;
  314. _top4 setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 3, 48, 0], "", "Billboard", 1, 22, [0, 0, 770],
  315. [0, 0, 30], 0, 1.7, 1, 0, [100,120,140], [[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];
  316. _top4 setParticleRandom [0, [75, 75, 15], [17, 17, 10], 0, 0, [0, 0, 0, 0], 0, 0, 360];
  317. _top4 setDropInterval 0.002;
  318. sleep 3;
  319.  
  320. _top4 setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 3, 48, 0], "", "Billboard", 1, 25, [0, 0, 830],
  321. [0, 0, 30], 0, 1.7, 1, 0, [100,120,140], [[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];
  322.  
  323.  
  324.  
  325. _Wave setDropInterval 0.001*10;
  326. _Wave setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 7, 48], "", "Billboard", 1, 20/2, [0, 0, 0],
  327. [0, 0, 0], 0, 1.5, 1, 0, [50, 100], [[0.1, 0.1, 0.1, 0.5],
  328. [0.5, 0.5, 0.5, 0.5], [1, 1, 1, 0.3], [1, 1, 1, 0]], [1,0.5], 0.1, 1, "", "", nukepos];
  329. _Wave setParticleCircle [50, [-40, -40, 2.5]];
  330.  
  331. player spawn ash;
  332. windv=true;
  333. player spawn wind;
  334. 30 setovercast 0.8;
  335.  
  336.  
  337.  
  338.  
  339. deleteVehicle _light;
  340.  
  341. 60 setRain 1;
  342.  
  343. sleep 4;
  344. deletevehicle _top4;
  345.  
  346. _i = 0;
  347. while {_i < 100} do
  348. {
  349. _light setLightBrightness (100.0 - _i)/100;
  350. _i = _i + 1;
  351. sleep 0.1;
  352. };
  353.  
  354.  
  355. for "_i" from 0 to 15 do {
  356. _smoke setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 7, 48, 1], "", "Billboard", 1, 25, [0, 0, 0],
  357. [0, 0, 60+_i], 0, 1.7, 1, 0, [40,15,120],
  358. [[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]]
  359. , [0.5, 0.1], 1, 1, "", "", nukepos];
  360. };
  361.  
  362.  
  363. _timeNow = time;
  364. waituntil {(time - _timeNow) > 120};
  365.  
  366. _smoke setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 7, 48, 1], "", "Billboard", 1, 25, [0, 0, 0],
  367. [0, 0, 30], 0, 1.7, 1, 0, [40,25+10,80],
  368. [[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]]
  369. , [0.5, 0.1], 1, 1, "", "", nukepos];
  370.  
  371. _smoke setDropInterval 0.012;
  372. _Cone setDropInterval 0.02;
  373. _Wave setDropInterval 0.01;
  374.  
  375. sleep 5;
  376. deleteVehicle _Wave;
  377. deleteVehicle _cone;
  378. deleteVehicle _smoke;
  379. deletevehicle snow;
  380.  
  381. sleep 5;
  382.  
  383.  
  384. "filmGrain" ppEffectEnable false;
  385. sleep 5;
  386. "colorCorrections" ppEffectEnable false;
  387. sleep 5;
  388. 60 setovercast 0;
  389. windv=false;
  390. setwind [0,0,true];
  391.  
  392.  
  393. nul = [_target] execVM "lk\nuke\radzone.sqf";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement