Unir IA a mi grupo
Moderador: C. Misiones & Noticias
Unir IA a mi grupo
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.
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.
- <A2>Pescadorr
- Soldado A2
- Mensajes: 6601
- Registrado: 09 Sep 2011, 03:28
Re: Unir IA a mi grupo
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í:
o bien
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.
Y para unir las unidades sería así:
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);
Código: Seleccionar todo
[soldado_1,soldado_2] joinsilent (group player);
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;
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
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
Re: Unir IA a mi grupo
Muchas gracias,
Así lo haré.
Así lo haré.
- <A2>Bhelma
- Soldado A2
- Mensajes: 1332
- Registrado: 17 Dic 2010, 14:37
Re: Unir IA a mi grupo
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.
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.
- <A2>AbueloCeboleta
- Soldado A2
- Mensajes: 1660
- Registrado: 03 Sep 2018, 23:24
Re: Unir IA a mi grupo
En principio, haciéndolo por comando, sería algo así: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.
Código: Seleccionar todo
[unidadIA] join (group player);
(https://community.bistudio.com/wiki/join)
Saludos.
« HACIA EL ENEMIGO » - Inscripción de la mina M18 Claymore.
- <A2>Gosper
- Soldado A2
- Mensajes: 695
- Registrado: 14 Sep 2013, 15:40
Re: Unir IA a mi grupo
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
];
- <A2>Bhelma
- Soldado A2
- Mensajes: 1332
- Registrado: 17 Dic 2010, 14:37
Re: Unir IA a mi grupo
Uso ese comando, sin el player, por qué......<A2>AbueloCeboleta escribió: ↑23 May 2021, 13:08En principio, haciéndolo por comando, sería algo así: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.
Creo que la IA se uniría al grupo del jugador que realiza el addAction, aunque tendría que testearlo para asegurarme.Código: Seleccionar todo
[unidadIA] join (group player);
(https://community.bistudio.com/wiki/join)
Saludos.
El player en multijugador no creo error?
Vale.... Pero eso es sabiendo la unidad que va a ir a por esa IA..... Pero cuando no lo sabes??<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 ];
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.
- <A2>Gosper
- Soldado A2
- Mensajes: 695
- Registrado: 14 Sep 2013, 15:40
Re: Unir IA a mi grupo
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:
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.
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];
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.
- <A2>Bhelma
- Soldado A2
- Mensajes: 1332
- Registrado: 17 Dic 2010, 14:37
Re: Unir IA a mi grupo
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....
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....
- <A2>Gosper
- Soldado A2
- Mensajes: 695
- Registrado: 14 Sep 2013, 15:40
Re: Unir IA a mi grupo
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.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 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 .