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


Фотография

Загрузка снаряжения в ящик


Лучший Ответ Schatten , 11 February 2019 - 15:21

Tarhun, насчёт первой проблемы, или преобразовывай при добавлении в ящик:

{
    _box addItemCargoGlobal [_x, (_items select 1) select _forEachIndex];
} forEach (_items select 0);

или преобразовывай перед сохранением в БД.

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

Перейти к сообщению


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

#1 OFFLINE   Tarhun

Tarhun

    Рядовой

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

Отправлено 11 February 2019 - 15:03

Добрый день ! Помогите реализовать такую мысль, мне нужно что бы с БД выгружалось снаряжение в ящик, но для начало нужно разобраться как это сделать скриптами.
При использовании:

 "getItemCargo" 

оно выгружает мне содержимое в виде массива и выгружает только итемы, а такое как разгрузки и оружие оно игнорирует!

[["ItemMap","ItemWatch"],[11,13]] 

Как мне так же загрузить в ящик ? Нашел: 

addItemCargoGlobal

Но оно работает в формате:

["ItemWatch", 1]

И не поддерживает массив элементов.

 

Как быть ? Что делать ? Мб что то упускаю, или не нашел подходящий метод. 


Сообщение отредактировал Tarhun: 11 February 2019 - 15:10

  • 0

#2 OFFLINE   Schatten

Schatten

    Лейтенант

  • Пользователи
  • 1264 сообщений
  • Откуда:Минск, Беларусь

Отправлено 11 February 2019 - 15:21   Лучший Ответ

Tarhun, насчёт первой проблемы, или преобразовывай при добавлении в ящик:

{
    _box addItemCargoGlobal [_x, (_items select 1) select _forEachIndex];
} forEach (_items select 0);

или преобразовывай перед сохранением в БД.

Насчёт второй, есть аналогичные команды для получения

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

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

и др.


  • 1

#3 OFFLINE   Tarhun

Tarhun

    Рядовой

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

Отправлено 11 February 2019 - 16:47

Tarhun, насчёт первой проблемы, или преобразовывай при добавлении в ящик:

{
    _box addItemCargoGlobal [_x, (_items select 1) select _forEachIndex];
} forEach (_items select 0);

или преобразовывай перед сохранением в БД.

Насчёт второй, есть аналогичные команды для получения

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

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

и др.

Спасибо за помощь !
Поставил ящик box и box2, ложу снаряжение в 1 ящик, вызываю скрипт и оно копирует все в второй 2, есть проблема что все что лежало в форме пропадает , еще заметил, если с автомата снять весь обвес и положить в ящик, то в другом ящике автомат уже будет в фулл обвесе.
Вот что вышло:
 

_items =  getItemCargo box;
_weapons =  getWeaponCargo box;
_magazine =   getMagazineCargo box;

{
    box2 addItemCargoGlobal [_x, (_items select 1) select _forEachIndex];
} forEach (_items select 0);

{
    box2 addWeaponCargo [_x, (_weapons select 1) select _forEachIndex];
} forEach (_weapons select 0);


{
    box2 addMagazineCargo [_x, (_magazine select 1) select _forEachIndex];
} forEach (_magazine select 0);

Я думаю есть вернее решение, но об этом знаю только Бисы, не понятно почему с юнитами работает все просто, и можно скопировать все от автомата до семечки во внутреннем кармане формы, а с ящиками нужно по отдельности доставать то что нужно.


  • 0

#4 OFFLINE   Schatten

Schatten

    Лейтенант

  • Пользователи
  • 1264 сообщений
  • Откуда:Минск, Беларусь

Отправлено 11 February 2019 - 17:21

все что лежало в форме пропадает

Конечно, команды getXXXCargo возвращают строки (названия классов), а не объекты, из которых можно получить, что в них лежит.
Для решения нужно воспользоваться командой

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

, однако ей можно получить шмот только на первом уровне вложенности. Например, в ящике лежит рюкзак, в котором лежит автомат с прицелом. Так вот название класса автомата мы получим, а вот обвес на нём не сможем.
Насколько я знаю, на данный момент получить всё невозможно.
 

если с автомата снять весь обвес и положить в ящик, то в другом ящике автомат уже будет в фулл обвесе

Похоже, обвес вешается автоматически, если он был добавлен до автомата. Или в ящике лежал автомат, название класса которого подразумевает, что он уже с обвесом, например, srifle_DMR_01_F и srifle_DMR_01_MRCO_F.


Сообщение отредактировал Schatten: 11 February 2019 - 17:22

  • 1

#5 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 12 February 2019 - 00:16

На названии топика не зацикливаемся, там рассматривались разные выкрутасы.

https://arma3.ru/for...irovka-iunitov/

 

Читаем внимательно, желательно всё, осмысливаем написанное, и берём на вооружение то что нужно.

 

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


  • 0




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