Перейти к содержимому


Фотография

Проверка того, какое оружие находится у игрока в руках.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 28

#1 OFFLINE   pixel

pixel

    Прапорщик

  • Пользователи
  • 500 сообщений
  • Откуда:Россия.

Отправлено 20 April 2015 - 00:25

Всем доброго времени суток. Подскажите как можно сделать чтобы триггер срабатывал в зависимости от того какое оружие находится в руках игрока. Желательно по подробней! Заранее спасибо!


  • 0

#2 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 20 April 2015 - 01:03

// Особое внимание обратить на написание классов пушек,
// классы должны быть описаны с точностью до заглавных и прописных букв,
// такова особенность команды (item in [array items])
// написать это в условие активации триггера, или вывести в отдельный скрипт
// с нужными вам правками, вместо unit по моему надо this, если в условие активации триггера

currentWeapon unit in ["class_name_weapon_1", "class_name_weapon_2", ... , "class_name_weapon_100"]

  • 1

#3 OFFLINE   pixel

pixel

    Прапорщик

  • Пользователи
  • 500 сообщений
  • Откуда:Россия.

Отправлено 20 April 2015 - 02:28

// Особое внимание обратить на написание классов пушек,
// классы должны быть описаны с точностью до заглавных и прописных букв,
// такова особенность команды (item in [array items])
// написать это в условие активации триггера, или вывести в отдельный скрипт
// с нужными вам правками, вместо unit по моему надо this, если в условие активации триггера

currentWeapon unit in ["class_name_weapon_1", "class_name_weapon_2", ... , "class_name_weapon_100"]

Спасибо! Мне нужно чтобы если игрок в определённом месте находится не с тем стволом тогда срабатывает скрипт. То, что Вы дали подходит?


  • 0

#4 OFFLINE   pixel

pixel

    Прапорщик

  • Пользователи
  • 500 сообщений
  • Откуда:Россия.

Отправлено 20 April 2015 - 04:20

И ещё вопрос. Можно ли реализовать срабатывание триггера при выстреле из определённой винтовки? Если можно по подробней. Заранее спасибо!


Сообщение отредактировал pixel: 20 April 2015 - 04:20

  • 0

#5 OFFLINE   nepret

nepret

    Рядовой

  • Пользователи
  • 19 сообщений

Отправлено 21 April 2015 - 05:45

И ещё вопрос. Можно ли реализовать срабатывание триггера при выстреле из определённой винтовки? Если можно по подробней. Заранее спасибо!

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

fired, прикрути к нему тригер

 

у КК был скрипт на камеру прикрученную к летящей пули, попробуй это взять за основу


Сообщение отредактировал nepret: 21 April 2015 - 05:47

  • 1

#6 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 21 April 2015 - 09:30

unit addEventHandler ["FIRED",{
_weapon = _this select 1;
if (_weapon == "arifle_MX_F) then {
unit setDamage 1;
};
}]
  • 1

#7 OFFLINE   pixel

pixel

    Прапорщик

  • Пользователи
  • 500 сообщений
  • Откуда:Россия.

Отправлено 23 April 2015 - 00:40

// Особое внимание обратить на написание классов пушек,
// классы должны быть описаны с точностью до заглавных и прописных букв,
// такова особенность команды (item in [array items])
// написать это в условие активации триггера, или вывести в отдельный скрипт
// с нужными вам правками, вместо unit по моему надо this, если в условие активации триггера

currentWeapon unit in ["class_name_weapon_1", "class_name_weapon_2", ... , "class_name_weapon_100"]

Не могу понять сделал всё как написано триггер срабатывает но сразу же после загрузки, а не после того как я в него войду. Помогите разобраться.

 

 

unit addEventHandler ["FIRED",{
_weapon = _this select 1;
if (_weapon == "arifle_MX_F) then {
unit setDamage 1;
};
}] 

 

И с этим не пойму что делать. Можно по подробней? Куда это вставить что да как. Заранее спасибо.


Сообщение отредактировал pixel: 23 April 2015 - 01:11

  • 0

#8 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 23 April 2015 - 11:50

currentWeapon unit in ["class_name_weapon_1", "class_name_weapon_2", ... , "class_name_weapon_100"]
Не могу понять сделал всё как написано триггер срабатывает но сразу же после загрузки, а не после того как я в него войду. Помогите разобраться.
Добавить условие на вхождение игрока в зону:
//Пример
(currentWeapon unit in [...]) && ((unit distance target) < 100)
//В данном примере зона - это окружность с радиусом 100 м и центром в точке объекта с именем target

unit addEventHandler ["FIRED",{
_weapon = _this select 1;
if (_weapon == "arifle_MX_F) then {
unit setDamage 1;
};
}]


И с этим не пойму что делать. Можно по подробней? Куда это вставить что да как. Заранее спасибо.

Обычный "триггер" на выстрел:
unit - объект к которому прикрепляется условие
"FIRED" - название условия
Все, что в {} - это код, который будет исполняться при выстреле

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


Сообщение отредактировал vlad333000: 23 April 2015 - 12:05

  • 0

#9 OFFLINE   pixel

pixel

    Прапорщик

  • Пользователи
  • 500 сообщений
  • Откуда:Россия.

Отправлено 23 April 2015 - 14:53

unit addEventHandler ["FIRED",{
_weapon = _this select 1;
if (_weapon == "arifle_MX_F) then {
unit setDamage 1;
};
}]


И с этим не пойму что делать. Можно по подробней? Куда это вставить что да как. Заранее спасибо.

Обычный "триггер" на выстрел:
unit - объект к которому прикрепляется условие
"FIRED" - название условия
Все, что в {} - это код, который будет исполняться при выстреле

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

 

 

Я его вписываю в условие триггера при нажатии ок получается это.

