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


Фотография

addEventHandler


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

#1 OFFLINE   barbosa

barbosa

    Ефрейтор

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

Отправлено 05 December 2017 - 17:24

Всем привет.

Прошу подсказать какой addEventHandler срабатывает при активации мины которая брошена предварительно на землю.

Знаю только если если активировать мину из снаряжения требуется обработчик "Fired".

Буду очень благодарен за подсказку.


  • 0

#2 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 05 December 2017 - 19:03

barbosa, нет такого, только ручками крутить цикл и проверять не исчезла ли мина


  • 0

#3 OFFLINE   barbosa

barbosa

    Ефрейтор

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

Отправлено 05 December 2017 - 19:11

barbosa, нет такого, только ручками крутить цикл и проверять не исчезла ли мина

Ясненько...

А как насчёт обрабатывать выкладывание на землю из своего снаряжения, через кнопку I, здесь реально подобрать addEventHandler ?


Сообщение отредактировал barbosa: 05 December 2017 - 19:11

  • 0

#4 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 05 December 2017 - 19:58

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


  • 0

#5 OFFLINE   barbosa

barbosa

    Ефрейтор

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

Отправлено 12 December 2017 - 12:59

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

 
Вот часть скрипта где пытаюсь применить Put.
Что то у меня не получается... Где может быть ошибка?
поставил хинты для проверки,
при выкладывании мин из рюкзака срабатывает только хинт "бросил", и на этом всё останавливается.
Мины выложенные на землю не удаляются...
 
player addEventHandler ["Put",
{
 
_minDist = 100;
 
{
if (_x getVariable ["storeNPC_setupComplete", false] && {player distance _x < _minDist}) exitWith
{
hint "бросил";
{
_mine = _x;
deleteVehicle _mine;
player addMagazine _mine;
hint "удалил";
} forEach (nearestObjects [getPos player, ["MineBase"], 10]);
 
};
} forEach entities "CAManBase";
}];

Сообщение отредактировал barbosa: 12 December 2017 - 13:22

  • 0

#6 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 12 December 2017 - 13:44

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


  • 0

#7 OFFLINE   barbosa

barbosa

    Ефрейтор

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

Отправлено 14 December 2017 - 16:17

 

Столкнулся с проблемой идентификации мин, мной применяемое условие не видит.
Подскажите какое должно быть условие в этом случае ?

player addEventHandler ["Put",
{
_ammo1 = _this select 2;

if (_ammo1 isKindOf "MineBase") then
{....};


  • 0

#8 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 15 December 2017 - 00:13

Столкнулся с проблемой идентификации мин, мной применяемое условие не видит.

Потому что в том классе, в котором объявлен данный предмет нету никакого класса "MineBase", а именно "CfgMagazines" т. к. все мины в инвентаре это магазины к специальному оружию "Put". Что бы правильно организовать проверку на то мина ли этот магазин, нужно получить из класса этого магазина параметр "ammo", который ссылется на класс в "CfgAmmo", в котором есть ваш "MineBase"
if (isClass (configFile >> "CfgMagazines" >> _item)) then
{
  private _magazineCfg = configFile >> "CfgMagazines" >> _item;
  private _magazineAmmo = getText (_magazineCfg >> "ammo");
  private _ammoCfg = configFile >> "CfgAmmo";
  private _magazineIsMine = _magazineAmmo isKindOf ["MineBase", _ammoCfg];
};

Сообщение отредактировал vlad333000: 15 December 2017 - 00:22

  • 0




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