Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
ka3ant1p

получение значений из триггера в скрипте

скажите как из триггера получить значение в каком то скрипте?
Скажем есть триггер с параметрами а = 100; в = 200; ну и вызывается скрипт, как в этом скрипте получить значения а и в из триггера?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

1) Заходим в редактор Армы (alt+e в главном меню, Чернорусь)
2) Ставим триггер в нужном месте. Сразу выставляем нужный радиус.

3) Сохраняем миссию, заходим в папку с сохранёнными миссиями (Документы\ArmA 2 Other Profiles\НикВашегоПерсонажа\missions)
4) Открываем нашу миссию (та, что mission.sqf) при помощи Notepad, находим примерно такие строки:

_this = createTrigger ["EmptyDetector", [11883.309, 5724.8052]];
_this setTriggerArea [35, 45, 57.1982, false];
_trigger_0 = _this;


 

[11883.309, 5724.8052] - это координаты

 

 Имейте ввиду, что в миссии и на сервере координаты прописываются по-разному, поэтому вам нужно будет переделать ваши координаты в самом начале пункта 5примерно так:

[11883.309,0,5724.8052]

То есть мы должны вставить "0" между двумя нашими значениями и убрать пробелы между запятой и вторым значением.

 

Источник: http://s-platoon.ru/index.php?/topic/7-admiskaiaprivatnaia-baza-zarazhyonnye-bazy/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах



  • 0

 

1) Заходим в редактор Армы (alt+e в главном меню, Чернорусь)

2) Ставим триггер в нужном месте. Сразу выставляем нужный радиус.

3) Сохраняем миссию, заходим в папку с сохранёнными миссиями (Документы\ArmA 2 Other Profiles\НикВашегоПерсонажа\missions)

4) Открываем нашу миссию (та, что mission.sqf) при помощи Notepad, находим примерно такие строки:

_this = createTrigger ["EmptyDetector", [11883.309, 5724.8052]];

_this setTriggerArea [35, 45, 57.1982, false];

_trigger_0 = _this;

 

 

[11883.309, 5724.8052] - это координаты

 

 Имейте ввиду, что в миссии и на сервере координаты прописываются по-разному, поэтому вам нужно будет переделать ваши координаты в самом начале пункта 5примерно так:

[11883.309,0,5724.8052]

То есть мы должны вставить "0" между двумя нашими значениями и убрать пробелы между запятой и вторым значением.

 

Источник: http://s-platoon.ru/index.php?/topic/7-admiskaiaprivatnaia-baza-zarazhyonnye-bazy/

Твоё сообщение не имеет смысловой нагрузки поскольку ты не понял сути вопроса!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

а если я вставлю перечень необходимых передаваемых параметров в  [] execVM будет работать?
К примеру так [a,b] execVM
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Глобальные переменные будут видны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Глобальные переменные будут видны.

ну я подолбался и у меня получилось но не совсем так как хотел =(

Хотел так:

 

class Item13
  {
   position[]={4381.3115,85.481133,8115.8174};
   a=10;
   b=10;
   activationBy="ANY";
   age="UNKNOWN";
   expCond="true";
   value1=10;
   value2=20;
   expActiv="some_script=[position,value1,value2]execvm ""Script.sqf""";
  };

А получилось только так:

 

class Item13
  {
   position[]={4381.3115,85.481133,8115.8174};
   a=10;
   b=10;
   activationBy="ANY";
   age="UNKNOWN";
   expCond="true";
   expActiv="value1=10; value2=20; some_script=[value1,value2]execvm ""Script.sqf""";
  };

при чем position вообще передавать не хочет скрипт чекер ошибку выдвает

 

Как то можно вариант 1 адаптировать что бы он работал?

в триггерах вообще возможно использование локальных переменных?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

А нафига value1, value2?

Вместо них цифры поставь свои.

 

expActiv="[10,20] execVM ""Script.sqf""";

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

А нафига value1, value2?

Вместо них цифры поставь свои.

 

expActiv="[10,20] execVM ""Script.sqf""";

 

ну типо для удобства, так как так триггеров под сотню будет, и потом по поиску можно будет заменить все значений value1 например

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

1. Можешь перечислить их в init.sqf

2. Можешь создать файл initialize.sqf

в котором задавать начальные значения переменных.

variable1 = 10;

variable2 = 20;

.........

 

Вызывать скрипт из триггера без переменных вообще.

[] execVM ""Script.sqf""";

 

А уже в скрипте забирать их -

_var1 = variable1;

_var2 = variable2;

.......

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

1. Можешь перечислить их в init.sqf

2. Можешь создать файл initialize.sqf

в котором задавать начальные значения переменных.

variable1 = 10;

variable2 = 20;

.........

 

Вызывать скрипт из триггера без переменных вообще.

[] execVM ""Script.sqf""";

 

А уже в скрипте забирать их -

_var1 = variable1;

_var2 = variable2;

.......

 

они будут не во всех триггерах одинаковые, то есть там передается 5 значений, среди которых и радиус, и я не могу все эти параметры обобщить

то есть в некоторых триггерах будет отличатся только скажем передаваемый радиус, в некоторых предеваемое value1

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Итак у тебя 5 переменных.

Предположим

A,B,C,D,E

 

Одно может менятся(да хоть все впринципе, но тогда переделай, то что ниже под 2 передаваемых массива, а не 2 переменных).

 

Значит, добавь в триггер номер значения которого меняешь, и значения НА что меняешь -

 

 

[2,10] execVM ""Script.sqf""";
 

 

 

Первая цифра - что меняем, вторая - значение.

 

А в самом скрипте, вверху -

 

_var = _this select 0;//Получили переменную которой надо поменять значение на значение из триггера.
_val = _this select 1;//А это само значение переменной - на что ее надо менять.
switch (_var) do
{
 case 1: {A = _val};
 case 2: {B = _val};
 case 3: {C = _val};
 case 4: {D = _val};
 case 5: {E = _val};
};
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

И еще -

Вот ты пишешь, что будет много триггеров, и хочешь для них использовать глобальные переменные.

И тут же пишешь, что они будут в зависимости от триггера меняться.

 

А что будет, если к примеру -

Работает триггер А. И он был запущен с переменной varible1 равной 10.

И тут ты запускаешь триггер Б, который под себя изменил variable1 на 20.

Что будет с триггером А? Ведь переменная глобальная и там и там(в А и в Б), она будет уже 20. Но триггеру А то ведь нужна как 10.

)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

И еще -

Вот ты пишешь, что будет много триггеров, и хочешь для них использовать глобальные переменные.

И тут же пишешь, что они будут в зависимости от триггера меняться.

 

А что будет, если к примеру -

Работает триггер А. И он был запущен с переменной varible1 равной 10.

И тут ты запускаешь триггер Б, который под себя изменил variable1 на 20.

Что будет с триггером А? Ведь переменная глобальная и там и там(в А и в Б), она будет уже 20. Но триггеру А то ведь нужна как 10.

)))

ну вот к примеру в триггеррах значения а и в которые используются для размера триггера могут же быть разные. 

Ну я понял буду использовать так как сейчас работает =)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.