Script de llamada a helicóptero con humo (problema solucionado)

Sección para misiones y edición ArmA III

Moderador: C. Misiones & Noticias

Avatar de Usuario
<A2>Valium.T
Soldado A2
Soldado A2
Mensajes: 570
Registrado: 09 Ene 2018, 01:32

Script de llamada a helicóptero con humo (problema solucionado)

Mensaje por <A2>Valium.T »

¡A las buenas tardes monstruos!
Estoy intentando seguir los pasos de este video pero mi inglés deja mucho que desear.
Seguro que alguno sabe donde está mi fallo.

https://www.youtube.com/watch?v=xgnW-vgAt9c&t=602s

Los pasos que he seguido son los siguientes:
-He puesto el sqf en la carpeta de la misión.
-He creado un helipuerto y lo he llamado helipad
-He creado dos unidades. Las he agrupado y en el inic de las dos IA's he puesto:
this addEventHandler ["Fired",
{
if ((_this select 4) isEqualTo "SmokeShellGreen") then
{
_smoke = (_this select 6);
_ = [_smoke] spawn
{
private ["_smokePos","_smoke"];
_smoke = (_this select 0);
waitUntil { (getPosATL _smoke select 2) < 0.1 };
sleep 3;
_smokePos = getPosATL _smoke;
helipad setVehiclePosition [_smokePos, [], 0, "CAN_COLLIDE"];
};
};
}];

(también he probado a ponerlo solo en una unidad)

-Despues he creado un activador dónde en activación he puesto Radio Alpha y he marcado la casilla Repetible
y en Al activarse he pegado lo siguiente: WR_SWPL = execVM "WR_HELI_SPAWN_LAND_V2.sqf";

Luego pide meter coordenadas en el sqf. Esto es lo que pone traducido con google:
4) Copie las coordenadas desde donde desea que comience el helicóptero. (usar

aeropuerto / pista como una opción realista).

5) Pegar / reemplazar [? ] con nuevas coordenadas (ver 'ACCIÓN A').

6) Copie las coordenadas de donde desea que termine el helicóptero. (utilizar el

medio del mar / borde del mapa para garantizar que la misión final tenga suficiente tiempo

completar).

5) Pegar / reemplazar [? ] con nuevas coordenadas (ver 'ACCIÓN B').


También dice algo de que ya no hay que poner el nombre de variable en las unidades porque ha actualizado el script.

En principio no parece tener ningún misterio, peero... esto no va.

SQF:
_heli = createVehicle [ "B_Heli_Transport_01_F",

[17364.8,6909.08,0]//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ACTION A

,[], 0, "FLY" ];

_heliCrew = createVehicleCrew _heli;

sleep 1;

[_heliCrew, getPosATL helipad, _heli] spawn BIS_fnc_wpLand;

WaitUntil {sleep 1; _aliveUnits = (units (group player)) select {alive _x};

({_x in _heli} count _aliveUnits) == (count _aliveUnits)};

sleep 2;

_heliCrew addWaypoint [

[24566,6373.18,0]//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ACTION B

,1];

sleep 10;

"end1" call BIS_fnc_endMission;


Un cordial saludo.

PD: Al que dé con la solución tiene regalo de reyes :OK:
Última edición por <A2>Valium.T el 08 Ene 2022, 02:32, editado 3 veces en total.
“La cerveza es la mejor prueba de que Dios nos ama y quiere que seamos felices”
Imagen

Avatar de Usuario
<A2>Jorge
Soldado A2
Soldado A2
Mensajes: 1930
Registrado: 14 Dic 2017, 21:27

Re: Llamada a helicóptero con humo verde (problema)

Mensaje por <A2>Jorge »

La primera opción tonta…probaste a poner el helipuerto “invisible” en zonas diferentes ? Podría estar en alguna zona conflictiva y por eso no toca tierra, también una vez me aconsejaron de poner la habilidad del piloto baja para así forzarle a hacer lo que le pides y no sus cálculos
“Una vez que están unificados, el valiente no puede actuar solo, ni el tímido puede retirarse solo: ésta es la regla general del empleo de un grupo”
Imagen

Avatar de Usuario
<A2>Valium.T
Soldado A2
Soldado A2
Mensajes: 570
Registrado: 09 Ene 2018, 01:32

Re: Llamada a helicóptero con humo verde (problema)

Mensaje por <A2>Valium.T »

