Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
Sign in to follow this  
USide

Запуск скрипта через триггер.

Подскажите пожалуйста,как можно запустить скрипт такого формата:

// УНИЧТОЖЕНИЕ ЦЕЛИ ПО ЛАЗЕРНОМУ НАВЕДЕНИЮ.
//////////////////////////////////////////
//автор: Ванька Still
/////////////////////
// вызов скрипта:        _L_targ = [270,10] execVM "Laser_target.sqf";
// порядок аргументов:    [азимут, время_захвата_цели]
// АЗИМУТ - с какой стороны летит ракета
///////////////////////////////////////////////////////////////////////////////////////////////////////////////

_dir = _this select 0;
_timer = _this select 1;
 
// проверка включения лазера
while {isNull laserTarget player} do {hint "Включите лазер!";sleep 1};

// ожидание наведения функция
_navedenie = {
_all_target = nearestObjects [laserTarget player, ["Tank","Car","Truck","Air","Ship"], 5];
_targetx = _all_target select 0;
    if (isNull laserTarget player) then {_i = 0; hint "Нет маркера..."}
        else {
        if (count _all_target == 0) then {_i = 0;hint "Нет цели..."}
            else {
                if (!canMove _targetx) then {hint "Обездвижена..."} 
                    else {
                        _name_targ = getText (configFile >> "cfgVehicles" >>TypeOf _targetx >> "displayName");
                        hint format ["Наведение: %1 %2\n------------------------\nЦель:\n%3",_i,"%",_name_targ];
                    }
                }
            }
};

// вычисление траектории функция
_fnc = {
    _obj_Pos = [(getPosASL _obj) select 0,(getPosASL _obj) select 1,((getPosASL _obj) select 2)];
    _bomb_Pos = [(getPosASL _bomb) select 0,(getPosASL _bomb) select 1,((getPosASL _bomb) select 2)];
    _x_vector = [_bomb_Pos,_obj_Pos] call BIS_fnc_vectorFromXToY;    
    _y_vector = (asin ((((_bomb_Pos) select 2) - (_obj_Pos select 2)) / (_obj distance _bomb))) * -1;
    _bomb setVectorDir _x_vector;
    [_bomb,_y_vector,0] call BIS_fnc_setPitchBank;
};

// таймер наведения
_t_naved = _timer / 100;
for "_i" from 0 to 100 do {
    call _navedenie;
    sleep _t_naved;
};
_obj = laserTarget player;
[]spawn {hint "Маркер захвачен";sleep 2; hint "";if (true) exitWith {}};

// создание ракеты
_xyz = _obj getPos [600,_dir];
_xx = _xyz select 0;
_yy = _xyz select 1;
_zz = 450;
_bomb = createVehicle ["M_Scalpel_AT",[_xx,_yy,_zz],[],0,"NONE"];

// полет ракеты
while {alive _bomb} do {
if (isNull laserTarget player) exitWith {hint "Маркер потерян..."};
call _fnc;
sleep 0.2;
};

true

Через данный вызов  _L_targ = [270,10] execVM "Laser_target.sqf";

 

При активации ЛЦУ в целеуказателе?Где можно найти пример такого триггера?Или как еще можно вызвать данный скрипт?Желательно чтобы он был не одноразовым.
Понимаю что вопрос мб тупой и обсуждалось уже,но увы пока не нашел ответ для себя...

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Laser_target.sqf - это и есть файл в котором хранится код и в данном случае, он может быть вызван только так [270,10] execVM "Laser_target.sqf"; (270 и 10 входные аргументы). Вызов данной функции и при каких обстоятельствах будет он вызываться зависит от задумки автора и как он это себе представлял.

 

Share this post


Link to post
Share on other sites





Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.