laatClaymore.sqf 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. claymoreI={
  2. params["_vic"];
  3. //for Ai
  4. _vic limitSpeed 220;
  5. comment "data for weapons";
  6. comment"format of [weapon,weaponMagType,[[seat,ammoPerMag,MagCount],[seat,ammoPerMag,MagCount],......etc]]";
  7. weaponData=[
  8. ["Cannon_LAAT","1000Rnd_Laser_Cannon_LAAT",[[-1,1000,2]]],
  9. ["missiles_Jian","4Rnd_LG_Jian",[[-1,10,8],[0,4,1]]],
  10. ["weapon_rim116Launcher","magazine_Missile_rim116_x21",[[-1,8,1],[0,8,1]]],
  11. ["SmokeLauncher","SmokeLauncherMag",[[-1,2,20]]],
  12. ["CMFlareLauncher","300Rnd_CMFlare_Chaff_Magazine",[[-1,300,10]]],
  13. ["PomehiLauncherXT","400Rnd_Pomehi_Mag",[[-1,400,10]]],
  14. ["Cannon_Vwing","1000Rnd_Cannon_Vwing",[[1,2000,2],[2,2000,2]]],
  15. ["Laserdesignator_pilotCamera","Laserbatteries",[[-1,1,1]]]
  16. ];
  17. comment "remove unused weapons";
  18. _vic removeWeaponTurret[ "Cannon_LAAT_Turret1", [1]];
  19. _vic removeWeaponTurret[ "Cannon_LAAT_Turret2", [2]];
  20. comment "For each weapon";
  21. for [{_i=0}, {_i<(count weaponData)}, {_i=_i+1}] do
  22. {
  23. itemList=weaponData select _i;
  24. itemWeapon=itemList select 0;
  25. itemMagType=itemList select 1;
  26. itemSeats=itemList select 2;
  27. comment "for each seat";
  28. for [{_j=0}, {_j<(count itemSeats)}, {_j=_j+1}] do
  29. {
  30. seatData=itemSeats select _j;
  31. seatIndex=seatData select 0;
  32. seatAmmoPerMag=seatData select 1;
  33. seatMags=seatData select 2;
  34. _vic addWeaponTurret[itemWeapon, [seatIndex]];
  35. comment "adds mags";
  36. for [{_k=0}, {_k<(seatMags)}, {_k=_k+1}] do
  37. {
  38. _vic addMagazineTurret [itemMagType ,[seatIndex],seatAmmoPerMag];
  39. };
  40. };
  41. };//end weapon additon
  42. //removes torpedos
  43. //_vic removeWeaponTurret["laat_proton_torpedo_launcher", [-1]];
  44. // function as file add the wing tip smoke for laat
  45. _vic addAction ["<t color='#886688'>Smoker--------U13</t>",
  46. {[_this select 0] execVM "scripts\zeus3denScripts\vehicleBased\actionMenu\Smoke\LAAT\laatSmokeTip.sqf";}
  47. ,[1],0,false,true,"User13"," driver _target == _this"];
  48. comment "gets health";
  49. _vic addAction ["<t color='#00FF00'>Damage Report</t>",
  50. {
  51. hint parseText format["<t color='#0099FF'> Hull Integrity is :%1%2</t>",((1-(damage (_this select 0)))*100),"%"];
  52. },[1],0,false,true,""," driver _target == _this "];
  53. //by default boost is off
  54. _vic setvariable ["OPTRE_Thruster_EngagedStatus",false,true];
  55. //adds action to engage boost
  56. _vic addAction ["<t color='#00FF00'>Engage C.R.U.I.S.I.E Control System -------- U18</t>",
  57. {
  58. [_this select 0,620,10,25] execVM "scripts\zeus3denScripts\vehicleBased\actionMenu\Boost\boostStart.sqf";
  59. },[1],0,false,true,"User18"," driver _target == _this"];
  60. //adds action to disengage boost
  61. _vic addAction ["<t color='#FFA500'>Disengage C.R.U.I.S.I.E Control System -------- U19</t>",
  62. {
  63. [_this select 0,80,5] execVM "scripts\zeus3denScripts\vehicleBased\actionMenu\Boost\boostStop.sqf";
  64. },[1],0,false,true,"User19"," driver _target == _this"];
  65. _vic addEventHandler ["HandleDamage",
  66. {
  67. if(((_this select 0) getVariable["isCrashing",false]) || {(damage (_this select 0))>=.7}) then
  68. {
  69. _namResultingDmg=0;
  70. };
  71. _namUnit=_this select 0;
  72. _namDmg=_this select 2;
  73. _namCurrentDmg=damage _namUnit;//0 if health 1 if dead
  74. _namResultingDmg=_namDmg/2;
  75. if((_namCurrentDmg+_namDmg)>.7) then
  76. {
  77. _namUnit allowDamage false;
  78. _namUnit setFuel 0;
  79. _namUnit setDamage .7;
  80. _namUnit vehicleChat format["MAYDAY MAYDAY MAYDAY THIS IS %1 GOING DOWN OVER GRID %2 BRRRRRRR*****BRRRRR ****BRRRRR",(name (driver _namUnit)),(mapGridPosition _namUnit)];
  81. _namResultingDmg=0;
  82. _namIsCrashing=((_namUnit) getVariable["isCrashing",false]);
  83. if(!_namIsCrashing) then
  84. {
  85. _null = _this spawn
  86. {
  87. _namUnitSpawn=_this select 0;
  88. [west, "HQ"] sideChat format["fire made %1",time];
  89. _namLaatFirePosArray=[[6,-2.5,-1],[-6,-2.5,-1], [1.5,-5,2.5], [-1.5,-5,2.5],[0,3,0],[0,6,-.5],[0,0,-2]];
  90. _namLaatFireObj=[];
  91. for "_i" from 0 to 1 do
  92. {
  93. _fire = "test_EmptyObjectForFireBig" createVehicle position (_namUnitSpawn);
  94. _fire attachTo [_namUnitSpawn,(selectRandom _namLaatFirePosArray)];
  95. _namLaatFireObj=_namLaatFireObj+[_fire];
  96. };//makes two fires or watever much, and then stores them in the array while also randomly palcing on laat
  97. sleep 50;
  98. {
  99. deleteVehicle _x;
  100. _namLaatFireObj=[];
  101. } forEach _namLaatFireObj;//delets all of them
  102. };
  103. };
  104. _namUnit setVariable ["isCrashing", true,true];
  105. }
  106. else
  107. {
  108. _namResultingDmg=_namDmg/2;
  109. };
  110. }];
  111. };
  112. ["swop_LAAT", "init",claymoreI, true, [], true] call CBA_fnc_addClassEventHandler;