Está en la página 1de 54

Ejemplo de misión Básica

P á g i n a 1 | 54
Ejemplo de misión Básica

TABLA DE CONTENIDO

1. Introducción ......................................................................................................................................... 4
2. Ideas principales ................................................................................................................................... 4
3. Utilidades y Herramientas .................................................................................................................... 5
3.1 Editor Arma 3 .............................................................................................................................. 5
3.2 Arma 3 Tools ............................................................................................................................... 5
3.3 Notepad++ (Editor de texto) ....................................................................................................... 6
3.4 Filezilla Client (Cliente FTP) ......................................................................................................... 6
3.5 TADST (Servidor Arma3) ............................................................................................................. 7
3.6 PBO Manager .............................................................................................................................. 7
4. Desarrollo ............................................................................................................................................. 8
4.1 Carpeta de Misión ....................................................................................................................... 8
4.1.1 mission.sqm ............................................................................................................................ 8
4.1.2 description.ext ........................................................................................................................ 9
4.1.3 init.sqf ................................................................................................................................... 11
4.1.4 scripts (carpeta) .................................................................................................................... 12
4.1.5 imagenes (carpeta) ............................................................................................................... 16
4.1.6 musica (carpeta) ................................................................................................................... 17
4.1.7 videos (carpeta) .................................................................................................................... 17
4.2 Información General ................................................................................................................. 18
4.3 Base Aliada ................................................................................................................................ 18
4.4 Base Enemiga ............................................................................................................................ 22
4.5 Orbat ......................................................................................................................................... 23
4.6 Objetivos de la misión ............................................................................................................... 25
4.6.1 Objetivo Alpha ...................................................................................................................... 25
4.6.2 Objetivo Bravo ...................................................................................................................... 29
4.6.3 Objetivo Charlie .................................................................................................................... 32
4.6.4 Objetivo Delta ....................................................................................................................... 34
4.6.5 Objetivo Echo ....................................................................................................................... 36
4.7 Enemigos ................................................................................................................................... 37
4.7.1 Colocarlos con el editor directamente ................................................................................. 37
4.7.2 Con módulo de puestos ........................................................................................................ 40
4.7.3 Generándolos con scripts ..................................................................................................... 41
4.8 Finalizar Misión ......................................................................................................................... 47
4.8.1 Apoyos .................................................................................................................................. 47
4.8.2 Dron ...................................................................................................................................... 49

P á g i n a 2 | 54
Ejemplo de misión Básica

4.8.3 Convertir objetos sencillos ................................................................................................... 50


4.8.4 Exportar misión a multijugador ............................................................................................ 51
5. Testeo ................................................................................................................................................. 51
6. Publicación ......................................................................................................................................... 52
7. Asignación para jugarla ...................................................................................................................... 54

P á g i n a 3 | 54
Ejemplo de misión Básica

1. INTRODUCCIÓN

Bueno, lo primero de todo, indicar el objetivo de este documento, la idea, es que sirva de ejemplo/guía
de cómo hacer una misión. Intentare explicarlo de la mejor manera, aclarar que no es un curso de edición
completo, es básicamente una manera de hacer una misión, ni mejor, ni peor, mi manera.

Quiero que sirva para los que empiezan a editar, para que tengan un pequeño ejemplo, y para los que
saben, pues espero que alguna tontería os valga, sé que hay muchos de aquí que me dan mil vueltas en
esto. Hay muchas maneras de editar, todas validas, distintas formas de hacer una misma cosa, intentare
poner varias cosas en el ejemplo, pero es imposible meter todo.

Mi objetivo de esto es que alguno se anime a editar, a crear alguna misioncita, que tenga algo para
empezar, no me enrollo más, en cada punto pondré una breve explicación general y como lo uso en la
misión.

2. IDEAS PRINCIPALES

Por algo hay que comenzar, antes de empezar a crear una misión es plantearla, hacernos una serie de
preguntas, ¿qué quiero recrear?, ¿de qué va a ir mi misión?, básicamente diseñar al menos de forma
breve y rápida el contenido de la misión, definir si hay inserción directa, o salimos en base, el escenario
que queremos formar...

Cuanto más claro tengamos estas ideas mejor podremos plasmarlas luego en el editor, buscar el mapa
apropiado, a los enemigos etc... Resumiendo, hacer un croquis al menos mental.

En mi ejemplo, pues vamos a salir desde el LHD y tenemos que conseguir una información en una base
enemiga, y vamos a disponer de objetivos secundarios que nos faciliten la ejecución de la principal, como
inutilizar los refuerzos enemigos, o dejarlos a oscuras.

P á g i n a 4 | 54
Ejemplo de misión Básica

3. UTILIDADES Y HERRAMIENTAS

3.1 EDITOR ARMA 3

Enlace

La principal, sin él no hacemos nada. No es muy complicado, poco a poco se va dominando. Una
recomendación, es que uséis las capas para organizaros mejor.

3.2 ARMA 3 TOOLS

Enlace

Kit de herramientas para editar en arma 3, no es que lo use yo mucho, pero ojalá sabría usarlas todas...
Yo lo uso para cambiarle el formato a las imágenes (ImageToPAA).

P á g i n a 5 | 54
Ejemplo de misión Básica

3.3 NOTEPAD++ (EDITOR DE TEXTO)

Enlace

Pongo este porque está muy bien, me vale cualquier editor de texto, el bloc de notas de Windows también
vale igual, pero este está bastante más completo. Con el modificaremos los archivos de la misión.

3.4 FILEZILLA CLIENT (CLIENTE FTP)

Enlace

Como en el de arriba, pongo este porque siempre lo he usado, pero clientes de ftp haberlos haylos de
todos tipos colores y sabores... jejeje. Con el subiremos las misiones al servidor.

P á g i n a 6 | 54
Ejemplo de misión Básica

3.5 TADST (SERVIDOR ARMA3)

Enlace

Este es un launcher del servidor de arma 3 para crearte un servidor dedicado local, para testear.

3.6 PBO MANAGER

Enlace

Descompresor de archivos PBO, de estos hay varios, y no todos funcionan igual, alguna vez hemos tenido
fallos por usar unos un programa u otro.

P á g i n a 7 | 54
Ejemplo de misión Básica

4. DESARROLLO

4.1 CARPETA DE MISIÓN

4.1.1 mission.sqm

Lo primero que hago en el editor es guardar la misión con su nombre y el número de versión, esto me
genera una carpeta con el nombre de la misión y un archivo llamado mission.sqm. A mí me los guarda en
este directorio:

“C:\Users\Usuario\Documents\Arma 3 - Other Profiles\Users\Miliciano\mpmissions”

Personalmente hasta que no está la misión operativa no le pongo un 1, así que empiezo por la 0.1 muy
importante no poner espacios en el nombre porque no los coge bien y los pone con "%", yo pongo "_".
Además, el editor te deja guardar el archivo binarizado o no, lo que esto significa es si nos va a dejar editar
con un procesador de texto el archivo sqm o no, y solo vamos a ver caracteres raros, esto lo hace o para
cargar más rápido la misión.

“C:\Users\Usuario\Documents\Arma 3 - Other Profiles\Users\Miliciano\mpmissions\BP4NightBlow_0_1.Panthera3\mission.sqm”

P á g i n a 8 | 54
Ejemplo de misión Básica