Прикрепленные файлы


Сообщение отредактировал pixel: 23 April 2015 - 14:53

  • 0

#10 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 23 April 2015 - 15:18

pixel, потому, что эта команда не возвращает булевое значение (true/false), ее нужно вписывать в активацию т к эту команду нужно выполнить если выполнится условие 

PS Изучайте лучше команды и основы написания скриптов и работы с редактором 


  • 0

#11 OFFLINE   pixel

pixel

    Прапорщик

  • Пользователи
  • 500 сообщений
  • Откуда:Россия.

Отправлено 23 April 2015 - 15:29

pixel, потому, что эта команда не возвращает булевое значение (true/false), ее нужно вписывать в активацию т к эту команду нужно выполнить если выполнится условие 

PS Изучайте лучше команды и основы написания скриптов и работы с редактором.

И в активацию вписываю там тоже самое.


  • 0

#12 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 23 April 2015 - 15:36

pixel, синтаксическая ошибка: после arifle_MX_F не поставил закрывающие " 


  • 0

#13 OFFLINE   pixel

pixel

    Прапорщик

  • Пользователи
  • 500 сообщений
  • Откуда:Россия.

Отправлено 23 April 2015 - 15:38

pixel, синтаксическая ошибка: после arifle_MX_F не поставил закрывающие " 

Я что ток не делал, а этого не заметил. Спасибо большое!)))


  • 0

#14 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 23 April 2015 - 15:44

Поэтому лучше будет, если вы будете писать через notepad++ с подсветкой синтаксиса и только потом уже вставлять в игру, так вы наглядно будее видеть сам скрипт и некоторые ошибки такие как вот что и случилось


  • 0

#15 OFFLINE   pixel

pixel

    Прапорщик

  • Пользователи
  • 500 сообщений
  • Откуда:Россия.

Отправлено 23 April 2015 - 17:26

vlad333000, ещё 2 вопроса. Почему он(триггер) сразу срабатывает? И как сделать чтобы после выстрела сработал триггер? Чтобы после выстрела выдвинулась определённая группа. Заранее спасибо!


Сообщение отредактировал pixel: 23 April 2015 - 17:46

  • 0

#16 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 23 April 2015 - 20:41

vlad333000, ещё 2 вопроса. Почему он(триггер) сразу срабатывает? И как сделать чтобы после выстрела сработал триггер? Чтобы после выстрела выдвинулась определённая группа. Заранее спасибо!

1. Условие в триггере проверяется каждый кадр и только условие в строчке (не более). У вас сначала стояло только условие на оружие, то и нужного оружия в руках достаточно
2/3. Прикрепить к юниту как я писал выше eventHandler типа "FIRED", где в {} написать нужный вам скрипт (Прм для 3 вопроса: anilihator moveTo position player)
  • 0

#17 OFFLINE   Dimon UA

Dimon UA

    Ст.сержант

  • Пользователи
  • 304 сообщений
  • Откуда:Севастополь

Отправлено 23 April 2015 - 21:55

 

vlad333000, ещё 2 вопроса. Почему он(триггер) сразу срабатывает? И как сделать чтобы после выстрела сработал триггер? Чтобы после выстрела выдвинулась определённая группа. Заранее спасибо!

1. Условие в триггере проверяется каждый кадр и только условие в строчке (не более). 

 

Условие в триггере проверяется каждые 0.5с со скоростью считывания в один кадр.


Сообщение отредактировал Dimon UA: 23 April 2015 - 21:56

  • 0

#18 OFFLINE   pixel

pixel

    Прапорщик

  • Пользователи
  • 500 сообщений
  • Откуда:Россия.

Отправлено 23 April 2015 - 22:16

 

vlad333000, ещё 2 вопроса. Почему он(триггер) сразу срабатывает? И как сделать чтобы после выстрела сработал триггер? Чтобы после выстрела выдвинулась определённая группа. Заранее спасибо!

1. Условие в триггере проверяется каждый кадр и только условие в строчке (не более). У вас сначала стояло только условие на оружие, то и нужного оружия в руках достаточно
2/3. Прикрепить к юниту как я писал выше eventHandler типа "FIRED", где в {} написать нужный вам скрипт (Прм для 3 вопроса: anilihator moveTo position player)

 

Нихрена не понял, но всё равно спасибо! Можно пример? Без ссылок я в них пока не соображаю, что да как. Просто пример! Нужно, чтобы после выстрела из определённого ствола группа двинулась к поставленному вэйпоинту. Заранее спасибо!


Сообщение отредактировал pixel: 23 April 2015 - 22:21

  • 0

#19 OFFLINE   VeryScary

VeryScary

    Рядовой

  • Пользователи
  • 14 сообщений

Отправлено 21 March 2017 - 23:14

// Особое внимание обратить на написание классов пушек,
// классы должны быть описаны с точностью до заглавных и прописных букв,
// такова особенность команды (item in [array items])
// написать это в условие активации триггера, или вывести в отдельный скрипт
// с нужными вам правками, вместо unit по моему надо this, если в условие активации триггера

currentWeapon unit in ["class_name_weapon_1", "class_name_weapon_2", ... , "class_name_weapon_100"]

а не знаете ли как такое провернуть с вещью в рюкзаке (взрывчатка например)?


Сообщение отредактировал VeryScary: 21 March 2017 - 23:22

  • 0

#20 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1794 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 22 March 2017 - 13:54

а не знаете ли как такое провернуть с вещью в рюкзаке (взрывчатка например)?

Проверить, есть ли интересующая взрывчатка среди вещей рюкзака? Если да, то так:

(count (_explosives arrayIntersect (magazineCargo (unitBackpack player)))) > 0

где _explosives -- массив названий классов.


  • 0




Яндекс.Метрика