ayuda con script

Como se editan, tutoriales, herramientas, scripts para misiones sp, o campañas.

ayuda con script

Notapor geo » 24 Ago 2012 20:42

Hola necesito que aguien me diga algun comando para hacer referencia a una unidad u objeto que activa un trigger,
es decir, para el script tengo que poner un trigger que sea de activacion blufor/detectado por opfor, de modo que necesito un comando que haga referencia a la unidad o unidades que han activado el trigger.
geo
 
Mensajes: 20
Registrado: 11 Mar 2009 23:43

Re: ayuda con script

Notapor Flaber » 25 Ago 2012 01:05

Hola,

Aquí te dejo la respuesta: List nombreTrigger

http://community.bistudio.com/wiki/list
Imagen FFAA Mod

"Vade et tu fac similiter"
Miembro de la XIII Compañia -> http://xiii.ffaa.es | http://foroxiii.ffaa.es
Flaber
 
Mensajes: 682
Registrado: 12 Jul 2007 04:17
Ubicación: Alicante

Re: ayuda con script

Notapor geo » 25 Ago 2012 11:08

Muchas gracias pero el script me temo que continua sin salir,

-un activador activado por opfor y detectado por blufor ejecuta: [thisList] exec "artilleria.sqs";

-artilleria.sqs-

_Taget = _this select 0; (_Target iria a ser la unidad o unidades que activaron el triger (thislist)?)
;FIRE
{[_x,_Target] exec "fuego.sqs"} foreach [Bat1,Bat2,Bat3] //nombre de los vehiculos artilleros (m119)
exit;

-fuego.sqs

_K = _this select 0;
_Z = _this select 1;
_X = getPos _Z select 0;
_Y = getPos _Z select 1;
_K doWatch [_X,_Y,5000];
_A =_K Ammo "m119";
~5
_K fire "m119";
@ _A > _K Ammo "ARTY_30Rnd_105mmHE_M119";
~3
_N = nearestObject [_K,"ARTY_30Rnd_105mmHE_M119"];
_X = _X+((random 80)-40);
_Y = _Y+((random 80)-40);
_H = "HeliHEmpty" createVehicle [_X,_Y] ;
~1
_N setPos [_X,_Y,0];
"SH_125_HE" createVehicle [_X,_Y,0];
deleteVehicle _H;
exit;

mi intencion es dotar a cualquier tipo de vehiculo de juego de pieza artillera, pero no consigo que los proyectiles aparezcan en la posicion de las unidades que activaron el triger,
¿que comando me falta? ¿o me sobra? gracias
geo
 
Mensajes: 20
Registrado: 11 Mar 2009 23:43

Re: ayuda con script

Notapor Flaber » 25 Ago 2012 12:04

Hola,

En esta parte del código:

Código: Seleccionar todo
"SH_125_HE" createVehicle [_X,_Y,0];
deleteVehicle _H;


mete un retraso de un par de segundos antes de borrar _H.

De todas formas para que te inspires te dejo un script que hice para simular artillería antiaerea, (para hacer que explote en el suelo, solo tienes que hacer un para de modificaciones).

Son dos ficheros. (funciona en servidores dedicados.)

Creas una carpeta fx dentro de la carpeta de misión y llamas al fichero: artilleriaAntiaerea.sqf

Código: Seleccionar todo
// **********************************************************************************************************
// ** Artilleria Antiaerea
// ** Autor: Flaber
// ** Web: http://www._ffaa.es
// **********************************************************************************************************
// ** Version 2.4
// **********************************************************************************************************
// Funcionamiento:
// [salvas,"municion",NombreActivador]execVM "fx\artilleriaAntiaerea.sqf";
// **********************************************************************************************************
// Agradecimientos a mandoble, que aunque no lo sabe, me dio la solucion a la explosion aerea.
// **********************************************************************************************************
if (!isServer) exitWith {} ;

// ******************************
// Artilleria de campaña
// ******************************
// Numero de disparos por llamadas
_ffaa_artilleria_enemiga_salvas = _this select 0 ;

// Municion - Ej. "B_145x115_AP"
_ffaa_artilleria_enemiga_municion = _this select 1 ;

// Posicion de la artilleria
_ffaa_array = list (_this select 2);

_ffaa_aux = vehicle (_ffaa_array select 0) ;

_ffaa_contador = count units group _ffaa_aux - 1;
_ffaa_array = units group _ffaa_aux ;