4.1.2 description.ext

Enlace

Engloba los atributos de la misión, también se puede modificar parte de estos datos desde el editor, pero
yo siempre lo modifico desde este archivo. El mismo archivo está muy bien explicado, se pueden poner
más cosas dependiendo la misión, pero vamos, aquí dejo el ejemplo:

“C:\Users\Usuario\Documents\Arma 3 - Other Profiles\Users\Miliciano\mpmissions\BP4NightBlow_0_1.Panthera3\description.ext”

/////////////////////////////// DESCRIPTION.EXT///////////////////////////////
// //
// Mas info en: https://community.bistudio.com/wiki/Description.ext //
/////////////////////////////////////////////////////////////////////////////////
//
///////////////////////////// 1.- INFO DE MISION: //////////////////////////////
//
//Autor de la misión.
author = "Miliciano";

//El nombre de la operación.


onLoadName = "Black Panther";

// El nombre de tu misión que se muestra en la pantalla de carga.


OnLoadMission = "4 Night Blow";

// Subtitulo/descripción que se muestra en la pantalla de carga.


onLoadIntro = "Black Panther:4 Night Blow";

//Imagen que se muestra en la pantalla de carga.


loadScreen = "imagenes\principal.jpg";

// Imagen del menú de selección de misión.


overviewPicture = "imagenes\titulo.jpg";

// Texto del menú de selección de misión.


overviewText= "Misión de infiltración y sabotaje";

// Cabecera de la misión
// Tipos de juego: https://community.bistudio.com/wiki/Multiplayer_Game_Types
// Mínimo/Máximo número de jugadores

class Header {
gameType = Coop;
minPlayers = 1;
maxPlayers = 35;
};

////////////////////////////////////////////////////////////////////////////////
//
//////////////////////////////// 2.- OPCIONES: /////////////////////////////////
//
// Desactivada la opción de guardar la partida (sin sentido en multiplayer).
saving = 0;

// Todas las unidades que no tengan un jugador no aparecerán en la misión.


disabledAI = 1;

// Desactivamos el que nos meta en el primer slot libre al iniciar.


joinUnassigned = 1;

// Desactivación de canales de Chat:


// 0 = Global,1 = Side,2 = Command,3 = Group,4 = Vehicle,5 = Direct,6 = System
disableChannels[] = {2,3,4,5};

////////////////////////////////////////////////////////////////////////////////
//
//////////////////////////////// 3.- RESPAWN: //////////////////////////////////
//
// Respawn existen varios tipos:
// 0 o "NONE" -> Sin reaparición.
// 1 o "BIRD" -> Modo gaviota.
// 2 o "INSTANT" -> Reapareces en la misma posición donde mueres.

P á g i n a 9 | 54
Ejemplo de misión Básica

// 3 o "BASE" -> Reapareces en base requiere marcador, ver la wiki de bohemia.


// 4 o "GROUP" -> Reaparecer en tu grupo (si no hay IA, modo gaviota).
// 5 or "SIDE" -> Reaparecer en tu bando (si no hay IA, modo gaviota).
respawn = 0;

// Tiempo necesario para reaparecer


respawnDelay = 99999;

// Modo espectador del ACE


// https://ace3mod.com/wiki/framework/spectator-framework.html
respawnTemplates[] = {"ace_spectator"};
respawnTemplatesWest[] = {"ace_spectator","Counter","Wave"};

////////////////////////////////////////////////////////////////////////////////
//
///////////////////////////// 4.- OPCIONES ADMIN: //////////////////////////////
//
// Dar acceso a la consola de debug
enableDebugConsole = 1;

// Acceso al log de funciones


allowFunctionsLog = 1;

////////////////////////////////////////////////////////////////////////////////
//
///////////////////////////////// 5.- OTROS: //////////////////////////////////
//
// Música
class CfgMusic
{tracks[]= { Cancion1};
class Cancion1
{
name = "Attack";
sound[] = {\musica\attack.ogg, db+0, 1.0};
};

};
// Sonidos
//http://ofp.toadlife.net/downloads/tutorials/tutorial_sound/tutorial_sound.html
class CfgSounds {
sounds[] = {};
};

// Parámetros
// https://community.bistudio.com/wiki/Arma_3_Mission_Parameters
class Params {

};

P á g i n a 10 | 54
Ejemplo de misión Básica

4.1.3 init.sqf

Es el primer archivo que ejecuta tras empezar la partida, yo lo suelo usar para configurar la IA, para cargar
algún script inicial etc...

“C:\Users\Usuario\Documents\Arma 3 - Other Profiles\Users\Miliciano\mpmissions\BP4NightBlow_0_1.Panthera3\init.sqf”

if ((!isServer) && (player != player)) then


{
waitUntil {player == player};
waitUntil {time > 10};
};

////////////////////////////////////////////////////inicio
execVM "scripts\acre_init.sqf";
execVM "scripts\briefing.sqf";
execVM "scripts\intro.sqf";

if(!isMultiplayer && isServer && !isDedicated) then {


player allowDamage false;
};

////////////////////////////////////////////////////inteligencia IA
{
if ((side _x) == east) then
{
_x setskill 1;
_x setskill ["general",1];
_x setskill ["Endurance",1];
_x setskill ["aimingAccuracy",0.50];
_x setskill ["aimingShake",0.50];
_x setskill ["aimingSpeed",1];
_x setskill ["endurance",1];
_x setskill ["spotDistance",1];
_x setskill ["spotTime",1];
_x setskill ["courage",1];
_x setskill ["reloadSpeed",1];
_x setskill ["commanding",1];
_x addeventhandler ["Killed", {_this execVM "\script\cleaner.sqf"}]
};
} forEach allUnits;
////////////////////////////////////////////////////Grupos
if (isServer) then {
enemigosg = [];
{enemigosg = enemigosg+ [typeOf _x]; deletevehicle _x} foreach (units grupo4);

enemigosm = [];
{enemigosm = enemigosm+ [typeOf _x]; deletevehicle _x} foreach (units grupo3);

enemigosp = [];
{enemigosp = enemigosp+ [typeOf _x]; deletevehicle _x} foreach (units grupo2);

enemigospp = [];
{enemigospp = enemigospp+ [typeOf _x]; deletevehicle _x} foreach (units grupo1);
};

////////////////////////////////////////////////////Variables
info2=false;
comunicaciones=false;

P á g i n a 11 | 54
Ejemplo de misión Básica

4.1.4 scripts (carpeta)

Por llevar un orden me suelo dejar los scripts en esta carpeta, salvo que sean complejos y lleven una
carpeta propia, que entonces los dejo en la raíz de la misión.

A) briefing.sqf

Aquí pongo un script con el brifing para que salga en el juego, la estructura es muy sencilla, dejo varios
ejemplos de marcadores tipicos como “img”,“marker”, “font”, “br”…. Tener en cuenta que cada registro
se quedara en orden inverso, asi el primero que pongamos sera el que salga abajo del todo. Aquí teneis
mas info: Enlace

