Duda técnica mostrar\ocultar

Sección para misiones y edición ArmA III

Moderador: C. Misiones & Noticias

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

Re: Duda técnica mostrar\ocultar

Mensaje por <A2>Pescadorr »

La cantidad de objetos no es determinante y si lo puede ser el tipo de objetos que pongas en cuestión, hay objetos que no representan nada de carga y otros que si, eso hay que probarlo. Pero por lo general el impacto de los objetos es despreciable y mas si les quitas la simulación o los configuras como objetos simples.

La IA sin embargo es otro cantar poner mas de 180-200 en una sola zona es cargarte el rendimiento de los jugadores, lo suyo es spanearlas por oleadas controlando en todo momento cuanta ia hay en la zona o repartirla por toda el mapa(no cometais el error de repartirla en el mapa y esten tan proxima que a la que te detecten movilice todas las unidades del mapa).

Es cuestion de controlar que se hace y con sentido, yo por ejemplo estoy muy en contra de limitar la distancia de visión por script o la calidad del terreno porque creo que para eso cada uno se lo configura a su gusto y si uno se gasta un paston en una maquina que lo vea lo mejor posible.

Lo de que una coop sea de 20 o 40 eso da igual, eso depende del servidor y de lo que tu le cargues, tenemos la falsa creencia que una misión de 40 va a ir peor que una de 20 y no tiene porque, ahora claro si cargamos scripts que afectan a los jugadores o que repercuten en el servidor ahi es evidente que afecta y muchisimo. y os pongo un ejemplo, imaginad que ejecutamos un script que esta mal y da un fallo en cada maquina de cada uno de los clientes, en una coop de 20 el log del server recibiria 400 mensajes de los 20 jugadores (20x20) mientras que de una coop de 40 recibiria 1600 (40x40). como podeis ver 40 jugadores cargarian 4 veces mas que 20.

Por eso veo que quitar objetos debe ser el ultimo de tus problemas, centrate mas en gestionar la IA de forma progresiva y todo te ira de lujo.

Aun asi si lo que que quieres es borrar objetos al salir de la zona lo mas facil seria ejecutar un deletevehidcle en un script sencillito:

Código: Seleccionar todo

objetos=  nearestObjects [objeto_central,["tipoobjeto"], 50];
{
	deletevehicle  _x;
} foreach objetos;
donde objeto_central seria un objeto renombrado en el centro
donde tipoobjeto representaria el classname del tipo de objeto ( puedes poner tambien genericos como "land" o "car", mira el comando en la wiki.)
donde 50 representa la distancia en m desde objeto central que abarcaria los objetos.

por ejemplo:

Código: Seleccionar todo

antenas1 =  nearestObjects [antena,["Land_TTowerBig_1_F"], 50];
{
	deletevehicle  _x;
} foreach antenas1;			//borrado de todas las antenas en 50 metros a la redonda desde el objeto llamado antena
PC: 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 + Cooler Master MasterGel Maker 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 Noctua NF-A14 iPPC-3000 PWM + 2 x Noctua nf-p12 + controladora rgb + pwm Noctua NA-FH1
disipador M2: GLOTRENDS M.2 Peines cableado: Uphere 24 pz
Perifericos: Alfombrilla: MARSGAMING MMPRGB2 XXL RGB 80x30 Auriculares: Audio-Technica M50x + Audio-Technica M50xBT2 Microfono: Boya BY-M1 + Audio-Technica 2500X Raton: Logitech G602 + Logitech G203 Teclado: Razer Huntsman Elite Switches Optomecánicos Purple + Logitech Signature K650 Joystick HOTAS: Thrusmaster Hotas Warthog SAI: APC Easy UPS BVX1200LI-GR Monitor: Philips 436M6VBPAB 43" 4K HDR1000 AmbiGlow Gsync Silla: Diablo X-Horn XL
NAS: Synology DS220+ 2BAY 2.0 GHz DC 2GB DDR4 RAM: Crucial RAM 4GB DDR4 2666 Mhz HDD: 2 x Western Digital WD Trastar DC Hc310 6Tb RAID 0
TV: Samsung S93C 65" QD-OLED


Responder