Script salto HALO

Sección para misiones y edición ArmA III

Moderador: C. Misiones & Noticias

Responder
Avatar de Usuario
<A2>Pescadorr
Soldado A2
Soldado A2
Mensajes: 6569
Registrado: 09 Sep 2011, 03:28

Script salto HALO

Mensaje por <A2>Pescadorr »

Os paso un script a petición de muerte a ver si os sirve, que controla desde que salta del avión en caída libre hasta que cae a tierra. Equipa normalmente a las unidades y les pone mochila que quieras, que el script le pone la mochila en las piernas y después al caer se la devuelve a la espalda, con todos sus items dentro. también te quita las trinchas y el casco y después al caer lo devuelvo a su estado original.

También tiene automatizado la apertura automática que puedes poner a la que quieras y así sino abren a tiempo, no se mata nadie. En el init.sqf declara una variable llamada distancia con el valor de 250 m, cámbiala a la distancia que quieras.

También tiene un pequeño spawn que puedes desactivar si quieres para ponerle un strobo en el casco a los lideres para ello pon en el init la variable nocturna= true si es de noche, o false si es diurna.

Y lo mejor es que tiene audio de aire al caer, al abrir el paracaídas y para cerrarlo.

Este script lo use en clear eagle y fue de lujo. Déjalo ejecutado desde inicio.sqf

Código: Seleccionar todo

distancia = 250;   //distancia minima de apertura
nocturna = true;     // si la mision es nocturna añade strobos a los cascos, si es diurna ponlo en false
null= [] execVM "halo.sqf";
Estará a la espera que los jugadores se pongan con la animación de caída libre para iniciarse.

Código: Seleccionar todo

// ***Script By PESCADORR ***

null=[]spawn
{
	{
		if (local _x) then																									//filtramos por localidades
		{
			[_x] spawn 																										// creamos ejecuciones paralelas, una por cada unidad jugable
			{
				_unit = _this select 0;
				if (!isNull (unitBackpack _unit)) then  																	// comprobamos que tiene mochila 
				{
					private ["_helmet","_Vclass","_Varray","_Barray","_Bclass","_mochila"];
					_helmet	   = headgear _unit;
					_Vclass    = vest _unit;
					_Varray    = vestItems _unit;
					_Barray    = backpackItems _unit;
					_Bclass    = backpack _unit;
					sleep 0.1;
					_mochila = createVehicle ["groundWeaponHolder", [0,0,0], [], 0, "can_collide"];                      	// creamos la mochila
					_mochila addBackpackCargoGlobal [_Bclass, 1];
					_unit addVest "V_RebreatherB";                                                                      	//añadimos atuendo y paracaidas
					_unit addBackpack "B_Parachute";
					_unit addHeadgear "H_PilotHelmetFighter_B";
					_unit addGoggles "G_Combat";
			
					waitUntil {animationState _unit == "HaloFreeFall_non"};                                             	//espera hasta que empiece en caida libre
					_mochila attachTo [_unit,[-0.5,0.1,-1.1],"RightFoot"]; 
					_mochila setVectorDirAndUp [[0,-1,-0.05],[0,0,-1]];
					
					waituntil 
					{
						if ((animationState _unit == "HaloFreeFall_non") &&  ((getPos _unit select 2) < distancia)) then     	//sino esta abierto el paracaidas y esta por debajo de 250
						{
							_unit action ["OpenParachute", _unit];
						};
						animationState _unit == "para_pilot"
					};                                                                                                  	//espera a que el paraidas ya este abierto
					_mochila attachTo [vehicle _unit,[-0.1,0.45,-0.75],"RightFoot"]; 
					_mochila setVectorDirAndUp [[0,-0.2,-1],[0,1,0]];
					
					waitUntil {isTouchingGround _unit || (getPos _unit select 2) < 1};                                 		//espera a tocar el suelo
					detach _mochila;
					deleteVehicle _mochila; 
					sleep 0.1;
					_unit addvest _Vclass;				                                                               		//devolvemos equipacion
					sleep 0.1;
					{ _unit addItemToVest _x } foreach _Varray;
					sleep 0.1;
					_unit addBackpack _Bclass;
					sleep 0.1;
					{ _unit addItemToBackpack _x } foreach _Barray;
					sleep 0.1;
					_unit addHeadgear _helmet;
				} else                                                                                                 		//sino tiene mochila
				{
					private ["_helmet","_Vclass","_Varray"];
					_helmet	   = headgear _unit;
					_Vclass    = vest _unit;
					_Varray    = vestItems _unit;
					
					_unit addVest "V_RebreatherB";                                                                    		//añadimos atuendo y paracaidas
					_unit addBackpack "B_Parachute";
					_unit addHeadgear "H_PilotHelmetFighter_B";
					_unit addGoggles "G_Combat";
			
					waitUntil {animationState _unit == "HaloFreeFall_non"};                                          		//espera hasta que empiece en caida libre
					
					waituntil 
					{
						if ((animationState _unit == "HaloFreeFall_non") &&  ((getPos _unit select 2) < distancia)) then  		//sino esta abierto el paracaidas y esta por debajo de 250
						{
							_unit action ["OpenParachute", _unit];
						};
						animationState _unit == "para_pilot"
					};                                                                                                		//espera a que el paraidas ya este abierto
					
					waitUntil {isTouchingGround _unit || (getPos _unit select 2) < 1};                                		//espera a tocar el suelo
					_unit addvest _Vclass;                                                                            		//devolvemos equipacion
					sleep 0.1;
					{ _unit addItemToVest _x } foreach _Varray;
					sleep 0.1;
					_unit addHeadgear _helmet;
					sleep 0.1;
				};
			};
			[_x] spawn                                                                                                  	// spawn strobos solo humanos y lideres llevan strobo
			{
				if (!nocturna) exitwith {};
				_unit2 = _this select 0;
				if ((isplayer _unit2) && ((leader _unit2) == _unit2)) then 
				{
					private ["_obj1", "_light1"];																										//_Nombreplayer = [name _unit2] call BIS_fnc_filterString;
					_light1 = 'B_IRStrobe' createVehicle [0,0,0];
					_light1 attachTo [_unit2,[0,0,0.20],'head'];
					sleep 1;
					_obj1 = nearestObjects [_light1, ["all"], 2];
					sleep 1;
					waituntil { animationState _unit2 == "para_pilot" };
					_light1 attachTo [vehicle _unit2,[0,0,0.84],'head'];
					waitUntil { isTouchingGround _unit2 || (getPos _unit2 select 2) < 1};
					{
						if (typeOf _x == 'NVG_TargetC') then 
						{
							deletevehicle _x;
						};
					} foreach _obj1;
				};
			};	
		};
	} foreach playableunits; 													//poner playableunits para misiones en general o grupos definidos
};
if (isserver) exitwith{}; 																							//filtramos solo player (poner como comentario para ver en el editor)