player createDiaryRecord ["Diary",["INFO", "<br/>Serie: <font color= ""#00FF00"">Black Panther</font><br/>


Mision: <font color= ""#FFFF00"">4 Night Blow</font><br/>
Version: <font color= ""#00FFFF"">0.1</font><br/>
Creada por: <font color= ""#FF0000"">Miliciano</font><br/>
<img image=""imagenes\titulo.jpg"" width=350 height=210/>"]];
player createDiaryRecord ["Diary",["MISION", "<font size=20 color=""#FFFF00"">4 Night Blow</font><br/>
<font size=14>Nos han informado de que los altos mandos del enemigo se encuentran en las oficinas de la planta de gas y petroleo cercana
a la poblacion de Bubinela. Nos han encargado a nosotros que comprobemos la zona consigamos información y capturemos si es posible a
los altos cargos del enemigo<br/>
- <marker name=""lhd"">Inserccion</marker>: Saldremos desde el USS Wake LHD-9<br/>
<img image=""imagenes\lhd.jpg"" width=350 height=270/><br/>
- <marker name=""alpha"">(Objetivo Principal)Alfa</marker>: Conseguir la información.<br/>
<img image=""imagenes\alpha.jpg"" width=350 height=267/><br/>
- <marker name=""bravo"">(Objetivo Opcional)Bravo</marker>: Sabotear o inutilizar la Antena de Comunicaciones para impedir que el
enemigo pueda solicitar refuerzos.<br/>
<img image=""imagenes\bravo.jpg"" width=350 height=267/><br/>
- <marker name=""charlie"">(Objetivo Opcional)Charlie</marker>: Destruir la torre de suministro electrico para causar un apagon en la
zona.<br/>
<img image=""imagenes\charlie.jpg"" width=350 height=264/><br/>
- <marker name=""delta"">(Objetivo Opcional)Delta</marker>: Destruir el faro para que su luz no interfiera en nuestra aproximación a la
zona.<br/>
<img image=""imagenes\delta.jpg"" width=350 height=266/><br/>
- <marker name=""echo"">(Objetivo Opcional)Echo</marker>: Despejar el aeropuerto y asegurarlo.<br/>
<img image=""imagenes\echo.jpg"" width=350 height=267/><br/> "]];
player createDiaryRecord ["Diary",["SITUACION", "<font size=20 color=""#FFFF00"">Operacion Black Panther</font><br/>
<font color=""#00FF00"" size=16>16-08-2017</font><br/>
<font size=14>
La operacion es un completo exito, hemos expulsado a el enemigo de la isla principal y ahora se baten en retirada.<br/>
<img image=""imagenes\img1.jpg"" width=350 height=197/><br/>
Estan desmantelando todo y preparando la retirada en la isla al suroeste, Fortieste. Sabemos que usaran el <marker
name=""echo"">aeropuerto</marker>, y tambien esperemos que aprobechen las embarcaciones que puedan encontrar en la zona.
<img image=""imagenes\img2.jpg"" width=350 height=197/><br/>
Nuestra intencion es encontrar a los altos mandos para judgarlos por sus crimentes de guerra, asi como conseguir todas las pruebas antes
de que huyan<font><br/>"]];

P á g i n a 12 | 54
Ejemplo de misión Básica

B) intro.sqf

Script para poner un video de introducción, hay que iniciar este desde el init.sqf. Ademas es donde voy a
iniciar el textintro.sqf para que salga despues del video.

[] spawn {
scriptName "initMission.hpp: mission start";
["videos\video.ogv"] spawn BIS_fnc_titlecard;
waitUntil {!(isNil "BIS_fnc_titlecard_finished")};
execVM "scripts\texintro.sqf";
};

C) textintro.sqf

Pequeño script que pone un mensaje al iniciar el mapa.

//////////////////////////////////////////////////////////////////
//paraámetro: nul=[]execVM "texintro.sqf"
//////////////////////////////////////////////////////////////////
sleep 15;
_name = name player;
_text1 = "Black Panther:";
_text2 = "4 Night Blow";
_text3 = "By Miliciano";
_dia = str(date select 2);
_mes = str(date select 1);
_ano = str(date select 0);
0=[
[
["Bienvenido,","align = 'center' shadow = '1' size = '1' font='PuristaBold'"],
[format [" %1", _name],"align = 'center' shadow = '1' size = '1' font='PuristaBold'","#00FF00"],
["","<br/>"],
[format ["%1", _text1],"align = 'center' shadow = '1' size = '1' font='PuristaBold'","#FFFF00"],
[format [" %1", _text2],"align = 'center' shadow = '1' size = '1' font='PuristaBold'","#00FFFF"],
["","<br/>"],
[format ["%1/%2/%3", _dia, _mes, _ano],"align = 'center' shadow = '1' size = '1' font='PuristaBold'","#aaaaaa"],
["","<br/>"],
[format ["%1", _text3],"align = 'center' shadow = '1' size = '1' font='PuristaBold'","#FF0000"]
]
] spawn BIS_fnc_typeText2;

D) halo.sqf

Este script lo modifique un poco de las antiguas campañas, lo tengo colocado en unas banderas. Ademas
le añado la textura a la bandera de la carpeta imágenes.

P á g i n a 13 | 54
Ejemplo de misión Básica

private ["_height","_command"];
_height = (_this select 3) select 0;

if (!(backpack player == "B_Parachute")) then


{
hint "Necesitas un paracaidas";
};
_command = "player setPos [_pos select 0, _pos select 1, " + format["%1",_height] + "]; openMap false; onMapSingleClick ''; true;";
onMapSingleClick format["%1",_command];
openMap true;
hintSilent "Click en el mapa para teletransportarte";

Inic.

this setFlagTexture "imagenes\USMCFLAG.jpg"; this addAction [("<t


color=""#FFFF00"">" + "Salto HALO 1000m" + "</t>"), "scripts\halo.sqf",[1000], 3,
false, true, "", ""];
this addAction [("<t color=""#FFFF00"">" + "Salto HALO 2000m" + "</t>"),
"scripts\halo.sqf",[2000], 3, false, true, "", ""];
this addAction [("<t color=""#FFFF00"">" + "Salto HALO 5000m" + "</t>"),
"scripts\halo.sqf",[5000], 3, false, true, "", ""];
this addAction [("<t color=""#FFFF00"">" + "Salto HALO 10000m" + "</t>"),
"scripts\halo.sqf",[10000], 3, false, true, "", ""];

E) ace_init.sqf

Configuración del acre por script, no lo pongo aquí, por que este con copiar pegar deberia estar listo.

F) luces.sqf

Script para apagar luces ultilizado en el objetivo Charlie en rojo mis cambios.

private ["_tipo","_i","_lamparas"];
_tipo =
[
"Land_LampAirport_F",
"Land_LampDecor_F",
"Land_LampHalogen_F",
"Land_LampHarbour_F",
"Land_LampShabby_F",
"Land_LampSolar_F",
"Land_LampStadium_F",
"Land_LampStreet_F",
"Land_LampStreet_small_F",
"Land_PortableLight_single_F",
"Land_PowerPoleWooden_L_F",
"Land_PowLines_WoodL",
"Land_PowLines_ConcL",
"Land_lampa_ind_zebr",
"Land_lampa_sidl_3",
"Land_lampa_vysoka",
"Land_lampa_ind",
"Land_lampa_ind_b",
"Land_lampa_sidl",
"streetlamp",
"Land_Lamp_Small_EP1",
"Land_lamp_street1_ep1",
"Land_PowLines_Conc2L_EP1"
];

if (apagar) then {
for [{_i=0},{_i < (count _tipo)},{_i=_i+1}] do{

_lamparas = getmarkerpos "apagon" nearObjects [_tipo select _i, 2500];


sleep 0.05; //aumentar valor para hacer el apagado más lento
{_x setdamage 0.96;} forEach _lamparas;

P á g i n a 14 | 54
Ejemplo de misión Básica

};
} else {
for [{_i=0},{_i < (count _tipo)},{_i=_i+1}] do{

_lamparas = getmarkerpos "apagon" nearObjects [_tipo select _i, 2500];


sleep 0.05;
{_x setdamage 0;} forEach _lamparas;
};
};

G) servidor.sqf

Lo explico mas abajo

_este=_this select 0;
_info2=true;
info2=_info2;
_este removeAction accion;

H) antena.sqf

