|
|
Модератор форума: Slon |
Форум РЕДАКТОР - ArmA 2 Operation Arrowhead Скрипты Скрипт на определение координат. |
Скрипт на определение координат. |
› Среда
› 24.07.2013
› 10:00
› Сообщение #
Есть скрипт
Код _building = nearestObject [player, "Building"]; _relPos = _building worldToModel (getPosATL player); x = _relPos select 0; y = _relPos select 1; z = _relPos select 2; hint format ["x = %1 , y = %2 , z = %3", x , y , z]; Он определяет позицию игрока близлежащего дома. Я же хочу чтобы он определял координаты предмета, относительно дома. Предмет я кладу в дом с помощью редактора. Кто-нибудь может помочь? |
› Среда
› 24.07.2013
› 10:04
› Сообщение #
Код _building = nearestObject [Предмет, "Building"]; _relPos = _building worldToModel (getPosATL Предмет); _x = _relPos select 0; _y = _relPos select 1; _z = _relPos select 2; hint format ["x = %1, y = %2, z = %3", _x, _y, _z]; И x, y и z лучше локализировать. Сообщение отредактировал Dim@s535 - Среда, 24.07.2013, 15:48
|
› Четверг
› 25.07.2013
› 10:27
› Сообщение #
Спасибо за быстрый ответ.
Я создал миссию, в редакторе поставил дом, внутри дома на стол поставил рюкзак. Запустил миссию и через солдата запустил скрипт. Все координаты показали - any Код _building = nearestObject [Item1, "Building"]; _relPos = _building worldToModel (getPosATL Item1); x = _relPos select 0; y = _relPos select 1; z = _relPos select 2; hint format ["x = %1 , y = %2 , z = %3", x , y , z]; Локализовать глобальные переменные координат пока не научился( Прикрепления:
mission.sqm
(2.0 Kb)
Сообщение отредактировал Phil73 - Четверг, 25.07.2013, 10:28
|
› Четверг
› 25.07.2013
› 10:42
› Сообщение #
Phil73,
Код class Item0 { position[]={4776.7, 9856.04, 0.32552}; azimut=-25.871599; special="NONE"; id=1; side="EMPTY"; vehicle="Land_HouseV2_02_Interier"; lock="UNLOCKED"; skill=0.2; init="this setDir -25.8716; doStop this;"; }; Какого лешего здесь написано doStop? Эта команда только для солдат! Добавлено (25.07.2013, 10:30) --------------------------------------------- Phil73, нажми дважды кнопкой мыши на рюкзаке и в поле "Название" впиши Item1. Добавлено (25.07.2013, 10:31) --------------------------------------------- Phil73, убери doStop у рюкзака и здания. Они никуда не убегут, потому, что у них нет ног. Добавлено (25.07.2013, 10:33) --------------------------------------------- Код class Item1 { position[]={4781.8999,9859.9102,2.0962999}; special="NONE"; id=2; side="EMPTY"; vehicle="US_Backpack_EP1"; lock="UNLOCKED"; skill=0.2; text="Item1"; }; Добавлено (25.07.2013, 10:42) --------------------------------------------- Цитата (Phil73) Локализовать глобальные переменные координат пока не научился( Код _building = nearestObject [Предмет, "Building"]; _relPos = _building worldToModel (getPosATL Предмет); _x = _relPos select 0; _y = _relPos select 1; _z = _relPos select 2; hint format ["x = %1, y = %2, z = %3", _x, _y, _z]; Сообщение отредактировал Dim@s535 - Четверг, 25.07.2013, 10:50
|
› Четверг
› 25.07.2013
› 11:38
› Сообщение #
Спасибо за урок о глобальных\локальных переменных. Глобальные переменные, в большинстве случаев зло)
Ошибки все исправил. Но теперь координаты все нули. Код //hint "showloc"; _building = nearestObject [Item1, "Building"]; _relPos = _building worldToModel (getPosATL Item1); _x = _relPos select 0; _y = _relPos select 1; _z = _relPos select 2; hint format ["x = %1 , y = %2 , z = %3", _x , _y , _z]; Прикрепления:
7724614.sqm
(2.1 Kb)
|
› Четверг
› 25.07.2013
› 11:47
› Сообщение #
Phil73, название рюкзаку не забыл дать?
|
› Четверг
› 25.07.2013
› 11:48
› Сообщение #
Цитата (Dim@s535) название рюкзаку не забыл дать? Код class Item1 { position[]={4781.8999,2.0962999,9859.9102}; special="NONE"; id=2; side="EMPTY"; vehicle="US_Backpack_EP1"; lock="UNLOCKED"; skill=0.2; text="Item1"; init="this setPos [4781.9, 9859.91, 2.0963]; this setDir 0;"; }; Прикрепления:
Find_loot_pos.C.rar
(1.2 Kb)
Сообщение отредактировал Phil73 - Четверг, 25.07.2013, 11:50
|
› Четверг
› 25.07.2013
› 12:11
› Сообщение #
Phil73, замечание первое:
player addAction ["Show Coordinates", "?.sqf", true, 1, true, true]; Строку нужно заменить на: player addAction ["Show Coordinates", "Coords.sqf", [], 6, false, true]; Добавлено (25.07.2013, 12:04) Добавлено (25.07.2013, 12:11) |
› Четверг
› 25.07.2013
› 12:13
› Сообщение #
Вот.
Прикрепления:
Find_loot_pos.C.zip
(1.5 Kb)
|
› Понедельник
› 29.07.2013
› 08:51
› Сообщение #
Цитата (Dim@s535) и на заметку: Зачем прописывать setDir если в редакторе есть специальное окно для установки направления объекта? И зачем выставлять позицию (setPos) если объект уже находится в этой позиции? Добавлено (25.07.2013, 12:47) Код _building = nearestObject [Item1, "House"]; _relPos = _building worldToModel (getPos Item1); _x = _relPos select 0; _y = _relPos select 1; _z = _relPos select 2; copyToClipboard format["%1,%2,%3", _x, _y, _z]; hint format ["X = %1\nY = %2\nZ = %3", _x, _y, _z]; Добавлено (29.07.2013, 08:50) Добавлено (29.07.2013, 08:51) |
› Понедельник
› 29.07.2013
› 09:16
› Сообщение #
Цитата (Phil73) Я прописал координаты банки на появление вещей, но почему то они появляются под столом, а не на нём, как стояла банка(визуально) Код this setPos [getPos this select 0, getPos this select 1, 0.8] |
› Понедельник
› 29.07.2013
› 17:48
› Сообщение #
Цитата (Dim@s535) Тогда их нужно поднять:Код this setPos [getPos this select 0, getPos this select 1, 0.8] Код this setPos [4814.89, 9805.97, 1.8973]; this setDir 0; Если прописывать вместо верхнего кода Ваш Код this setPos [getPos this select 0, getPos this select 1, 0.8] То банка перемещается под стол. И координаты падают под пол. Сообщение отредактировал Phil73 - Понедельник, 29.07.2013, 17:49
|
› Вторник
› 30.07.2013
› 08:27
› Сообщение #
Цитата (Dim@s535) this setPos [getPos this select 0, getPos this select 1, 0.8] Код this setPos [getPos this select 0, getPos this select 1, 1.9] |
› Вторник
› 30.07.2013
› 12:41
› Сообщение #
Банка лежит на столе, если заспавнить вещи по её координатам, то они будут под столом.
Вручную координаты можно изменять, но стоит это больших затрат времени. Я хотел бы, чтобы поставил предмет на стол и его координаты используешь, и точно знаешь что вещи будут лежать на столе. |
› Вторник
› 30.07.2013
› 14:20
› Сообщение #
Phil73, создание предметов, к большому сожалению, не учитывает высоту объекта, поэтому лучше их поднимать вручную.
Цитата (Phil73) Вручную координаты можно изменять, но стоит это больших затрат времени. Сообщение отредактировал Dim@s535 - Вторник, 30.07.2013, 14:21
|
| |||
| |||
Чат сайта |