[] spawn  // spawn audio 
{
	waitUntil {animationState player == "HaloFreeFall_non"};
	waituntil 
	{
		playSound "flapping"; 
		sleep 4.2;
		animationState player == "para_pilot" && alive player
	}; 
	playSound "open_chute";
	sleep 3;
	waituntil 
	{
		playSound "para_pilot";
		sleep 4.2;
		(getpos player select 2) < 2 && alive player
	};
	sleep 1;
	playSound "close_chute";
};

waitUntil {sleep 0.5;animationState player == "para_pilot"};
setAperture 0.05; 
setAperture -1;
"DynamicBlur" ppEffectEnable true;  
"DynamicBlur" ppEffectAdjust [8.0];  
"DynamicBlur" ppEffectCommit 0.01;
sleep 1;
"DynamicBlur" ppEffectAdjust [0.0]; 
"DynamicBlur" ppEffectCommit 3;
sleep 3;
"DynamicBlur" ppEffectEnable false;
"RadialBlur" ppEffectAdjust [0.0, 0.0, 0.0, 0.0]; 
"RadialBlur" ppEffectCommit 1.0; 
"RadialBlur" ppEffectEnable false;
waitUntil {isTouchingGround player || (getPos player select 2) < 1};
cutText ["", "BLACK FADED", 999];
sleep 5;
cutText ["", "BLACK IN", 2];
Esto en el description para el sonido:

Código: Seleccionar todo

class CfgSounds 
{
	sounds[] = {}; 
	class flapping 
	{
		sound[] = {"sounds\flapping.ogg", 10, 1};
		titles[] = {};
	};
	class open_chute 
	{
		sound[] = {"sounds\open_chute.ogg", 10, 1};
		titles[] = {};
	};
	class para_pilot 
	{
		sound[] = {"sounds\para_pilot.ogg", 10, 1};
		titles[] = {};
	};
	class close_chute 
	{
		sound[] = {"sounds\close_chute.ogg", 10, 1};
		titles[] = {};
	};
};


Os dejo un archivo rar con todo lo necesario.
halo_pescadorr.rar
(197.04 KiB) Descargado 345 veces