Lo explico mas abajo

_este=_this select 0;
_comunicaciones=true;
comunicaciones=_comunicaciones;
_este removeAction accion2;

I) cleaner.sqf

Script para limpiar cadaveres enemigos

_unit = _this select 0;

private["_esMan","_demora","_pos","_px","_py","_pz"];

_esMan = false;
_demora = 60;
if ("MAN" counttype [_unit] > 0) then {_demora = 120; _esMan = true};
if ("CAR" counttype [_unit] > 0) then {_demora = 70};
if ("TANK" counttype [_unit] > 0) then {_demora = 70};
if ("AIR" counttype [_unit] > 0) then {_demora = 70};

waitUntil {(velocity _unit select 0) + (velocity _unit select 1) + (velocity _unit select 2) == 0};

_pos = GetPosAsl _unit;


_px = _pos select 0; _py = _pos select 1; _pz = _pos select 2;

sleep _demora;
if (_esMan) then
{
_unit SetPosASL [_px, _py, 0];
hidebody _unit;

};
deletevehicle _unit;

P á g i n a 15 | 54
Ejemplo de misión Básica

4.1.5 imagenes (carpeta)

Directorio donde guardo las imágenes que uso en la misión, ya sean .jpg .png o .paa(formato del juego
para las texturas, la ventaja de este es que lo carga rápidamente no como los otros tipos de archivo).

Texturas .paa

Para crear una textura en .paa vamos a usar las tolos del arma 3, lo primero de todo es coger la imagen
que queremos usar y transformarla a una forma cuadrada, por ejemplo 1024x1024(yo esto lo hago con
photoshop) y la guardo en png

Una vez tenemos la imagen abrimos las herramientas del arma 3

Dejamos la imagen resultante en el directorio de imágenes y modificamos el nombre en la llamada de la


textura en la misión

Bueno y aquí es donde dejo todas las imágenes necesarias para la misión

P á g i n a 16 | 54
Ejemplo de misión Básica

4.1.6 musica (carpeta)

Directorio donde guardo las canciones. Tienen que estar en formato .ogg, con el programa “vlc” permite
convertir el formato.

Para ponerlas en la misión hay que poner primero la clase en el description.ext y luego un activador en la
misión, que se active cuando pasemos por un sitio

4.1.7 videos (carpeta)

Directorio donde guardo los videos en .ogg. El “vlc” también permite cambiar el formato pero lo deja con
muy poca calidad, yo uso otro programa para hacer la conversión de video el “Wondershare Video
Converter Ultimate”. Tener en cuenta también que los videos subirán ampliamente el tamaño de la misión

P á g i n a 17 | 54
Ejemplo de misión Básica

4.2 INFORMACIÓN GENERAL

Desde aquí se colocan datos como la fecha y hora, o de quien son aliados los independientes, o la
meteorología de la misión. Desde Atributos podemos acceder a estas opciones:

4.3 BASE ALIADA

En este punto pondría el atrezo de la base aliada, bien hecho a mano con objetos del editor, bien con
alguna composición o con alguna base que cojamos de otra misión.

Para esta misión voy a usar el LHD, versión más completa de este la tengo en la misión BluePort, así que
abro esa misión en el editor, compacto todas las capas y selecciono todos los objetos de la capa LHD:

Y posteriormente lo copio

P á g i n a 18 | 54
Ejemplo de misión Básica

Después me voy a la misión nueva y pego el LHD control+v (Aconsejo en alta mar), y comprobar siempre
que este desactiva la opción de pegar a superficie antes de pegar, tiene que estar como en la siguiente
imagen.

Bueno, lo siguiente sería poner un jugador y probar si el LHD está bien posicionado pero lo más seguro es
que os pase lo siguiente:

Creedme que he probado más formas para ponerlo, pero con la versión que tenemos es la única manera,
otra cosa seria tener el CUP entero. Entonces vamos a lo que funciona:

El LHD está por capas y las tengo todas bloqueadas, la gracia de esto, es que se queden fijas una vez
puestas en el editor y no las modifiques según vas editando, gracias a las capas además podemos ir
editando de poco en poco, en este caso voy a mover todos los vehículos de la zona de abajo del LHD un
poco más arriba, ya que están mal de altura

P á g i n a 19 | 54
Ejemplo de misión Básica

Para ello tengo que desbloquear la capa de abajo y todas las superiores. Después con botón derecho en

la capa seleccionar todas las subcapas y modifico la posición (Botón 2 del teclado) y modifico la
altura barra azul de todos los objetos de esa capa a la vez, en vez de 1 x 1.

Esto cuesta un poco porque hay que ir capa por capa, aunque no es necesario poner todos los vehículos
se pueden borrar, y la capa de orbat la podemos eliminar porque no está actualizada (lo pondremos
después en otro apartado)

P á g i n a 20 | 54
Ejemplo de misión Básica

Probar siempre a meteros a ver si salen todos los objetos en su sitio y bien y no explotan, es mejor dejarlos
un poco más arriba, y que caigan un poco, a que estén pegando en el suelo, a una mala y si no queremos
usar los objetos podemos ponerlos como objetos sencillos o quitarles la simulación, o hasta calzárnoslos.

Además, debemos de comprobar si nos sale el bug de caer desde la cubierta es sencillo, y recomiendo
hacerlo una vez pegado, solo se soluciona cambiando el LHD a otra posición. La posición del bug es más o
menos esta que he marcado en la siguiente imagen aproximadamente en frente de la caja de paracaídas.

Bueno con esto solo nos queda una pequeña tontería y ya tendríamos nuestro LHD, hay que copiar los
scripts del salto halo, y las texturas (lo dejo indicado en los puntos de arriba). Si faltarían las texturas el
servidor luego no podría cargar bien la misión.

P á g i n a 21 | 54
Ejemplo de misión Básica

4.4 BASE ENEMIGA

Básicamente lo mismo que con el punto anterior, pero con otra base, campamento, o lo que sea.

En mi caso esta base me la hizo rotciv en este mapa, como es el mismo mapa, a la hora de pegar, pego en
la misma posición

P á g i n a 22 | 54
Ejemplo de misión Básica

4.5 ORBAT

Enlace

Lo siguiente es pillar el orbat de la plantilla, para ello nos descargamos la plantilla, en su última versión y
cogemos el orbat que queramos usar con los módulos, esto se hace para usar todos el mismo material y
configuración.

Personalmente yo me lo suelo meter en composiciones personalizadas para tenerlas a mano.

Abrimos la misión de la plantilla en el editor, seleccionamos los módulos y creamos una composición
personalizada

