Script de llamada a helicóptero con humo (problema solucionado)
Moderador: C. Misiones & Noticias
- <A2>Valium.T
- Soldado A2
- Mensajes: 570
- Registrado: 09 Ene 2018, 01:32
Script de llamada a helicóptero con humo (problema solucionado)
¡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
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
Ú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”
Re: Llamada a helicóptero con humo verde (problema)
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
- <A2>Valium.T
- Soldado A2
- Mensajes: 570
- Registrado: 09 Ene 2018, 01:32
Re: Llamada a helicóptero con humo verde (problema)
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.
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”
- BBTheHeartPainkiller
- Visitante
- Mensajes: 701
- Registrado: 30 May 2021, 00:13
Re: Llamada a helicóptero con humo verde (problema)
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.<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
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:
Re: Llamada a helicóptero con humo verde (problema)
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:
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.
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"
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";};
};
};
}];
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;
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"
- <A2>Valium.T
- Soldado A2
- Mensajes: 570
- Registrado: 09 Ene 2018, 01:32
Re: Llamada a helicóptero con humo verde (problema)
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”
Re: Llamada a helicóptero con humo verde (problema)
Lo he modificado para que no haga falta.<A2>Valium.T escribió: ↑07 Ene 2022, 00:24 Gracias Flaco. Solo una pregunta más: ¿El activador no se usa?
- <A2>Valium.T
- Soldado A2
- Mensajes: 570
- Registrado: 09 Ene 2018, 01:32
Re: Llamada a helicóptero con humo verde (problema)
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.
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!
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)};
¡Que contento etoyy!
“La cerveza es la mejor prueba de que Dios nos ama y quiere que seamos felices”
Re: Script de llamada a helicóptero con humo (problema solucionado)
Código: Seleccionar todo
sleep 2;
_heliCrew addWaypoint [
[28300,200,10]//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ACTION B
,1];
sleep 1;
[_heliCrew, getPosATL helipad2, _heli] spawn BIS_fnc_wpLand;
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.
- <A2>Pescadorr
- Soldado A2
- Mensajes: 6570
- Registrado: 09 Sep 2011, 03:28
Re: Script de llamada a helicóptero con humo (problema solucionado)
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.
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
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