Probadlo y me contáis si va bien o necesita algún cambio.

PD: la misión solo va a funcionar en MP, en el editor o singleplayer, el comando playableunits es 0 y el script no funcionaria.

PD: he resubido el archivo con script modificado y ya lo he testeado.
Caja: DEEP COOL MATREXX 70 3F CPU: Ryzen 7 5800X P. Base: Gigabyte X570 Aorus Elite RAM:Team Group T-Force Dark Z Alpha 2x16 gb ddr4 3600 Mhz CL18
Disipador cpu: Corsair H-100 Hydro series Pasta termica: Thermalright TF8 13.8 W/MK + Coollaboratory Liquid Pro GPU: Asus GeForce TUF Gaming RTX 4070 Ti 12GB GDDR6X
Discos: M2 samsung 970 512 mb 3.0 + M2 Samsung 980 PRO 1 Tb 4.0 + HDD Barracuda 4 Tb Vent: 4 x deep cool RGB pwm + 3 x corsair pwm + 2 x Noctua nf-p12 + controladora rgb + pwm
disipador M2: GLOTRENDS M.2 Alfombrilla: MARSGAMING MMPRGB2 XXL RGB 80x30 Auriculares: Audio-Technica M50x Peines cableado: Uphere 24 pz
Microfono: Boya BY-M1 Raton: Logitech G602 Teclado: Razer Huntsman Elite Switches Optomecánicos Purple
Monitor: Philips 436M6VBPAB 43" 4K HDR1000 AmbiGlow Gsync low input Silla: Diablo X-Horn XL


Avatar de Usuario
Archer
Visitante
Mensajes: 349
Registrado: 13 Jul 2016, 18:49

Re: Script salto HALO

Mensaje por Archer »

joeer pesca, vaya currada

Avatar de Usuario
<A2>DoctorMuerte
Soldado A2
Soldado A2
Mensajes: 2383
Registrado: 16 Sep 2014, 23:15

Re: Script salto HALO

Mensaje por <A2>DoctorMuerte »

Funciona perfectamente, lo que tienes que tener cuidado que ya desaparecen las NV en los cascos de piloto de caza. Lo he modificado y he sustituido este casco por el de helicoptero :OK:
Imagen

click en la firma para acceder a mi canal de Twitch

https://www.youtube.com/user/DrMuerteHD

Avatar de Usuario
cryyper
Visitante
Mensajes: 363
Registrado: 17 Ago 2014, 12:47

Re: Script salto HALO

Mensaje por cryyper »

Pesca necesito de tu ayuda con esto, el script funciona perfectamente, pero necesito que le ponga el casco y demas a las unidades que van hacer el salto halo, me explico: tengo 2 equipos, 1 equipo en salto halo y el otro en tierra, el problema viene que el script pone la ropa de halo a todas las unidades con lo cual borra el chaleco,casco y mochila a las unidades de tierra.

Avatar de Usuario
Urza
Visitante
Mensajes: 2159
Registrado: 10 Nov 2015, 19:06

Re: Script salto HALO

Mensaje por Urza »

Mientras no llega Pescadorr, te pongo algo que podría funcionar.
Identifica el soldado en el fichero
halo.sqf
antes de añadir la spawn al jugador (linea 1) si es de tierra sale de sqf.
Por ejemplo nombre variable jugador empieza por "unitFuerzaTerrestre_" exit.

Código: Seleccionar todo

if (name player find "unitFuerzaTerrestre" >= 0) exitWith ;
“Soldiers have to eat soup together for a long time before they are ready to fight.”
- Napoleon


Avatar de Usuario
<A2>Pescadorr
Soldado A2
Soldado A2
Mensajes: 6569
Registrado: 09 Sep 2011, 03:28

Re: Script salto HALO

Mensaje por <A2>Pescadorr »

cryyper escribió:Pesca necesito de tu ayuda con esto, el script funciona perfectamente, pero necesito que le ponga el casco y demas a las unidades que van hacer el salto halo, me explico: tengo 2 equipos, 1 equipo en salto halo y el otro en tierra, el problema viene que el script pone la ropa de halo a todas las unidades con lo cual borra el chaleco,casco y mochila a las unidades de tierra.
mira el script, en cierta parte te indica que puedes colocar a todas las unidades jugables o a grupos especificos:

Código: Seleccionar todo

     };
   } foreach playableunits;                          //poner playableunits para misiones en general o grupos definidos
};
para grupo específicos quedaría así:

Código: Seleccionar todo

     };
   } foreach units nombre_grupo;                                        //poner playableunits para misiones en general o grupos definidos
};
Caja: DEEP COOL MATREXX 70 3F CPU: Ryzen 7 5800X P. Base: Gigabyte X570 Aorus Elite RAM:Team Group T-Force Dark Z Alpha 2x16 gb ddr4 3600 Mhz CL18
Disipador cpu: Corsair H-100 Hydro series Pasta termica: Thermalright TF8 13.8 W/MK + Coollaboratory Liquid Pro GPU: Asus GeForce TUF Gaming RTX 4070 Ti 12GB GDDR6X
Discos: M2 samsung 970 512 mb 3.0 + M2 Samsung 980 PRO 1 Tb 4.0 + HDD Barracuda 4 Tb Vent: 4 x deep cool RGB pwm + 3 x corsair pwm + 2 x Noctua nf-p12 + controladora rgb + pwm
disipador M2: GLOTRENDS M.2 Alfombrilla: MARSGAMING MMPRGB2 XXL RGB 80x30 Auriculares: Audio-Technica M50x Peines cableado: Uphere 24 pz
Microfono: Boya BY-M1 Raton: Logitech G602 Teclado: Razer Huntsman Elite Switches Optomecánicos Purple
Monitor: Philips 436M6VBPAB 43" 4K HDR1000 AmbiGlow Gsync low input Silla: Diablo X-Horn XL


Avatar de Usuario
cryyper
Visitante
Mensajes: 363
Registrado: 17 Ago 2014, 12:47

Re: Script salto HALO

Mensaje por cryyper »

y para poner mas de un grupo como seria? e probado estos 2 pero no funciona :rojis:

Código: Seleccionar todo

     };
   } foreach units nombre_grupo && nombre_grupo;                                        //poner playableunits para misiones en general o grupos definidos
};

Código: Seleccionar todo

     };
   } foreach units nombre_grupo, nombre_grupo;                                        //poner playableunits para misiones en general o grupos definidos
};

Avatar de Usuario
<A2>Pescadorr
Soldado A2
Soldado A2
Mensajes: 6569
Registrado: 09 Sep 2011, 03:28

Re: Script salto HALO

Mensaje por <A2>Pescadorr »

cryyper escribió:y para poner mas de un grupo como seria? e probado estos 2 pero no funciona :rojis:

Código: Seleccionar todo

     };
   } foreach units nombre_grupo && nombre_grupo;                                        //poner playableunits para misiones en general o grupos definidos
};

Código: Seleccionar todo

     };
   } foreach units nombre_grupo, nombre_grupo;                                        //poner playableunits para misiones en general o grupos definidos
};
seria asi:

Código: Seleccionar todo

     };
   } foreach units nombre_grupo_1 + units  nombre_grupo_2 ;                                        
};

Código: Seleccionar todo

     };
   } foreach units nombre_grupo_1 + [nombre_unidad_suelta];                                        
};
hay tienes un ejemplo para dos grupos y para un grupo y una unidad suelta.
Caja: DEEP COOL MATREXX 70 3F CPU: Ryzen 7 5800X P. Base: Gigabyte X570 Aorus Elite RAM:Team Group T-Force Dark Z Alpha 2x16 gb ddr4 3600 Mhz CL18
Disipador cpu: Corsair H-100 Hydro series Pasta termica: Thermalright TF8 13.8 W/MK + Coollaboratory Liquid Pro GPU: Asus GeForce TUF Gaming RTX 4070 Ti 12GB GDDR6X
Discos: M2 samsung 970 512 mb 3.0 + M2 Samsung 980 PRO 1 Tb 4.0 + HDD Barracuda 4 Tb Vent: 4 x deep cool RGB pwm + 3 x corsair pwm + 2 x Noctua nf-p12 + controladora rgb + pwm
disipador M2: GLOTRENDS M.2 Alfombrilla: MARSGAMING MMPRGB2 XXL RGB 80x30 Auriculares: Audio-Technica M50x Peines cableado: Uphere 24 pz
Microfono: Boya BY-M1 Raton: Logitech G602 Teclado: Razer Huntsman Elite Switches Optomecánicos Purple
Monitor: Philips 436M6VBPAB 43" 4K HDR1000 AmbiGlow Gsync low input Silla: Diablo X-Horn XL


Avatar de Usuario
cryyper
Visitante
Mensajes: 363
Registrado: 17 Ago 2014, 12:47

Re: Script salto HALO

Mensaje por cryyper »

Funciona perfecto! que maravilla :bravo:

Responder