Lo mismo con los orbats

P á g i n a 23 | 54
Ejemplo de misión Básica

Ahora volvemos a la misión y pegamos tanto los módulos como el orbat que queramos usar.

A partir de la versión 7 de la plantilla ponemos la configuración del acre por script (ya lo detallo arriba)

P á g i n a 24 | 54
Ejemplo de misión Básica

4.6 OBJETIVOS DE LA MISI ÓN

Seguimos con los objetivos, en este punto pongo lo necesario para cumplir la misión y además me gusta
poner un sistema de módulos de inteligencia, y sus correspondientes activadores a modo de seguimiento
de la misión, para las misiones nuestras no es necesario, pero me gusta ponerlo.

En mi misión cuento con los siguientes objetivos:

4.6.1 Objetivo Alpha

Es el Objetivo principal, el cual consiste en conseguir una información, para ello lo primero es poner dicha
información. Voy a poner dos formas de hacerlo, y solo lo dará por bueno si se cumplen ambas:

Lo primero es poner los objetos:

El primero son unos papeles que hay que coger de la mesa, al cogerlos desaparecen de esta. Lo importante
es ponerle un nombre de variable al objeto para que luego lo borre.

this addaction ["<t color='#ffff33'>Coger documentacion</f>", "deleteVehicle info;"];

El otro objetivo es piratear un servidor, para ello lo hago por medio de un script externo y una variable en
el “init.sqf”:

Inicializo la variable con valor false desde el “init.sqf”:

info2=false;

P á g i n a 25 | 54
Ejemplo de misión Básica

Copio el siguiente script en la carpeta scripts con nombre “servidor.sqf”

_este=_this select 0;
_info2=true;
info2=_info2;
_este removeAction accion;

Lo que hace este es primero asignarle a la variable info2 el valor true y después borrar el acción del objeto
para que solo se pueda accionar una vez

Después pongo en init del objeto el siguiente código que llama al script de antes:

accion = this addaction ["<t color='#ffff33'>Piratear servidor</f>", "scripts\servidor.sqf"];

Una vez tengo las dos condiciones pongo el sistema de tareas del juego con módulos

P á g i n a 26 | 54
Ejemplo de misión Básica

Es importante ponerle un id, el título del objetivo, que no salga el destino, y el estado de la tarea,
básicamente nos interesa ahora solo crearlo, pero lo podríamos poner asignado directamente ya que es
el objetivo principal.

Ahora hay que poner otro modulo que cambie el estado de esa tarea simplemente hay que coger un
“Ajustar estado de tarea” y configurarlo para que sea “éxito”.

Por último, nos queda poner el activador para que active el ajustar estado de tarea

P á g i n a 27 | 54
Ejemplo de misión Básica

La condición es doble

(!alive info) && info2;

&&  Es una función “y”, para que se cumpla las 2 condiciones tienen que ser ciertas.

||  Esto sería una función “o”, para que se cumpla, una u otra opción, o las dos tienen que ser ciertas.

!  Esto es una negación.

(!alive info)  Cuando no este “vivo” el objeto “info” la condición es cierta.

info2  Al iniciar la misión hemos establecido el valor de info2 en false, cuando se active el pirateo del
servidor cambiara a true.

;  Todas las sentencias tienen que acabar en “;”.

Cuando se activa se ejecuta:

hint "Informacion conseguida";

Hint es una función para mostrar mensajes en el juego.

Por último, solo nos queda sincronizarlos de la siguiente manera.

P á g i n a 28 | 54
Ejemplo de misión Básica

4.6.2 Objetivo Bravo

Este es un objetivo secundario, consiste en desactivar una antena de radio para que no puedan mandar
refuerzos las tropas enemigas, como antes voy a poner dos formas de que se lleve a cabo o bien desde un
ordenador o bien reventando la antena.

Para ello lo del ordenador es lo mismo de antes creo un script llamado “antena.sqf”

_este=_this select 0;
_comunicaciones=true;
comunicaciones=_comunicaciones;
_este removeAction accion2;

Y incializo la variable en el “init.sqf”:

comunicaciones=false;

Y en el init del ordenador pongo lo siguiente:

accion2 = this addaction ["<t color='#ffff33'>Sabotear comunicaciones</f>", "scripts\antena.sqf"];

La otra opción que vamos a tener es derribar la antena para ello le ponemos un nombre de variable a esta
en mi caso “TorreRadio”

Y aquí os dejo un pequeño truquillo para aseguraros de que cualquier objetivo se destruya con cualquier
explosivo, básicamente consiste en crear otro objeto de atrezo con menos vida, que se destruya más
fácilmente y generar una explosión más tocha, bueno lo muestro:

Primero creo la torre de transmisión

Después mi objeto para que se destruya rápido, he puesto una señal de peligro al cual le llamo Bomb

P á g i n a 29 | 54
Ejemplo de misión Básica

Y, por último, el activador para la explosión

Cuando la señal se destruya ejecuta estas sentencias

Explosivo="Bomb_03_F" createVehicle(getPos TorreRadio); Explosivo2="Bomb_03_F" createVehicle(getPos TorreRadio);

Donde,

Explosivo  Es el nombre del explosivo que género.

"Bomb_03_F"  Es el classname del explosivo, podéis encontrar más en el enlace, columna “ammo”.
Por ejemplo, para que os sirva:

Explosión Mediana = "M_Mo_82mm_AT_LG"


Explosión Grande ="Bo_Mk82_MI08"
Explosión Pequeña ="M_NLAW_AT_F"

createVehicle(getPos TorreRadio);  Genera el explosivo en la posición de TorreRadio.

Como veis para asegurarme he creado dos explosivos para que reviente.

Bueno ahora solo me queda poner los módulos y el activador:

P á g i n a 30 | 54
Ejemplo de misión Básica

Como veis en la condición he usado “or” es lo mismo que “||”, a su vez, “and” equivale a “&&” y “not” a
“!”.

Y además al activarse me aseguro de que la variable se quede en true (esto es para usarlo luego al colocar
los enemigos y sus refuerzos)

P á g i n a 31 | 54
Ejemplo de misión Básica

4.6.3 Objetivo Charlie

Es otro objetivo opcional, Consiste en sabotear la luz de toda la isla cortando el suministro eléctrico para
ello usare lo de las explosiones del objetivo bravo, y el script de apagón que paso Satelt.

Como veis en este punto he añadido dos sentencias más a la ejecución del activador

P á g i n a 32 | 54
Ejemplo de misión Básica

apagar=true;
0=[]execvm "scripts\luces.sqf";

Ambas son necesarias para el apagón además de un marcador invisible con el nombre “apagon” en medio
de la zona a apagar.

Por último, nos queda añadir el script del apagón “luces.sqf” al cual le he hecho dos modificaciones, la
distancia del radio de apagado, y he añadido un tipo de farola que no había en la lista los dejo marcados
en rojo. Para coger el classname de la farola he registrado la clase en el portapapeles

P á g i n a 33 | 54
Ejemplo de misión Básica

4.6.4 Objetivo Delta

Otro objetivo opcional, en este caso es destruir el faro de la isla para que no se vea la luz de este.

En este caso es un objeto del mapa, para poder usarlo vamos a necesitar su ID (siempre que se actualiza
un mapa suelen cambiar todos los IDS de los objetos, así que tenerlo en cuenta para futuras
actualizaciones)

