Scripting Arma 2 segunda parte
Publicado: 22 Ene 2014 15:12
Todos los que estamos en este foro y nos gusta editar, tenemos un pequeño problema con:
1. Cuantos enemigos pongo
2. Cuantos la vamos a jugar
Lo ideal sería que controlemos el numero de IA enemiga por el número de jugadores que en ese momento pueden jugar. Para conseguir esto es indispensable que generemos los enemigos por medio de scrips (Si lo ponemos físicamente en el editor, no podemos quitar ni poner dependiendo del número de jugadores). Yo he estado probando un comando que funciona, y lo he echo de la siguiente manera
1. He puesto en el editor un activador con sus ejes (A y B) lo suficientemente grandes para que cojan todas las unidades jugables dentro de este activador. Es vital que este activador tenga nombre
En este caso le he llamado lista_jugadores
Activado por BLUFOOR
Presente UNA VEZ
Ahora necesitamos del Scripts (Como sabéis podemos hacerlo con cualquier editor de texto) y nombrar este archivo por ejemplo: Numero_de_jugadores.sqf
En Numero_de_jugadores.sqf escribimos lo siguiente:
_minimo = 0; //minimo de patrullas a generar
_aleatorio = 0;
_jugadores = player countFriendly list lista_jugadores; //esta es la variable que cuenta los jugadores
If (_jugadores > 0)Then //no tener en cuenta, siempre hay más de 0 jugadores pero es conveniente ponerlo
{
If (_jugadores == 1)Then {_minimo = 0; _aleatorio = 1};//solo hay un jugador, caso 1
If (_jugadores == 2)Then {_minimo = 1; _aleatorio = round Random (1)};//solo hay dos jugadores, caso 2
If (_jugadores > 4)Then {_minimo = 40; _aleatorio = round Random (7)};//hay más de 4 jugadores, caso 3
};
_total =_minimo + _aleatorio;
En caso 1 solo tenemos un jugador por lo que solo se genera una sola patrulla o grupos de enemigos
En caso 2 tenemos 2 jugadores por o que se genera como mínimo 1 patrulla y como máximo 1+0 o 1+1 es aleatorio cada vez genera un número al azar
En caso 3 hay más de 4 jugadores por lo que se generan como minimo 40 patrullas y como máximo 40+0 o 40+1 o 40+2.... hasta 40+7
Es decir la variable _total es un número que varia dependiendo del número de jugadores
Ahora ponemos en el script un bucle que se repetirá tantas veces como valga _total
asi que:
_i = 0; // tenemos que comparar _total con otro valor en este caso 0
While {_i < _total} Do
{
Aquí pondremos el código que hace que se generen grupos o unidades enemigas.
Sleep 2;
};
Espero haber sido claro pero si tenéis dudas, con preguntar ............ tenéis bastante
1. Cuantos enemigos pongo
2. Cuantos la vamos a jugar
Lo ideal sería que controlemos el numero de IA enemiga por el número de jugadores que en ese momento pueden jugar. Para conseguir esto es indispensable que generemos los enemigos por medio de scrips (Si lo ponemos físicamente en el editor, no podemos quitar ni poner dependiendo del número de jugadores). Yo he estado probando un comando que funciona, y lo he echo de la siguiente manera
1. He puesto en el editor un activador con sus ejes (A y B) lo suficientemente grandes para que cojan todas las unidades jugables dentro de este activador. Es vital que este activador tenga nombre
En este caso le he llamado lista_jugadores
Activado por BLUFOOR
Presente UNA VEZ
Ahora necesitamos del Scripts (Como sabéis podemos hacerlo con cualquier editor de texto) y nombrar este archivo por ejemplo: Numero_de_jugadores.sqf
En Numero_de_jugadores.sqf escribimos lo siguiente:
_minimo = 0; //minimo de patrullas a generar
_aleatorio = 0;
_jugadores = player countFriendly list lista_jugadores; //esta es la variable que cuenta los jugadores
If (_jugadores > 0)Then //no tener en cuenta, siempre hay más de 0 jugadores pero es conveniente ponerlo
{
If (_jugadores == 1)Then {_minimo = 0; _aleatorio = 1};//solo hay un jugador, caso 1
If (_jugadores == 2)Then {_minimo = 1; _aleatorio = round Random (1)};//solo hay dos jugadores, caso 2
If (_jugadores > 4)Then {_minimo = 40; _aleatorio = round Random (7)};//hay más de 4 jugadores, caso 3
};
_total =_minimo + _aleatorio;
En caso 1 solo tenemos un jugador por lo que solo se genera una sola patrulla o grupos de enemigos
En caso 2 tenemos 2 jugadores por o que se genera como mínimo 1 patrulla y como máximo 1+0 o 1+1 es aleatorio cada vez genera un número al azar
En caso 3 hay más de 4 jugadores por lo que se generan como minimo 40 patrullas y como máximo 40+0 o 40+1 o 40+2.... hasta 40+7
Es decir la variable _total es un número que varia dependiendo del número de jugadores
Ahora ponemos en el script un bucle que se repetirá tantas veces como valga _total
asi que:
_i = 0; // tenemos que comparar _total con otro valor en este caso 0
While {_i < _total} Do
{
Aquí pondremos el código que hace que se generen grupos o unidades enemigas.
Sleep 2;
};
Espero haber sido claro pero si tenéis dudas, con preguntar ............ tenéis bastante