Jump to content


Photo

Лазерный целеуказатель и переменные, которые он возвращает


Best Answer sharkman , 20 January 2018 - 16:09

sharkman, во-первых, текст ошибки, в том числе на русском, приводится в RPT-файле; во-вторых, _nObject -- массив объектов, а tank -- объект, то есть ты сравниваешь несравнимые типы. Извлеки элемент из массива, а потом сравнивай.

Спасибо за подсказку, сейчас буду кубатурить! 

Schatten,

if ((_nObject select 0)==tank) then {Hint "Это АБРАМС"}; 

Да, сработало! Спасибо!!!!

Go to the full post


  • Please log in to reply
4 replies to this topic

#1 OFFLINE   sharkman

sharkman

    Ефрейтор

  • Пользователи
  • 68 posts
  • Откуда:Хабаровск

Posted 19 January 2018 - 17:52

Здравствуйте уважаемые коллеги!

 

Хотел узнать, как можно вернуть имя переменной объекта, которой подсвечиваешь лазером?

Ранее в редакторе объектам были даны имена, например tank. Думал, что команда

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

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

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

решит эту задачу:

 _TargLaser = laserTarget player;
 hint str _TargLaser;

но результат выдает совершенно другой (скриншот прилагаю).

 

Пробовал другой вариант:

_TargLaser = laserTarget player;
_targ = vehicleVarName _TargLaser; 
hint str _targ;

Выдает пустую строку "".

 

Буду очень признателен, если кто-нибудь сможет объяснить что тут не так и возможные пути решения.

Заранее благодарен!

 

 

 

 

Attached Files


Edited by sharkman, 19 January 2018 - 17:56.

  • 0

#2 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 19 January 2018 - 22:14

sharkman, эта команда возвращает вам вон ту зелененькую точку в виде объекта :)
Узнать что подсвечено? Посмотрите какие объекты есть рядом с этой точкой используя nearXXX и lineIntersectXXX :)
  • 1

#3 OFFLINE   sharkman

sharkman

    Ефрейтор

  • Пользователи
  • 68 posts
  • Откуда:Хабаровск

Posted 20 January 2018 - 15:56

sharkman, эта команда возвращает вам вон ту зелененькую точку в виде объекта :)
Узнать что подсвечено? Посмотрите какие объекты есть рядом с этой точкой используя nearXXX и lineIntersectXXX :)

Огромное спасибо за подсказку!  Попробовал применить: 

_klassObj = ["B_MBT_01_cannon_F", "B_Heli_Transport_03_F", "B_Truck_01_transport_F", "rhsusf_m1a2sep1tuskiid_usarmy", "B_APC_Tracked_01_rcws_F"]; // классы объектов для опознования целеуказателем

while {alive player} do
{
_TargLaser = laserTarget player;
_nObject = nearestObjects [_TargLaser, _klassObj, 5];
hint str _nObject;
sleep 1;
}; 

Да, выводит имя перемененной объекта, заданный ранее в редакторе.

 

 Хотел осуществить в цикле еще вот это:

if (_nObject==tank) then {Hint "Это АБРАМС"};

Но это не работает, выдает ошибку, может подскажите где я ошибся? Заранее благодарен!

Attached Files


  • 0

#4 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1844 posts

Posted 20 January 2018 - 16:03

sharkman, во-первых, текст ошибки, в том числе на русском, приводится в RPT-файле; во-вторых, _nObject -- массив объектов, а tank -- объект, то есть ты сравниваешь несравнимые типы. Извлеки элемент из массива, а потом сравнивай.


  • 2

#5 OFFLINE   sharkman

sharkman

    Ефрейтор

  • Пользователи
  • 68 posts
  • Откуда:Хабаровск

Posted 20 January 2018 - 16:09   Best Answer

sharkman, во-первых, текст ошибки, в том числе на русском, приводится в RPT-файле; во-вторых, _nObject -- массив объектов, а tank -- объект, то есть ты сравниваешь несравнимые типы. Извлеки элемент из массива, а потом сравнивай.

Спасибо за подсказку, сейчас буду кубатурить! 

Schatten,

if ((_nObject select 0)==tank) then {Hint "Это АБРАМС"}; 

Да, сработало! Спасибо!!!!


  • 0




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