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

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

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • Не хотите БАН?

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

    Там вы можете продать или купить
    Всё что касается игровых серверов

Вопрос

Всем привет,хотелось бы узнать как можно получить кол-во нар в верталёте.

написал  такой код,но работает почему то не на всей технике

_array  = [];

for "_i" from -1 to 3 do
	{
		_weapons   = _vehicle weaponsTurret [_i]; 
		
		if((count _weapons) > 0) then 
			{
				{
					_weapon = _weapons select _forEachIndex ;
					_ammo   = _vehicle ammo _weapon;
					_array set [count _array,[_i,[_weapon,_ammo]]];
				} forEach _weapons;	
			};
	};
	
hint format["%1 ",_array];
copyToClipboard str _array;

 

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


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

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

  • 0

используй diag_log для каждой переменной (_weapon, _ammo, _array и т.д.) для вывода в RPT название техники и наименование типа оружия. тогда сможешь увидеть где происходит косяк

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


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


  • 0
4 часа назад, RedLink сказал:

используй diag_log для каждой переменной (_weapon, _ammo, _array и т.д.) для вывода в RPT название техники и наименование типа оружия. тогда сможешь увидеть где происходит косяк

 Да дело даже не в самом скрипте, почему то например на ка52 не работает (выводит название ракет, а вот кол-во выводит 0)  на ми8 все прекрасно работает.

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


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

вот и выведи в diag_log все значения переменных, где-то видимо не так подхватывает. Кстати, если используешь инфистар, то можешь оттуда выдернуть кусок кода, который запрашивает наименование и кол-во снарядов из техники, когда следишь за игроком.

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


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

KING324 стесняюсь спросить, а для чего вам нужно это "Получение количества ракет" ?  ведь в А2 не поддерживается пополнение боезапаса с указанием определенного кол-ва ammo, это если вы хотели создать систему с сохранением боезапаса после рестарта.

Изменено пользователем CSC (история изменений)

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


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

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: BorizzK
      Вобщем тема такая
       
      1я задачка была такая
      Нужно получить координату на плоскости под углом на расстоянии от текущей координаты
      Задачку решил тут
      Код в итоге таков:
       
      например выведем в лог  координаты точки на плоскости на расстоянии 2м и под углом 90 град (справа) от игрока (вызвав функцию PrintCoords, передав ей в качестве параметра переменную содержащую ссылку на перса игрока)
       
      void PrintCoords(PlayerBase player) { float distance = 2; float anglerotation = 90; Print("Coordinates on the plane at distance " + distance + " and at an angle relative to the player: " + anglerotation + ": " + GetCoords(player, distance, anglerotation).ToString()); } vector GetGoords(PlayerBase player, float distance, float anglerotation) { return GetPosFromDistAndAngle(player.GetPosition(), distance, player.GetOrientation()[0] + anglerotation); } vector GetPosFromDistAndAngle(vector pos, float dist, float angle) { angle = Math.NormalizeAngle(angle) * Math.DEG2RAD; pos[0] = pos[0] + (double)(Math.Sin(angle) * dist); //offset X pos[2] = pos[2] + (double)(Math.Cos(angle) * dist); //offset Y return pos; }  
      Это была задачка 1 и она была решена!
       
      далее надо решить более сложную задачу - она будет номер 2
       
      Надо вычислить координату не на плоскости, а вообще в пространстве, взяв в качестве поправок значения pitch и roll (наклон по поперечной и продольной осям) которые получаются из функции  обьект.GetOrientation() - первое значение масива типа вектор которое возвращает функция - угол на плоскости, второе угол в поперечной оси, третье в продольной (вроде так)
       
      те если игрок, да не важно, просто обьект, имеет наклон в поперечной оси 45 градусов (от так как этот слэш /), то точка под углом на плоскости относительно игрока 90град и расстоянии 2м "справа для него будет 'ниже', чем слева"
       
      врбщем -  нам надо получить координату под улом 90град на плоскости, 45град по вертикали и расстоянии 2м от него слева
       
      воот
       
      и тут у меня мозг взорвался (и почему-то захотелось вискаря)
       
      я понимаю что в данном случае нужно отталкиваться от поперечной вертикальной плоскости... но чет не догоняю как........
       
       
    • Автор: BorizzK
      Чет затупил нещадно
      Делал как-то еще на 063 но куда-то дел код
       
      Получаем в цикле что на игроке и пытаемся получить что в вещах
      AttCount = player.GetInventory().AttachmentCount();
      for ( int i = 0; i < AttCount; i++ )
      {
      attachment = player.GetInventory().GetAttachmentFromIndex(i);
         if ( attachment.IsItemBase() )
         {
           SubAttCount = attachment.GetInventory().AttachmentCount();
           for ( int a = 0; a < SubAttCount; a++ )
           {
               subattachment = attachment.GetInventory().GetAttachmentFromIndex(a);
           }
         }
      }
       
      Если находится akm, то attachment.GetInventory().AttachmentCount(); и далее работает
      Если например куртка или штаны - то нет, чет запамятовал, как получить содержимое в случае курки, рюкзака???
      ...
       
      Спасибо!
    • Автор: Jdinovich
      Добрый день,как можно уменьшить спавн ботов патруля какой файл и строчка отвечают за это,а то слишком много их спавнятся и прибегают все к трейдам?
    • Автор: pekar0201
      Как сделать так, дабы игрок мог купить определённый товар, когда он достигнет определённого количества хуманити (К примеру, -10к)???
    • Автор: CrHD
      Добрый день!
      Расскажите, пожалуйста, каким образом сервисы типа gametracker получают список игроков на сервере? 

      Судя по их инструкции им хватает только ip и порта для трекинга. Без всякой авторизации. Если эти данные смотрят в мир, то как я могу их забрать?
      Меня интересуют сервера Arma 2 Dayz mod.
×
×
  • Создать...