Bug del Briefing en multiplayer

Sección para misiones y edición ArmA III

Moderador: C. Misiones & Noticias

Avatar de Usuario
<A2>Dark Darius
Soldado A2
Soldado A2
Mensajes: 980
Registrado: 10 Jun 2014, 23:06

Bug del Briefing en multiplayer

Mensaje por <A2>Dark Darius »

Hola gente,

me he dado cuenta de que estoy teniendo un problema con el Briefing y las tareas por culpa de la manera como las he creado. Yo hago un archivo sqf para el briefing y las tareas; las ejecuto en el init.sqf y hasta ahí todo normal sin problemas. El problema empieza cuando un jugador en plena partida se cae, desconecta o lo que sea que sale del servidor y vuelve a entrar a la partida, este jugador ya no se le ejecuta el briefing ni las tareas y no les aparece; mientras que el resto de jugadores que no se han desconectado no tienen ningún problema en ver el briefing y las tareas.

Les muestro cómo hago yo el briefing y las tareas a ver qué solución me pueden aportar para este caso tan específico.

init.sqf

Imagen

Briefing.sqf

Imagen

Objectives.sqf

Imagen
Añadir en amigos de Steam Imagen
Imagen

DPD
Visitante
Mensajes: 881
Registrado: 25 Feb 2009, 16:33

Re: Bug del Briefing en multiplayer

Mensaje por DPD »

hola,

la verdad que el que se cae y entra de nuevo,es un caso que nunca he mirado


mira estos casos

https://community.bistudio.com/wiki/Event_Scripts

mira usando initJIPcompatible.sqf

o initPlayerLocal.sqf
MI SUPER PC:
Procesador: INTEL CORE I7 5820K (12 NÚCLEOS 4.2 GHZ O.C)
GRÁFICA :MSI GTX 980 4GB
RAM: 32GB DDR4 3200 MHZ
DISCO DURO SSD SAMSUNG 950 PRO 256 GB
DISCO DURO SATA 3 2 TB

DPD
Visitante
Mensajes: 881
Registrado: 25 Feb 2009, 16:33

Re: Bug del Briefing en multiplayer

Mensaje por DPD »

de todas formas el briefing siempre es aconsejable tenerlo fuera del isserver y del ismultiplayer al principio del init.sqf , si es la información , siempre debería de cargar cuando se conecte el jugador.
MI SUPER PC:
Procesador: INTEL CORE I7 5820K (12 NÚCLEOS 4.2 GHZ O.C)
GRÁFICA :MSI GTX 980 4GB
RAM: 32GB DDR4 3200 MHZ
DISCO DURO SSD SAMSUNG 950 PRO 256 GB
DISCO DURO SATA 3 2 TB

Avatar de Usuario
<A2>Dark Darius
Soldado A2
Soldado A2
Mensajes: 980
Registrado: 10 Jun 2014, 23:06

Re: Bug del Briefing en multiplayer

Mensaje por <A2>Dark Darius »

Ya lo he probado y el jugador que sale y vuelve a entrar no le aparecen las tareas ni el briefing. Voy a probar a ejecutar esto:

Código: Seleccionar todo

{
private ["_objetivo1"]

_objetivo1 = [ _x (llamada de creación de la tarea)]

} forEach playableUnits
Añadir en amigos de Steam Imagen
Imagen

Avatar de Usuario
<A2>Vardeno
Soldado A2
Soldado A2
Mensajes: 2121
Registrado: 17 Mar 2014, 23:17

Re: Bug del Briefing en multiplayer

Mensaje por <A2>Vardeno »

Echa un vistazo al link que te ha puesto DPD, veras donde está el problema (o donde está aparentemente... jajaja) ;-)

Código: Seleccionar todo

init.sqf	Executed when mission is started (before briefing screen)
Y como te ha comentado tambien DPD, echa un vistazo a "initJIPcompatible.sqf"

Código: Seleccionar todo

initJIPcompatible.sqf	Executed locally by Multiplayer framework when a player joins mission (includes both mission start and JIP). Also executed locally on server at mission start.
Imagen

Imagen
Imagen Imagen Imagen Imagen Imagen

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

Re: Bug del Briefing en multiplayer

Mensaje por <A2>Pescadorr »

A ver, saca la ejecucion del briefing del isserver, ya que eso solo lo ejecuta el servidor y no tiene ningun sentido que lo ejecutes en el server algo que precisamente debe ejecutar todos menos el server, debe de estar sin filtrar. Te funciona al principio por casualidad porque en realidad no deberia y lo hace porque en un momento dado de la inicializacion de la mision, el server por unos instantes es propietario o owned de todas las ias existentes incluido ias de player (y por tanto es local a todas la unidades) hasta que en el siguiente paso en el que los jugadores cargan y toman el control de sus ias.

Asi sin filtran los jugadores que se caigan y vuelvan a entrar cargaran el briefing pero ten en cuenta que no estara sincronizado con los que esten dentro,los de dentro pueden tener objetivos cumplidos y los que entran pueden tenerlo sin cumplir, todo depende de como se cumplan los objetivos. En tu caso no has creado las tareas dentro del briefing asi que con solo sacarlo del filtrado del servidor ya estaría resuelto.