Hola Jorge.
Lo estoy probando en un aeropuerto. He probado con toda clase de helipuertos. En el vídeo hace la prueba con un helipuerto normal para ver que cuando tiras el humo funciona la activación.
No tengo ningún helicóptero. En teoría, según entiendo, tiene que aparecer de la nada. Igual tiene algo que ver con el nombre de helicóptero que pone en el script.
Si no consigo que funcione así usaré los módulos y haré eso que dices de bajar la habilidad.
La verdad que me gustaría hacer funcionar ese sistema pues se ve muy sencillo su uso.
“La cerveza es la mejor prueba de que Dios nos ama y quiere que seamos felices”
Imagen

Avatar de Usuario
BBTheHeartPainkiller
Visitante
Mensajes: 701
Registrado: 30 May 2021, 00:13

Re: Llamada a helicóptero con humo verde (problema)

Mensaje por BBTheHeartPainkiller »

<A2>Jorge escribió: 05 Ene 2022, 18:10 La primera opción tonta…probaste a poner el helipuerto “invisible” en zonas diferentes ? Podría estar en alguna zona conflictiva y por eso no toca tierra, también una vez me aconsejaron de poner la habilidad del piloto baja para así forzarle a hacer lo que le pides y no sus cálculos
Yo cuando he tenido ese problema he probado con poner a la IA del helicoptero en actitud de combate "Careless", en ese modo al parecer ignora todo lo que ocurre y solo piensa en la misión que le has asignado y me ha funcionado en zonas en las que la IA priorizaba combatir a aterrizar.

Si tiene artilleros pero quieres que aun asi disparen, pon a los artilleros en una squad separada del piloto y listo.
En las sabias palabras de The Chieftain:
Imagen

Avatar de Usuario
<A2>Flac0
Visitante
Mensajes: 1611
Registrado: 22 Mar 2020, 18:07

Re: Llamada a helicóptero con humo verde (problema)

Mensaje por <A2>Flac0 »

Querido Valium, lo acabo de probar y me funciona correctamente. He modificado la script original que has pasado.

Sigue estos pasos:

1º- Coloca el archivo sqf en la carpeta de la misión. (nombre archivo WR_HELI_SPAWN_LAND_V2.sqf)

2º- Coloca una AI.

3º- En el init de la unidad pones esto:

Código: Seleccionar todo

this addEventHandler ["Fired",
{
   if ((_this select 4) isEqualTo "SmokeShellGreen") then
   {
       _smoke = (_this select 6);
       _ = [_smoke] spawn
       {
           private ["_smokePos","_smoke"];
           _smoke = (_this select 0);
           waitUntil { (getPosATL _smoke select 2) < 0.1 };
		   sleep 3;
           _smokePos = getPosATL _smoke;
           helipad setVehiclePosition [_smokePos, [], 0, "CAN_COLLIDE"];
		   sleep 3;
if(isServer) then {WR_SWPL = execVM "WR_HELI_SPAWN_LAND_V2.sqf";};
       };
   };
}];
4º- Coloca en el mapa un helipuerto invisible y como nombre de variable pones "helipad".

5º- Abre el archivo sqf WR_HELI_SPAWN_LAND_V2 y
- Donde pone <<<<<<<<ACTION A cambia las coordenadas dónde quieras que haga respawn el helicoptero.
- Donde pone <<<<<<<<ACTION B cambia las coordenadas dónde quieras que se diriga el heli una vela unidad esté embarcada.
- Borra la línea "end1" call BIS_fnc_endMission; si no quieres que la misión finalice.

Código: Seleccionar todo

_heli = createVehicle [ "B_Heli_Transport_01_F", 

[13300,18200,19]//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ACTION A

,[], 0, "FLY" ];

_heliCrew = createVehicleCrew _heli;

sleep 1;

[_heliCrew, getPosATL helipad, _heli] spawn BIS_fnc_wpLand;

WaitUntil {sleep 1; _aliveUnits = (units (group player)) select {alive _x};

({_x in _heli} count _aliveUnits) == (count _aliveUnits)};

sleep 2;

_heliCrew addWaypoint [

[355.562,299.15,0]//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ACTION B

,1];

sleep 25;

"end1" call BIS_fnc_endMission;
6º - Lanza humo verde (en el momento que lances el humo verde se generará la zona de aterrizaje y el helicóptero hará spawn aterrizando en el humo verde en el tiempo que tarde en llegar desde las coordinadas establecidas de respawn hasta el humo verde).