Necesitamos ver los ids del mapa para ello usaremos el siguiente código en la consola de depuración

do3DENAction "ToggleMapIDs";

Y le damos a ejecutar en local

Bien ahora ya tenemos la id del faro “319770” solo nos queda saber su posición que se la vamos a dar con
una lógica del juego y lo ponemos en el faro.

P á g i n a 34 | 54
Ejemplo de misión Básica

Con esto ya podemos poner los módulos de tareas y el activador

!alive (getPos faro nearestObject 319770)

Donde getPos faro es la posición de la lógica del juego y nearestObject 319770 es el objeto más cercano
a ese id, es decir el propio faro

P á g i n a 35 | 54
Ejemplo de misión Básica

4.6.5 Objetivo Echo

Y el objetivo final, también opcional, limpiar el aeropuerto.

En el activador ponemos los siguientes datos

La condición al ser “this” le hace caso a las opciones de arriba en este caso “Opfor” “No
presente”.

P á g i n a 36 | 54
Ejemplo de misión Básica

4.7 ENEMIGOS

Bueno ahora vamos a ponerle los enemigos, esta es la parte que menos me gusta personalmente, nunca
se si pongo muchos o pocos hay varias formas de ponerlos os voy a poner ejemplos de algunas de ellas.

4.7.1 Colocarlos con el editor directamente

Vale esto es tan sencillo como poner las unidades directamente en las posiciones que queremos y si
queremos ponerles waypoints para que patrullen o se comporten de alguna manera distinta.

Por ejemplo, ponemos a un oficial

Y para que no salga en precavido (modo por defecto) le ponemos un waypoint

P á g i n a 37 | 54
Ejemplo de misión Básica

O ponemos una patrulla que haga un recorrido repetidamente, para ello ponemos a los soldados
agrupados y unos waypoints de avanzar

Por último, le ponemos un waypoint de ciclo al lado del primer punto

Si queremos que en cualquier waypoint se queden quietos un tiempo en segundos podemos poner por
ejemplo los siguientes valores, cada vez que hagan cogerán un valor aleatorio de entre 10 y 20 estando
más cerca del 15. Por ejemplo 16, 14…

P á g i n a 38 | 54
Ejemplo de misión Básica

Y si queremos poner patrullas que aparezcan en un radio aleatorio ponemos lo siguiente al líder del grupo

Y queremos que patrullen un radio en este caso de la misma distancia

Como veis los waypoins nos dan mucho juego, y cada uno tiene un funcionamiento distinto

P á g i n a 39 | 54
Ejemplo de misión Básica

4.7.2 Con módulo de puestos

No lo voy a usar porque tiene un principal inconveniente, y es que solo funciona con el CSAT, pero es muy
rápido

Pero os lo pongo para que le echéis un vistazo

P á g i n a 40 | 54
Ejemplo de misión Básica

4.7.3 Generándolos con scripts

Este método es el más complicado, pero su principal ventaja es que puedes contener la IA del servidor y
que vaya apareciendo poco a poco para controlar el rendimiento del servidor. Yo lo voy a usar para los
refuerzos. Importante que para ambos métodos es que los activadores solo se ejecuten solo en servidor,
porque si no spawnearia uno por cada jugador más el del servidor.

A) Spawn de infantería

Lo primero es crear unos grupos en una parte del mapa y darles un nombre, los usaremos como modelos
de grupos de IA. Para ello he creado 4 grupos (de 2, de 3, de 4 y de 6 enemigos) podéis hacer los que
queráis y del tamaño que queráis. A uno de cada grupo, le ponéis el siguiente script en el inic.

grupo1 = group this;

Ahora lo que vamos a hacer es desde el init guardarlos y de paso que nos borre las unidades al comenzar
el mapa, lo que conseguimos es que guarde las variables con los grupos, añadimos esto en el “init.sqf”

if (isServer) then {
enemigosg = [];
{enemigosg = enemigosg+ [typeOf _x]; deletevehicle _x} foreach (units grupo4);

enemigosm = [];
{enemigosm = enemigosm+ [typeOf _x]; deletevehicle _x} foreach (units grupo3);

enemigosp = [];
{enemigosp = enemigosp+ [typeOf _x]; deletevehicle _x} foreach (units grupo2);

enemigospp = [];
{enemigospp = enemigospp+ [typeOf _x]; deletevehicle _x} foreach (units grupo1);
};

He creado 4 variables a las que les voy añadiendo cada unidad, y a la vez voy borrándoles esa misma
unidad. (Si veis no me he matado mucho la cabeza y le he puesto el nombre dependiendo el tamaño del
grupo)

P á g i n a 41 | 54
Ejemplo de misión Básica

Bien una vez hecho esto os explico cómo lo hago yo, creo unos scripts que para tenerlos controlados los
meto en una carpeta, cada script lo llamare con un activador, es decir meteré todos los grupos que quiera
crear en dicho script, y desde este les mandare, que se muevan o protejan una zona. Además, nos falta
otro punto importante, el crear los puntos donde los va a generar.

Vale pongo la lógica del juego “z1pos1” donde saldrán y otra “z1pos2” donde quiero que vayan o
patrullen.

Y un activador que ejecute la siguiente sentencia:

fun1 = [] execvm "scripts\grupos\zona1.sqf";

Y creo “zona1.sqf”

///////////////////////////////////////////////grupo1 Ejemplo de patruya

z1grupoeast1= [position z1pos1, EAST, enemigosm] call BIS_fnc_spawnGroup ;


{
_x setSkill ["aimingAccuracy", 0.30];
_x setSkill ["aimingShake", 0.50];
_x setSkill ["aimingSpeed", 0.4];
_x setSkill ["endurance", 0.50];
_x setSkill ["spotDistance", 0.35];
_x setSkill ["spotTime", 0.35];
_x setSkill ["courage", 0.75];
_x setSkill ["reloadSpeed", 0.75];
_x setSkill ["commanding", 0.75];
_x setSkill ["general", 0.75];
_x addeventhandler ["Killed", {_this execVM "\script\cleaner.sqf"}] ;
} foreach units z1grupoeast1;

[z1grupoeast1, getPos z1pos2, 200] call bis_fnc_taskPatrol;

///////////////////////////////////////////////
sleep 10;
///////////////////////////////////////////////grupo2 Ejemplo de defender posicion

z1grupoeast2= [position z1pos1, EAST, enemigosg] call BIS_fnc_spawnGroup ;


{
_x setSkill ["aimingAccuracy", 0.30];
_x setSkill ["aimingShake", 0.50];
_x setSkill ["aimingSpeed", 0.4];
_x setSkill ["endurance", 0.50];
_x setSkill ["spotDistance", 0.35];
_x setSkill ["spotTime", 0.35];
_x setSkill ["courage", 0.75];
_x setSkill ["reloadSpeed", 0.75];
_x setSkill ["commanding", 0.75];
_x setSkill ["general", 0.75];
_x addeventhandler ["Killed", {_this execVM "\script\cleaner.sqf"}] ;
} foreach units z1grupoeast2;
[z1grupoeast2,position z1pos2] call BIS_fnc_taskDefend;

P á g i n a 42 | 54
Ejemplo de misión Básica

///////////////////////////////////////////////
sleep 10;
///////////////////////////////////////////////grupo3 Ejemplo de que se muevan a posicion

