Unir IA a mi grupo

Sección para misiones y edición ArmA III

Moderador: C. Misiones & Noticias

Omoskorp
Visitante
Mensajes: 11
Registrado: 26 Ago 2018, 12:24

Unir IA a mi grupo

Mensaje por Omoskorp »

Hola a todos!,
Necesitaría ayuda con una misión que estoy creando. En un momento de la misma necesito que unos refuerzos de la IA estén bajo mi mando. He usado el script "join" ([_unitOne, _unitTwo] join player;) pero no consigo que se unan a mi (malditos insubordinados). Si alguien conoce una mejor manera de hacerlo se lo agradecería.

Gracias de antemano.

PD: No quiero unirme a ellos, quiero que ellos se unan a mi grupo.

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

Re: Unir IA a mi grupo

Mensaje por <A2>Pescadorr »

No te funciona en principio porque usas variable locales, si has nombrado a un player "_unitone" quítale el guión bajo de delante para que sea una variable global y no local "unitone".

Prueba poniendo el grupo al que ha de unirse y no la unidad, a mí siempre me ha funcionado así:

Código: Seleccionar todo

[soldado_1,soldado_2] join (group player); 
o bien

Código: Seleccionar todo

[soldado_1,soldado_2] joinsilent (group player);
Pero si está misión es multiplayer tienes el problema de que haría referencia al player local que es cada jugador al estar conectado.

Lo ideal sería que pusieses en el init de la unidad que va a liderar, el nombre del grupo.

Código: Seleccionar todo

Mando_1= group this;
Y para unir las unidades sería así:

Código: Seleccionar todo

[soldado_1,soldado_2] joinsilent mando_1;
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


Omoskorp
Visitante
Mensajes: 11
Registrado: 26 Ago 2018, 12:24

Re: Unir IA a mi grupo

Mensaje por Omoskorp »

Muchas gracias,
Así lo haré.

Avatar de Usuario
<A2>Bhelma
Soldado A2
Soldado A2
Mensajes: 1330
Registrado: 17 Dic 2010, 14:37

Re: Unir IA a mi grupo

Mensaje por <A2>Bhelma »

Reabro este hilo para no empezar uno nuevo.

Necesito unir una IA del mismo grupo de los jugadores, pero desconociendo el grupo que va a ir a por ella.

Le tengo añadido en la condicion de un activador un "addAction" para ponerle a dicha IA un "Unirse al grupo" para que solo en ese momento que esta el activador en funcionamiento le salga la opcion de unirse.
El problema lo estoy teniendo, al desconocer el grupo que va a ir a por ella.

Estoy abierto a opciones.
Imagen
Imagen

Avatar de Usuario
<A2>AbueloCeboleta
Soldado A2
Soldado A2
Mensajes: 1660
Registrado: 03 Sep 2018, 23:24

Re: Unir IA a mi grupo

Mensaje por <A2>AbueloCeboleta »

Bhelma escribió: 22 May 2021, 21:05 Reabro este hilo para no empezar uno nuevo.

Necesito unir una IA del mismo grupo de los jugadores, pero desconociendo el grupo que va a ir a por ella.

Le tengo añadido en la condicion de un activador un "addAction" para ponerle a dicha IA un "Unirse al grupo" para que solo en ese momento que esta el activador en funcionamiento le salga la opcion de unirse.
El problema lo estoy teniendo, al desconocer el grupo que va a ir a por ella.

Estoy abierto a opciones.
En principio, haciéndolo por comando, sería algo así:

Código: Seleccionar todo

