Que hace la IA con UPSMON?
- Luchan como un ejercito compartiendo las posiciones de los enemigos detectados y rindiendose cuando no tienen posibilidad de ganar
- Flanquean al enemigo y usan tácticas de combate
- Usan los vehiculos vacios que encuentran a su paso si los necesitan.
- Usan los edificios para esconderse o para buscarte.
- Pueden ser suprimidas, usar humo de cobertura...
- Pueden plantar minas si el oponente tiene blindados.
Que más se puede hacer con UPSMON?
- Fortificarse en una zona, tomarán edificios y armas estáticas que pongas en el mapa: añade el parámetro "fortify".
- Emboscadas. Pon una escuadra en una colina y añadele el parámetro "ambush".
- Pueden pedir refuerzos. Define las escuadras de refuerzo con "reinforcement" o "reinforcement:",x Luego define un trigger y pide los refuerzos cuando quieras
KRON_UPS_REINFORCEMENT = true; o KRON_UPS_REINFORCEMENT1 = true; (si usaste "reinforcement:",1)
Puedes enviar los refuerzos a un sitio específico KRON_UPS_REINFORCEMENT1_pos = [0,0,0];
- Pueden hacer respawn. Si quieres que una colina esté siempre vigilada pon una patrulla y añadele respawn. Hará respawn mientras el ejercito no se rinda.
- Quieres que no se muevan de inicio? pon "nomove"
- Quieres poner tus propios waypoints a una escuadra? pon "nowp"
- Quieres que se borren a los 5 minutos de estar muertos? pon "delete:",300
- Puedes hacer que la IA use artillería y bombardee las posiciones del enemigo conocidas si no hay aliados en la zona. Es perfecto para ambientar. Para más info mirar este post.
- Puedes crear escuadras dinámicamente de forma rápida y sencilla creando templates en el editor y usando el módulo MON_spawn.sqf
WIKI: http://dev-heaven.ne...cts/upsmon/wiki
// ----------------------------------------------------------------------------- //Version: 5.0.7 // ----------------------------------------------------------------------------- // Added: // nowp = No waypoints will be created for this squad UNTIL ENEMY DETECTED // nowp2 = No waypoints will be created for this squad UNTIL ENEMY DETECTED AND DAMAGED // nowp3 = No waypoints will be created for this squad in any way. // Ambush2 Same as ambush but without using mines // Added spawn support for vehicles in squad // Modified: // FORTIFY moves leader too and prevents from moving when hurt // Solved bug in targetting of resistance // Solved bug when respawning a template squad were creating a new template // Solved bug that did exiting AI form vehicle when upsmon begins // Solved bug of squads loosing group and gets stucked // Avoid to take same position on buildings // Solved bug in control of heli // -----------------------------------------------------------------------------
Con el parámentro "ambush" se pueden preparar emboscadas, la IA permanece oculta, pone minas en los alrededores y ataca por sorpresa.
También se ha añadido el parámetro "nowp" para poder poner tus propios waypoints y hacer lo que quieras sin que UPSMON los machaque.
El parámetro "spawned" resuelve la incompatibilidad que habia para crear las unidades dinámicamente y usar el UPSMON, si creas una unidad dinámicamente durante la partida agrégale este parámetro para que el sistema la incopore debidamente.
El parámetro "respawn" permite que la escuadra vuelva a aparecer cuando sea eliminada.
El módulo de artillería te permite ambientar la partida
El módulo de spawn te permite crear escuadras dinámicamente de forma fácil usando plantillas creadas en el editor.
[url="http://www.youtube.com/watch?v=3n9gPJvh7I0"]http://www.youtube. c...h?v=3n9gPJvh7I0[/url]
Es muy facil de usar, los parámetros que se pueden modificar son los siguientes:
INIT_UPSMON.SQF
//Enable debug, in debug could see a mark positioning de leader and another mark of the destinity of movement, very useful for editing mision //Habilita el estado de debug, el cual permite ver la posición de los grupos así como a donde se dirigen, //en modo local tambien muestra mensajes del comportamiento de la IA KRON_UPS_Debug = 1; //Time that lider wait until doing another movement, this time reduced dinamically under fire, and on new targets //Tiempo que tarda en calcular un nuevo movimiento (en combate), no le des poco tiempo o no hará más que moverse KRON_UPS_react = 60; //Min time to wait for doing another reaction KRON_UPS_minreact = 30; //Max waiting is the maximum time patrol groups will wait when arrived to target for doing another target. //Parámetro para patrullas (MOVE) Tiempo de espera máxima cerca del objetivo, transcurrido este tiempo las patrullas se moveran a otro punto KRON_UPS_maxwaiting = 60; // how long AI units should be in alert mode after initially spotting an enemy //Tiempo que las unidades permanecen alerta KRON_UPS_alerttime = 90; // how far opfors should move away if they're under attack // Distancia de seguridad, se usa para calcular la distancia de flanqueo al objetivo KRON_UPS_safedist = 300; // how close unit has to be to target to generate a new one target or to enter stealth mode // Se usa para determinar cuando es suficientemente cerca del objetivo, influye en la actitud de la IA KRON_UPS_closeenough = 300; // how close units have to be to each other to share information, over this, will lose target //Distancia a la que tiene que estar el grupo de un enemigo conocido para que se les comunique la posición del enemigo. //Fuera de este radio la IA puede perder el rastro //Las patrullas con rol "MOVE" tendrán un 1.5 de este valor KRON_UPS_sharedist = 1500; //If enabled IA comunicating between them with radio defined sharedist distance, //1 check if visible friends in range (sharedist) are injured, //Detecta cuando han herido a un compañero, menos óptimo //2 check if enemy position is in range to atackt (sharedist) //Simula la comunicacion por radio entre la IA KRON_UPS_comradio = 2; //Habilita el envio de refuerzos cuando el enemigo es detectado, lo normal es que esté siempre a false // y se use un trigger para activar/desactivar esta opcción KRON_UPS_reinforcement = false; //Establece los bandos de enemigos que debe considerar la IAs de la resistencia KRON_UPS_Res_enemy = [east]; //Tiempo en segundos que tarda en volver a ejecutarse KRON_UPS_Cycle = 20; //Height that heli will fly this input will be randomiced in a 10% KRON_UPS_flyInHeight = 100; //Max distance to target for doing paradrop, will be randomiced between 0 and 100% of this value. KRON_UPS_paradropdist = 250; //Enables or disables AI to use static weapons KRON_UPS_useStatics = true; //Enables or disables AI to put mines if armored enemies near KRON_UPS_useMines = true; //Distance from destination for seraching vehicles KRON_UPS_searchVehicledist = 500; //Percentage for surrender in each side KRON_UPS_EAST_SURRENDER = 10; KRON_UPS_WEST_SURRENDER = 10; KRON_UPS_GUER_SURRENDER = 15; //Efective distance for doing perfect ambush (max distance is this x2) KRON_UPS_ambushdist = 50;
Parámetros que se pueden usar al llamar a UPSMON.sqf
// random = Place unit at random start position. // randomdn = Only use random positions on ground level. // randomup = Only use random positions at top building positions. // min:n/max:n = Create a random number (between min and max) of 'clones'. // init:string = Custom init string for created clones. // nomove = Unit will stay at start position until enemy is spotted. // nofollow = Unit will only follow an enemy within the marker area. // delete:n = Delete dead units after 'n' seconds. // nowait = Do not wait at patrol end points. // noslow = Keep default behaviour of unit (don't change to "safe" and "limited"). // noai = Don't use enhanced AI for evasive and flanking maneuvers. // showmarker = Display the area marker. // trigger = Display a message when no more units are left in sector. // empty:n = Consider area empty, even if 'n' units are left. // track = Display a position and destination marker for each unit. // reinforcement = Makes squad as reinforcement, when alarm KRON_UPS_reinforcement==true this squad will go where enemy were. // reinforcement:x = Makes squad as reinforcement id, when alarm KRON_UPS_reinforcementx==true this squad will go where enemy were. // fortify = makes leader order to take positions on nearly buildings at distance 200 meters, squad fortified moves less than "nomove" // spawned = use only with squads created in runtime, this feature will add squad to UPSMON correctly. // nowp = No crea waypoints hasta que el enemigo es comunicado a la escuadra. // nowp2 = No crea waypoints hasta que el enemigo es comunicado a la escuadra y está en combate. // nowp3 = No crea waypoints de ningún tipo, solo comunica los enemigos. // ambush = Ambush squad will not move until in combat, will lay mines if enabled and wait for incoming enemies stealth and ambush when near or discovered. // ambush2 = Ambush squad will not move until in combat, will NOT LAY MINES and wait for incoming enemies stealth and ambush when near or discovered. // ambush:n = Creates an anbush and wait maximun the especified time n in seconds. you can put 0 seconds for putting mines and go away if combined with "move" for example // ambush2:n = Same as ambush:n but without laying mines. // aware,combat,stealth,careless defines default behaviour of squad // respawn = allow squad to respawn when all members are dead and no targets near // respawn:x = allows to define the number of times squad may respawn. Para que funcione necesitas: 1 - Un marcador cuadrado o redondo o como quiras, su área será el radio de movimiento de las patrullas. 2 - Crear un grupo de IAs y al lider le pones que ejecute el script UPSMON.sqf Ejemplos: La unidad es tipo patrulla "move", de modo que se movería aleatoriamente dentro del área del marcador TOWNE, la unidad se crearía en una posición aleatoria "random" dentro del área y sería de tipo refuerzo "reinforcement" de forma que pones un activador tipo alarma que haga KRON_UPS_reinforcement = true; iría allá donde hubieran enemigos conocidos: [code] nul=[this,"TOWNE", "move","random","reinforcement"] execVM "scripts\upsmon.sqf";
Lo mismo que el anterior comando, por defecto las patrullas usan el atributo "move":
nul=[this,"TOWNE", "random","reinforcement"] execVM "scripts\upsmon.sqf";
Si no queremos q patrullen habrá que indicarlo con "nomove":
nul=[this,"TOWNE", "nomove"] execVM "scripts\upsmon.sqf";
He adjuntado una mision de test, para ver como actua la IA, solo hay que copiar la carpeta en la carpeta ..misdocumentos\arma2 other profiles\ missions
cargarla con el editor y vista previa.
La cruz roja indica la posición del último enemigo reconocido.
las pelotitas rojas indican los pelotones controlados con el script.
Los circulos rojos con un aspa son las posiciones a las que se mueve el pelotón.
Podrás moverte por el mapa solo con clicar en el, no te dispararán eres un mero espectador así podrás ver como los pelotones se comunican e intentan flanquear al objetivo.
Archivos Adjuntos
-
UPSMON5_0_7.utes.rar (54.01K)
Número de descargas: 49
Este tema ha sido editado por Monsada: 24 April 2010 - 03:56 PM



Ayuda

Ingresar
Registrar









Volver arriba





