z1grupoeast3= [position z1pos1, EAST, enemigosp] call BIS_fnc_spawnGroup ;

{
_x setSkill ["aimingAccuracy", 0.30];
_x setSkill ["aimingShake", 0.50];
_x setSkill ["aimingSpeed", 0.4];
_x setSkill ["endurance", 0.50];
_x setSkill ["spotDistance", 0.35];
_x setSkill ["spotTime", 0.35];
_x setSkill ["courage", 0.75];
_x setSkill ["reloadSpeed", 0.75];
_x setSkill ["commanding", 0.75];
_x setSkill ["general", 0.75];
_x addeventhandler ["Killed", {_this execVM "\script\cleaner.sqf"}] ;
} foreach units z1grupoeast3;

z1grupoeast3 move position z1pos2;

///////////////////////////////////////////////
sleep 10;

Es un poco lio, pero paso ahora a explicároslo lo primero de toda la función de spawneo

“NombreGrupoGenerado”= [position “logicaDelJuego”, “Bando”, “TipoDeGrupo”] call BIS_fnc_spawnGroup;

“NombreGrupoGenerado” ejemplo “z1grupoeast1” Le pongo un nombre fácil de copiar y cambiarle


luego el numero dependiendo los grupos que cree.

“logicaDelJuego” ejemplo “z1pos1”  La posición donde saldrán

“Bando” ejemplo “EAST”  Para que salgan de Opfor (rojos)

“TipoDeGrupo” ejemplo “enemigosm”  De los que hemos creado antes.

BIS_fnc_spawnGroup  Enlace para más información

Después le meto valores de inteligencia artificial y que si mueren se ejecute el script de la limpieza de
cadáveres.

Hasta aquí ya tendríamos el grupo, ahora los 3 tipos de cosas que queremos que hagan

• Patrullar

[“GrupoGenerado”, getPos “PosicionDePatruya”, “RadioPatruya”] call bis_fnc_taskPatrol;

“GrupoGenerado” ejemplo “z1grupoeast1”  Grupo que hemos creado con la función de arriba

“PosicionDePatruya” ejemplo “z1pos2”  Posición central del circulo de patrullaje

“RadioPatruya” ejemplo “200”  Radio del circulo por el que tienen que patrullar

Bis_fnc_taskPatrol  Enlace para más información

• Defender

[“GrupoGenerado”,position “PosicionADefender”] call BIS_fnc_taskDefend;

“GrupoGenerado” ejemplo “z1grupoeast2”  Grupo que hemos creado con la función de arriba

P á g i n a 43 | 54
Ejemplo de misión Básica

“PosicionADefender” ejemplo “z1pos2”  Posición a defender (tomaran armas fijas si las hay)

BIS_fnc_taskDefend  Enlace para más información

• Moverse a una posición

“GrupoGenerado” move position “PosicionDeAvanze”;

“GrupoGenerado” ejemplo “z1grupoeast3”  Grupo que hemos creado con la función de arriba.

“PosicionDeAvanze” ejemplo “z1pos2”  Posición de avance.

Para mi misión solo usare la tercera opción la de mover a una posición.

B) Spawn de vehículos

Es parecido, la idea es más o menos la misma:

Creamos un script por ejemplo “zona2sqf” que lo ejecutaremos con activador

Fun2 = [] execvm "scripts\grupos\zona2.sqf";

“zona2.sqf”:

///////////////////////////////////////////////grupo1

v1 = [position z2pos1, 90, "O_LSV_02_armed_F", EAST ] call BIS_fnc_spawnVehicle;


gv1= v1 select 2;
gv1 move position z2pos2;

///////////////////////////////////////////////
sleep 15;
///////////////////////////////////////////////grupo2

v2 = "rhsgref_ins_gaz66o" createVehicle(position z2pos1);


z2grupoeast1= [position z2pos1, EAST, enemigosm] call BIS_fnc_spawnGroup ;
{
_x setSkill ["aimingAccuracy", 0.30];
_x setSkill ["aimingShake", 0.50];
_x setSkill ["aimingSpeed", 0.4];
_x setSkill ["endurance", 0.50];
_x setSkill ["spotDistance", 0.35];
_x setSkill ["spotTime", 0.35];
_x setSkill ["courage", 0.75];
_x setSkill ["reloadSpeed", 0.75];
_x setSkill ["commanding", 0.75];
_x moveInAny v2;
_x setSkill ["general", 0.75];
_x addeventhandler ["Killed", {_this execVM "\script\cleaner.sqf"}] ;

} foreach units z2grupoeast1;

z2grupoeast1 move position z2pos2;


///////////////////////////////////////////////
sleep 15;

Genero dos vehículos con dos funciones distintas

A) Opcion1

Genero vehículo con la tripulación mínima por defecto.

“NombreVehiculo” = [position “PosicionRespawn”, “RumboRespawn”, "Classname", “Bando” ] call BIS_fnc_spawnVehicle;

“NombreVehiculo” ejemplo “v1”  Nombre del vehículo generado

P á g i n a 44 | 54
Ejemplo de misión Básica

“PosicionRespawn” ejemplo “z2pos1”  Posición en la que saldrá

“RumboRespawn” ejemplo “90” Rumbo al que estará mirando

“Classname” ejemplo “O_LSV_02_armed_F”  El nombre de clase del vehículo

“Bando” ejemplo “EAST”  Bando del vehículo generado

BIS_fnc_spawnVehicleEnlace para más información

“NombreGrupo” = “NombreVehiculo” select 2;

“NombreGrupo” ejemplo “gv1”  Nombre del grupo de IA que esta en el vehículo

“NombreVehiculo” ejemplo “v1”  Nombre del vehículo generado

“NombreGrupo” move position “PosicionAvance”;

“NombreGrupo” ejemplo “gv1”  Nombre del grupo de IA que está en el vehículo

“PosicionAvance” ejemplo “z2pos2”  Nombre de la lógica del juego de posición de avance.

B) Opcion2

Si queremos poner un grupo de IA dentro de un vehículo, por ejemplo, un camión lleno de tropas.

“NombreVehiculoVacio” = "classname" createVehicle(position “PosiconSpawn”);

“NombreVehiculoVacio” ejemplo “v2”  Nombre del vehículo generado

“Classname” ejemplo “rhsgref_ins_gaz66o”  El nombre de clase del vehículo

“createVehicle” Enlace para más información

“PosicionRespawn” ejemplo “z2pos1”  Posición en la que saldrá

Después creo un grupo como he puesto más arriba, pero le añado esta línea a cada unidad creada

“unidad” moveInAny “vehiculo”;

“Unidad” ejemplo “_x”  Cada unidad del grupo generado

“moveInAny” Enlace para más información

“Vehículo” ejemplo “v2”  Nombre del vehículo generado

Bueno solo poneros que, en mi misión, para que me tome en cuenta el objetivo bravo, y las
comunicaciones pongo lo siguiente en el activador del spawn de enemigos

P á g i n a 45 | 54
Ejemplo de misión Básica

P á g i n a 46 | 54
Ejemplo de misión Básica

4.8 FINALIZAR MISIÓN

Por último, queda retocar o añadir algunas cositas, por ejemplo:

4.8.1 Apoyos