[unidadIA] join (group player);
Creo que la IA se uniría al grupo del jugador que realiza el addAction, aunque tendría que testearlo para asegurarme.
(https://community.bistudio.com/wiki/join)
Saludos.
« HACIA EL ENEMIGO » - Inscripción de la mina M18 Claymore.

Avatar de Usuario
<A2>Gosper
Soldado A2
Soldado A2
Mensajes: 695
Registrado: 14 Sep 2013, 15:40

Re: Unir IA a mi grupo

Mensaje por <A2>Gosper »

Lo suyo es que añadas el addaction a la unidad que quieres que se una. Cuando se ejecuta el addaction lo hace de forma local por tanto si usas el parametro [soldado_1] join (group player); el resultado es que solodado_1 se une al grupo del player que ejecuta el comando. En el init de la unidad a unir debería quedar algo así:

Código: Seleccionar todo

this addAction
[
	"UNIR ESTE SOLDADO A TU GRUPO",	// title
	{
	[_target] joinSilent grpNull; 
	[_target] join (group _caller); // Siendo _target la unidad portadora del addaction y _caller la unidad que lo ejecuta // script
	},
	nil,		// arguments
	1.5,		// priority
	true,		// showWindow
	true,		// hideOnUse
	"",			// shortcut
	"true", 	// condition, aquí puedes sutituir "true" por una variable o condicion que controle la presencia del addaction (sobre todo si quieres que desaparezca la opción)
	2,			// radius, controla la distancia a la que se ve el addactión
	false,		// unconscious
	"",			// selection
	""			// memoryPoint
];
Imagen
Imagen Imagen Imagen Imagen

Avatar de Usuario
<A2>Bhelma
Soldado A2
Soldado A2
Mensajes: 1330
Registrado: 17 Dic 2010, 14:37

Re: Unir IA a mi grupo

Mensaje por <A2>Bhelma »

<A2>AbueloCeboleta escribió: 23 May 2021, 13:08
Bhelma escribió: 22 May 2021, 21:05 Reabro este hilo para no empezar uno nuevo.

Necesito unir una IA del mismo grupo de los jugadores, pero desconociendo el grupo que va a ir a por ella.

Le tengo añadido en la condicion de un activador un "addAction" para ponerle a dicha IA un "Unirse al grupo" para que solo en ese momento que esta el activador en funcionamiento le salga la opcion de unirse.
El problema lo estoy teniendo, al desconocer el grupo que va a ir a por ella.

Estoy abierto a opciones.
En principio, haciéndolo por comando, sería algo así:

Código: Seleccionar todo

[unidadIA] join (group player);
Creo que la IA se uniría al grupo del jugador que realiza el addAction, aunque tendría que testearlo para asegurarme.
(https://community.bistudio.com/wiki/join)
Saludos.
Uso ese comando, sin el player, por qué......
El player en multijugador no creo error?
<A2>Gosper escribió: 23 May 2021, 13:52 Lo suyo es que añadas el addaction a la unidad que quieres que se una. Cuando se ejecuta el addaction lo hace de forma local por tanto si usas el parametro [soldado_1] join (group player); el resultado es que solodado_1 se une al grupo del player que ejecuta el comando. En el init de la unidad a unir debería quedar algo así:

Código: Seleccionar todo

this addAction
[
	"UNIR ESTE SOLDADO A TU GRUPO",	// title
	{
	[_target] joinSilent grpNull; 
	[_target] join (group _caller); // Siendo _target la unidad portadora del addaction y _caller la unidad que lo ejecuta // script
	},
	nil,		// arguments
	1.5,		// priority
	true,		// showWindow
	true,		// hideOnUse
	"",			// shortcut
	"true", 	// condition, aquí puedes sutituir "true" por una variable o condicion que controle la presencia del addaction (sobre todo si quieres que desaparezca la opción)
	2,			// radius, controla la distancia a la que se ve el addactión
	false,		// unconscious
	"",			// selection
	""			// memoryPoint
];
Vale.... Pero eso es sabiendo la unidad que va a ir a por esa IA..... Pero cuando no lo sabes??

Quiero decir, cuando se juega multijugador hay un mando de misión y ese mando dice o decide que unidades van a un sitio u otro.... Lo que yo quiero es NO condicionar eso, sino que que la unidad que sea asignada por mando de misión o las unidades asignadas a ese objetivo pueda unirse a cualquiera de ellas.
Imagen
Imagen

Avatar de Usuario
<A2>Gosper
Soldado A2
Soldado A2
Mensajes: 695
Registrado: 14 Sep 2013, 15:40

Re: Unir IA a mi grupo

Mensaje por <A2>Gosper »

Creo que no tienes claros algunos conceptos de la programación en Arma. Veras, cuando se juega multiplayer hay tres entornos:
1º El servidor, que es el pc dedicado donde se corre la misión.
2º Entorno local, que es el pc de cada uno de los jugadores de la misión.
3º El entorno global. Este engloba tanto a los pc de los jugadores como al servidor.

Dependiendo de la función o el comando que uses se ejecutará en uno de estos tres entornos. Pongamos como ejemplo el comando "Hint" que sirve para poner mensajes en la esquina superior derecha ( https://community.bistudio.com/wiki/hint). Este comando se ejecuta en un entorno local por tanto cuando yo corra el script:

Código: Seleccionar todo

hint format ["Buenos días, %1!", name player];
El jugador Pepico verá el mensaje "Buenos días Pepico", pero el jugador Manolico verá "Buenos días Manolico".

Esto es por que "Player" (https://community.bistudio.com/wiki/player) es una variable que tiene un valor distinto en cada localidad.

Espero haberte sido de ayuda.
Imagen
Imagen Imagen Imagen Imagen

Avatar de Usuario
<A2>Bhelma
Soldado A2
Soldado A2
Mensajes: 1330
Registrado: 17 Dic 2010, 14:37

Re: Unir IA a mi grupo

Mensaje por <A2>Bhelma »

Gracias por tu ayuda
Los conceptos los tengo claros.

Probare la opcion player en el join otra vez...., pero cuando lo probe lo unico que hacia la IA era salir corriendo y no me salia esa unidad en el grupo para poder controlarla.
Si no buscare alternativas, como exposarlo y que se lo lleven....
Imagen
Imagen

Avatar de Usuario
<A2>Gosper
Soldado A2
Soldado A2
Mensajes: 695
Registrado: 14 Sep 2013, 15:40

Re: Unir IA a mi grupo

Mensaje por <A2>Gosper »

Bhelma escribió: 24 May 2021, 09:45 Gracias por tu ayuda
Los conceptos los tengo claros.

Probare la opcion player en el join otra vez...., pero cuando lo probe lo unico que hacia la IA era salir corriendo y no me salia esa unidad en el grupo para poder controlarla.
Si no buscare alternativas, como exposarlo y que se lo lleven....
Si la IA sale corriendo es por que la muy desgraciada ha acabado uniéndose a un grupo que que no es el tuyo y corre a obedecer las ordenes de su nuevo jefe. Comprueba que el script solo se ejecuta en una localidad adecuada.
Si no recuerdo mal también había algún conflicto con las graduaciones de las unidades, si la IA es capitán y tu soldado no le gustara que le des ordenes a la muy antipática XP .
Imagen
Imagen Imagen Imagen Imagen

Responder