7º- Deja 2 cervezas pagadas en la cantina.

PD: Dónde pone "B_Heli_Transport_01_F" puedes poner el classname del helicóptero que tu quieras, del FFAAMOD, CUP, RHS ...
PD2: Ojo, porque cada vez que tires un humo verde se repetirá el proceso. Asegúrate de que solo haya 1 humo verde. Si quieres cambiar el tipo de humo cambie el classname dónde pone "SmokeShellGreen"

8)
Imagen

Avatar de Usuario
<A2>Valium.T
Soldado A2
Soldado A2
Mensajes: 570
Registrado: 09 Ene 2018, 01:32

Re: Llamada a helicóptero con humo verde (problema)

Mensaje por <A2>Valium.T »

Gracias Flaco. Solo una pregunta más: ¿El activador no se usa?
“La cerveza es la mejor prueba de que Dios nos ama y quiere que seamos felices”
Imagen

Avatar de Usuario
<A2>Flac0
Visitante
Mensajes: 1611
Registrado: 22 Mar 2020, 18:07

Re: Llamada a helicóptero con humo verde (problema)

Mensaje por <A2>Flac0 »

<A2>Valium.T escribió: 07 Ene 2022, 00:24 Gracias Flaco. Solo una pregunta más: ¿El activador no se usa?
Lo he modificado para que no haga falta.
Imagen

Avatar de Usuario
<A2>Valium.T
Soldado A2
Soldado A2
Mensajes: 570
Registrado: 09 Ene 2018, 01:32

Re: Llamada a helicóptero con humo verde (problema)

Mensaje por <A2>Valium.T »

Bueno Flac0. No me funcionaba ni con tu script. Lanzaba el humo con el ACE. No caí en darle solo a la doble G. Ahora ya todo va como la seda. Pero solo sirve para final de misión ya que el helicóptero se queda parado en el aire cuando llegas al final si quitas la línea del sqf.

Código: Seleccionar todo

_heli = createVehicle [ "vn_b_air_uh1d_02_07", 

[10970.6,14312.1,0]

,[], 0, "FLY" ];

_heliCrew = createVehicleCrew _heli;

sleep 1;

[_heliCrew, getPosATL helipad, _heli] spawn BIS_fnc_wpLand;

WaitUntil {sleep 1; _aliveUnits = (units (group player)) select {alive _x};

({_x in _heli} count _aliveUnits) == (count _aliveUnits)};
Peero... He dejado así el sqf y ya solo llama al helicóptero y aterriza. Y con solo ponerte de piloto te puedes ir donde quieras.
¡Que contento etoyy! :)
“La cerveza es la mejor prueba de que Dios nos ama y quiere que seamos felices”
Imagen

Avatar de Usuario
<A2>Flac0
Visitante
Mensajes: 1611
Registrado: 22 Mar 2020, 18:07

Re: Script de llamada a helicóptero con humo (problema solucionado)

Mensaje por <A2>Flac0 »

Código: Seleccionar todo

sleep 2;

_heliCrew addWaypoint [

[28300,200,10]//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ACTION B

,1];

sleep 1;

[_heliCrew, getPosATL helipad2, _heli] spawn BIS_fnc_wpLand;
Valium, prueba de añadir esto al final de la script.
Coloca otro helipuerto invisible donde quieras que aterrice y nombralo con "helipad2".
En ACTION B pon coordenadas para un WayPoint cercano a helipad2.

(No lo he probado).

Yo cuando pueda la probaré en servidor y te digo que tal funciona. :OK:
Imagen

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

Re: Script de llamada a helicóptero con humo (problema solucionado)

Mensaje por <A2>Pescadorr »

Exactamente qué es lo que necesitas? No es mejor decir exactamente qué es lo que necesitas y se te hace que andar adaptando scripts que hay por ahí? Si lo que necesitas es simplemente un heli de extracción que venga de base al tirar un humo verde y después os recoja a todos y vuelva a llevar a base o a donde le marques en mapa? Recordar que los Eventhandler los carga el diablo, un uso indebido, o un simple error ( que no muestra) y la misión se puede ir a la mierda. Son entornos non-scheduled que no permiten paradas en el código ni delays y trabajan a tiempo real.

A ver si me pongo en profundidad y te adapto algo modular y funcional para todo el mundo.
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


Responder