Este punto es sencillo, además siempre podéis coger parte de la plantilla, como voy a hacer yo

Lo guapo estaría poder poner parte de los apoyos en el LHD, pero digamos que no van a ir bien, así que
yo me he pillado otra zona del mapa, y los he puesto allí.

No hace falta poner todos, y siempre se pueden modificar, por ejemplo yo el lanzamiento de suministros
quiero que me lo lance un ac130, pero el de la plantilla es un CH53-e, y además quiero que me lance una
granada de humo con la carga, pero sé que la IA a veces no pilla bien los aeropuertos de los mapas así que
voy a hacer que salga directamente volando.

P á g i n a 47 | 54
Ejemplo de misión Básica

Lo primero copio el init de la caja para que no se me borre

Después cambio el módulo de lanzamiento de suministros, por el virtual, puedo coger un módulo nuevo
o cambiar el que ya tengo (de esta forma me mantiene las sincronizaciones), al hacer eso me borra el init,
pero para algo lo he copiado en el paso de antes, además pongo el classname del AC130 en el primer
campo.

Vale para lo de la granada de humo pongo esta línea al final del init de la caja

Signal= ”smokeShellYellow” createVehicle postion _this;

P á g i n a 48 | 54
Ejemplo de misión Básica

Cuando tenemos todos los apoyos a nuestro gusto, sincronizamos todas las unidades que queramos que
tengan acceso a estos con el módulo solicitante de apoyo, en mi caso los líderes.

4.8.2 Dron

He colocado un dron para dar apoyo, lo he puesto volando directamente para evitar errores de despegue

Y además le pongo un virtual vant al líder para que pueda pilotarlo, también funciona cogiéndolo del
arsenal o de una caja.

P á g i n a 49 | 54
Ejemplo de misión Básica

4.8.3 Convertir objetos sencillos

Para ganar rendimiento podemos convertir en objetos sencillos por ejemplo todos los vehículos del LHD
para quitarle trabajo innecesario al servidor

P á g i n a 50 | 54
Ejemplo de misión Básica

4.8.4 Exportar misión a multijugador

Compilamos la misión para que nos guarde el pbo y así poder subirlo al servidor.

El archivo pbo lo tenemos en la siguiente ruta

C:\Program Files (x86)\Steam\steamapps\common\Arma 3\MPMissions

5. TESTEO

Bueno seguramente que mientras vais haciendo la misión iréis probándola, pero una vez terminada es
bastante importante ver los fallos que tengáis.

Cuando ya os va bien, es hora de probarla en un servidor dedicado, ya que no se comporta igual la misión
que desde el editor, para ello os he dejado una aplicación que crea un servidor dedicado en Windows, no
es difícil de usar simplemente nos pide la ruta del arma3server que se encuentra en la carpeta del juego,
y luego configurarla, os arrancara el servidor, y podréis entrar a él desde el cliente, en servidores locales.

Este paso es para ahorrar tener que subirlo 50 veces al ftp, ya que suele hacer falta reiniciar el servidor al
cargar una misión con el mismo nombre, aunque la borremos y volvamos a subir por el ftp, como si se
quedase en memoria.

Bueno si hasta aquí os va bien, ya es difícil que haya algo que os vaya mal en la misión, pero tenéis que
tener en cuenta que el servidor de la 11th es Linux, y puede que haya cosas que no funcionen bien, es
decir hay que subirlo por ftp al servidor y luego cargar la misión y probarlo.

P á g i n a 51 | 54
Ejemplo de misión Básica

6. PUBLICACIÓN

Ahora que tenemos todo listo, o casi todo, nos queda publicar la misión para que se le haga el briefing
para ello hay que rellenar un post con el formato indicado en el siguiente enlace. Dejo aquí el ejemplo
mio:

OPERACION Night Blow

Jugadores:
24 Jugadores.

Unidades:
Marsoc (Woodland)

Situación:
La operación es un completo éxito, hemos expulsado a el enemigo de la isla principal y ahora se baten en retirada. Están desmantelando
todo y preparando la retirada en la isla al suroeste, Fortieste. Sabemos que usaran el aeropuerto, y también esperemos que aprovechen las
embarcaciones que puedan encontrar en la zona. Nuestra intención es encontrar a los altos mandos para juzgarlos por sus crímenes de
guerra, así como conseguir todas las pruebas antes de que huyan.

Misión:
Nos han informado de que los altos mandos del enemigo se encuentran en las oficinas de la planta de gas y petróleo cercana a la población
de Bubinela. Nos han encargado a nosotros que comprobemos la zona consigamos información y capturemos si es posible a los altos cargos
del enemigo.

Objetivos primarios:
Alfa: Conseguir la información.

Objetivos secundarios:
Bravo: Sabotear o inutilizar la Antena de Comunicaciones para impedir que el enemigo pueda solicitar refuerzos.
Charlie: Destruir la torre de suministro eléctrico para causar un apagón en la zona.
Delta: Destruir el faro para que su luz no interfiera en nuestra aproximación a la zona.
Echo: Despejar el aeropuerto y asegurarlo.

Lugar:
Phantera, según los creadores simula una zona de centro de Europa, más concretamente Eslovenia (pero vamos que esto solo lo he tenido
en cuenta para el huso horario) A bordo del LHD-9 USS Wake (Me he inventado el nombre, ya que no he visto que exista el 9, si los otros 8)

Fecha y hora:
162045AAGO17

Parte meteorológico:
Nublado/Lluvia

Inteligencia:
El enemigo está preparando su retirada. No sabemos claramente su composición, no deberían de tener vehículos blindados ya que los que
no los hemos destruido, se los han llevado, es posible que dispongan de aviones, o defensas antiaéreas en el aeropuerto. Tenemos fotos
recientes de los objetivos realizadas por un dron:

P á g i n a 52 | 54
Ejemplo de misión Básica

Recursos:
LHD:
- 3 LAV-25A2
- 1 LAV-C2
- 2 RHIB (una de ellas además de la m2, lleva una mk19), infinitas spawneandolas desde el LHD
- 1 Mk.V.SOC
- 3 AH-1z (Supercobras)
- 3 AH-6M(Littlebird)
- 1 CH-53E(Seahawk)
- 1 CV-22B(Osprey)
- 3 UH-1Y(Venom)
- El resto de vehículos incluyendo los Harriers están de atrezo.
Base Con Apoyos (He cogido los de la plantilla con algún pequeño cambio). Los de trasporte no funcionan bien con el LHD nuestro.
Dron Yabhon-R3 para uso del líder al que le he añadido un terminal vant, o para el que lo coja.
Suministros:
Disponemos de un arsenal en él LHD y cajas de armamento.
También disponemos del apoyo de suministros que nos tira un AC130 virtual una caja con material vario.

Servicios:
Esta la enfermería del LHD

Inteligencia cartográfica:

P á g i n a 53 | 54
Ejemplo de misión Básica

Notas del editor:


Nos vendría muy bien un piloto a tiempo parcial en la misión, pero depende de qué objetivos se quieran tomar, y como queramos
aproximarnos a ellos, ya que igual están lejos para ir a pata

7. ASIGNACIÓN PARA JUGARLA

Por último, el líder creara el briefing, y el líder de S3 asignara vuestra misión en el calendario, llegara el
día que este asigne y la jugaremos.

P á g i n a 54 | 54

También podría gustarte