Bug del Briefing en multiplayer
Moderador: C. Misiones & Noticias
- <A2>Dark Darius
- Soldado A2
- Mensajes: 980
- Registrado: 10 Jun 2014, 23:06
Bug del Briefing en multiplayer
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
Briefing.sqf
Objectives.sqf
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
Briefing.sqf
Objectives.sqf
Re: Bug del Briefing en multiplayer
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
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
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
Re: Bug del Briefing en multiplayer
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
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
- <A2>Dark Darius
- Soldado A2
- Mensajes: 980
- Registrado: 10 Jun 2014, 23:06
Re: Bug del Briefing en multiplayer
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
- <A2>Vardeno
- Soldado A2
- Mensajes: 2121
- Registrado: 17 Mar 2014, 23:17
Re: Bug del Briefing en multiplayer
Echa un vistazo al link que te ha puesto DPD, veras donde está el problema (o donde está aparentemente... jajaja)
Y como te ha comentado tambien DPD, echa un vistazo a "initJIPcompatible.sqf"
Código: Seleccionar todo
init.sqf Executed when mission is started (before briefing screen)
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.
- <A2>Pescadorr
- Soldado A2
- Mensajes: 6569
- Registrado: 09 Sep 2011, 03:28
Re: Bug del Briefing en multiplayer
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.
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
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
- <A2>Dark Darius
- Soldado A2
- Mensajes: 980
- Registrado: 10 Jun 2014, 23:06
Re: Bug del Briefing en multiplayer
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.
Re: Bug del Briefing en multiplayer
echa un vistazo a ésto, quizás encuentres a algo,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.
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
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
- <A2>Dark Darius
- Soldado A2
- Mensajes: 980
- Registrado: 10 Jun 2014, 23:06
Re: Bug del Briefing en multiplayer
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.
Re: Bug del Briefing en multiplayer
"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á.
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á.
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
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