Otro ejemplo de error de novato es el ejecutar la intro, los que vuelvan a entrar lo volveran a ejecutar a menos que pongas impedimentos para que no vuelva a repetirse. Te hablamos todos de lo mismo del Joint in progress y saber manejarlo.

Hay formas de mantener el briefing con los objetivos sincronizados y formas de evitar repetir una intro cada vez que entras, esto es algo que todos hemos pasado y hay que aprender a solucionarlo.


Te pongo ejemplos de errores tipicos de JIP:

Un activador de zona que cambia el estado de una tarea cuanfo no hay enemigos en la zona, limpiais la zona y os da por cumplido el objetivo, pero mira que avanzais a otro objetivo y unos refuerzos enemigoa vuelve a la zona, en ese momento si alguien se cae y vuelve a entrar no le da por cumplido el objetivo porque hay ias enemigas en la zona, asi que mientras unos tiene el objetivo cumplido(los que permanecen en el sever) otros lo tienen sin cumplir (los que se han caido y han vuelto a entrar).

El tipico ejemplo de añadir en el init de una ia codigo del arsenal para añadir equipamiento sin filtrar por el server. Al volver a entrar añadiria mas equipamiento a la unidad o se restableceria, eso depende del codigo. Precisamente esto se solucionaba filtrandolo por el servidor para que solo lo ejecutaran una vez el server al iniciar la partida y asi no se ejecuta mas. Esto ya esta solucionado con el nuevo editor que permite editar las unidades desde el propio arsenal integrado.

La tipica intro que se ejecuta desde el init.sqf que hace queveas la intro o video una y otra vez al volver a entrar en la partida.


Hay soluciones para todos estos problemas tipicos y dominar el JIP y el tema de localidades se solucionan el 99% de los problemas de editar.
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
<A2>Dark Darius
Soldado A2
Soldado A2
Mensajes: 980
Registrado: 10 Jun 2014, 23:06

Re: Bug del Briefing en multiplayer

Mensaje por <A2>Dark Darius »

Vale, entonces sólo lo saco del condicionante. ¿Pero entonces qué sentencia escribo para que ese jugador al volver a entrar al servidor tenga sincronizado las tareas con el resto de jugadores? yo ahora no tengo tiempo para pensar y retocar la misión que se programó este viernes, si me pueden decir rápido puedo buscar un hueco en estos días y dejar sin errores la misión de este viernes por favor.
Añadir en amigos de Steam Imagen
Imagen

DPD
Visitante
Mensajes: 881
Registrado: 25 Feb 2009, 16:33

Re: Bug del Briefing en multiplayer

Mensaje por DPD »

Darius escribió:Vale, entonces sólo lo saco del condicionante. ¿Pero entonces qué sentencia escribo para que ese jugador al volver a entrar al servidor tenga sincronizado las tareas con el resto de jugadores? yo ahora no tengo tiempo para pensar y retocar la misión que se programó este viernes, si me pueden decir rápido puedo buscar un hueco en estos días y dejar sin errores la misión de este viernes por favor.
echa un vistazo a ésto, quizás encuentres a algo,
https://community.bistudio.com/wiki/Arm ... _Framework
MI SUPER PC:
Procesador: INTEL CORE I7 5820K (12 NÚCLEOS 4.2 GHZ O.C)
GRÁFICA :MSI GTX 980 4GB
RAM: 32GB DDR4 3200 MHZ
DISCO DURO SSD SAMSUNG 950 PRO 256 GB
DISCO DURO SATA 3 2 TB

Avatar de Usuario
<A2>Dark Darius
Soldado A2
Soldado A2
Mensajes: 980
Registrado: 10 Jun 2014, 23:06

Re: Bug del Briefing en multiplayer

Mensaje por <A2>Dark Darius »

Jejejeje ya arreglé las tareas, lo que me falta es lograr qeu el Briefing vuelva a cargar cuando un jugador sale y vuelve a entrar. :happy2:
Añadir en amigos de Steam Imagen
Imagen

DPD
Visitante
Mensajes: 881
Registrado: 25 Feb 2009, 16:33

Re: Bug del Briefing en multiplayer

Mensaje por DPD »

"de todas formas el briefing siempre es aconsejable tenerlo fuera del isserver y del ismultiplayer al principio del init.sqf , si es la información , siempre debería de cargar cuando se conecte el jugador."


tú lo que hacía era ejecutarlo en multiplayer y lo ponías después de la instrucción if (!isMultiplayer) exitWith {forceEnd};

ahora como lo tienes antes, te actualizará. :OK:
MI SUPER PC:
Procesador: INTEL CORE I7 5820K (12 NÚCLEOS 4.2 GHZ O.C)
GRÁFICA :MSI GTX 980 4GB
RAM: 32GB DDR4 3200 MHZ
DISCO DURO SSD SAMSUNG 950 PRO 256 GB
DISCO DURO SATA 3 2 TB

Responder