for "_x" from 0 to _ffaa_contador do
{
   _ffaa_aux_unit = _ffaa_array select _x;
   nil = [_ffaa_artilleria_enemiga_salvas,_ffaa_artilleria_enemiga_municion,_ffaa_aux_unit]execVM "fx\FuegoArtilleriaAntiaerea.sqf" ;
};



Creas una carpeta fx dentro de la carpeta de misión y llamas al fichero: FuegoArtilleriaAntiaerea.sqf
Código: Seleccionar todo
// **********************************************************************************************************
// ** Artilleria Antiaerea
// ** Autor: Flaber
// ** Web: http://www.ffaa.es
// **********************************************************************************************************
// ** Version 2.4
// **********************************************************************************************************
// Funcionamiento:
// [salvas,"municion",NombreActivador,0]execVM "fx\artilleriaAntiaerea.sqf";
// **********************************************************************************************************
// Agradecimientos a mandoble, que aunque no lo sabe, me dio la solucion a la explosion aerea.
// **********************************************************************************************************
if (!isServer) exitWith {} ;

// ******************************
// Artilleria de campaña
// ******************************
// Numero de disparos por llamadas
_ffaa_artilleria_enemiga_salvas = _this select 0 ;

// Municion - Ej. "B_145x115_AP"
_ffaa_artilleria_enemiga_municion = _this select 1 ;

// Posicion de la artilleria
_ffaa_aux = _this select 2;

_ffaa_artilleria_enemiga_posicion = getpos _ffaa_aux;

// Precision en funcion del numero de salvas, 1 salva -> precision 1 metro, 50 salvas -> precision 50*5 = 250 metros de radio;

// Inicializo la variable dispersion:
_ffaa_artilleria_enemiga_dispersion = 1 ;

if ( _ffaa_artilleria_enemiga_salvas > 1 ) then { _ffaa_artilleria_enemiga_dispersion = _ffaa_artilleria_enemiga_salvas * 10 ;};
if ( _ffaa_artilleria_enemiga_dispersion > 600 ) then { _ffaa_artilleria_enemiga_dispersion = 600 ; };


sleep _ffaa_artilleria_enemiga_espera ;

_i = 0 ;
// Iniciamos el bombardeo ;
while { (_i < _ffaa_artilleria_enemiga_salvas) && (alive _ffaa_aux)}
do
{
   //_ffaa_artilleria_enemiga_municion = "B_25mm_HE";
   _ffaa_artilleria_enemiga_posicion = getpos _ffaa_aux;
   
   _i = _i + 1 ;
   _x = (_ffaa_artilleria_enemiga_posicion select 0) + random _ffaa_artilleria_enemiga_dispersion - (_ffaa_artilleria_enemiga_dispersion/2) ;
   _y = (_ffaa_artilleria_enemiga_posicion select 1) + random _ffaa_artilleria_enemiga_dispersion - (_ffaa_artilleria_enemiga_dispersion/2) ;
   _z = (_ffaa_artilleria_enemiga_posicion select 2) - 30 + random 80;
   
   if (_z < 30) then {_z = 30 ;} ;

   sleep random 2;

   _b2 = "bomb" createVehicle ([_x,_y,_z]);
   _b2 setPos ([_x,_y,_z]);
   
   _bomba = _ffaa_artilleria_enemiga_municion createVehicle ([_x,_y,_z]);

   sleep 2   ;
   deleteVehicle _b2;
};
Imagen FFAA Mod

"Vade et tu fac similiter"
Miembro de la XIII Compañia -> http://xiii.ffaa.es | http://foroxiii.ffaa.es
Flaber
 
Mensajes: 682
Registrado: 12 Jul 2007 04:17
Ubicación: Alicante

Re: ayuda con script

Notapor geo » 25 Ago 2012 12:24

muchisimas gracias por la ayuda y la dedicacion, voy a ver si sale
geo
 
Mensajes: 20
Registrado: 11 Mar 2009 23:43

Re: ayuda con script

Notapor geo » 25 Ago 2012 13:29

_N setPos [_X,_Y,0];
"SH_125_HE" createVehicle [_X,_Y,0];
~9
deleteVehicle _H;
exit;

pues la verdad esque, sigue sin funcionarme, ¿a ti te funcionaba con el delay?, por cierto, tu script es bastante revelador, me ha dado alguna que otra idea,
la verdad es que ando un poco desesperado, consigo que las baterias disparen, pero sigo sin conseguir que los proyectiles caigan en el radio designado para las unidades que activan el triger.

si podeis probarlo a ver si os funciona y decirme que es loque falla, Gracias y un saludo.
geo
 
Mensajes: 20
Registrado: 11 Mar 2009 23:43


Volver a Edicion de scripts en general

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro

cron