Jump to content


Photo

init in vehicle


Best Answer Djon , 28 May 2015 - 03:16

Это готовый код с вайпойнтом и техникой с пустым баком

_infantry9 = [getMarkerPos "infantryspawn9", 40, "O_APC_Tracked_02_AA_F", EAST] call bis_fnc_spawnvehicle;
_grpINF9 = _infantry9 select 2;
_wp9 = _grpINF9 addWaypoint [getMarkerPos "wpinfantry9", 5];
_wp9 setWaypointType "GUARD";
_wp9 setWaypointSpeed "LIMITED";
_wp9 setWaypointBehaviour "COMBAT";
_infantry9 select 0 setFuel 0;

Объясняю на пальцах

 

Вы создали массив _infantry9 в который входит [техника,[экипаж],группа]. 

Для того, чтобы обратиться к какому либо элементу из этого массива вам нужно каким то образом это выразить при помощи кода так?

Значит этот массив будет выглядеть для армы таким образом [select 0,[select 1]select 2,]

если вы хотите применить команду к технике допустим, то так как у вас нет имени этой техники а есть только массив данных _infantry9

пишите _infantry9 select 0 setFuel 0; // где указываете массив _infantry9 и конкретный элемент из этого массива select 0 который в данном случае соответствует элементу - техника. Таким образом это выражение обращается исключительно к технике из массива. 

Так понятно?

Go to the full post


  • Please log in to reply
25 replies to this topic

#1 OFFLINE   nammidd

nammidd

    Ефрейтор

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

Posted 27 May 2015 - 13:40

Здравствуйте не подскажете как зделать инит в спавнящуюся технику?
К примеру этот способ не работает:
_infantry9 = [getMarkerPos "infantryspawn9", 40, "O_APC_Tracked_02_AA_F", EAST] call bis_fnc_spawnvehicle;
_infantry9 setVehicleInit "this setFuel 0";
processInitCommands;
Если делать таким способом, то потом не ставится вейпоинт:
if (true) then
{
_infantry9 = createVehicle ["O_APC_Tracked_02_AA_F", getMarkerPos "infantryspawn9", [], 0, "NONE"];
_infantry9 setFuel 1;
};

Edited by nammidd, 27 May 2015 - 14:39.

  • 0

#2 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 27 May 2015 - 14:45

nammidd

_infantry9 = createVehicle ["O_APC_Tracked_02_AA_F", getMarkerPos "infantryspawn9", [], 0, "NONE"];
_infantry9 setFuel 1;

  • 0

#3 OFFLINE   nammidd

nammidd

    Ефрейтор

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

Posted 27 May 2015 - 14:58

nammidd

_infantry9 = createVehicle ["O_APC_Tracked_02_AA_F", getMarkerPos "infantryspawn9", [], 0, "NONE"];
_infantry9 setFuel 1;


Работает, но таким образом выдаёт ошибку на вейпоинт. _wp9 = _infantry9 addWaypoint [getMarkerPos "wpinfantry9", 5];

Edited by nammidd, 27 May 2015 - 15:00.

  • 0

#4 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 27 May 2015 - 15:13


addWaypoint

Потому что:

groupName addWaypoint [center, radius, index, name]


  • 0

#5 OFFLINE   nammidd

nammidd

    Ефрейтор

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

Posted 27 May 2015 - 15:19

addWaypoint

Потому что:
groupName addWaypoint [center, radius, index, name]


я понимаю, я пробовал делать группу по разному, что-то не работало, можешь подсказать как зделать правильно на моём примере?
  • 0

#6 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Posted 27 May 2015 - 16:38

А обязательно вэйпоинты?


  • 0

#7 OFFLINE   nammidd

nammidd

    Ефрейтор

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

Posted 27 May 2015 - 16:42

А обязательно вэйпоинты?

Да
  • 0

#8 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Posted 27 May 2015 - 16:57

А у тебя как, создаётся пустая техника, аль сразу с экипажем? 

Если пустая, то туда ещё экипаж надо засунуть.

 

Просто я этим не пользовался bis_fnc_spawnvehicle


  • 0

#9 OFFLINE   nammidd

nammidd

    Ефрейтор

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

Posted 27 May 2015 - 17:09

А у тебя как, создаётся пустая техника, аль сразу с экипажем? 
Если пустая, то туда ещё экипаж надо засунуть.
 
Просто я этим не пользовался bis_fnc_spawnvehicle

с экипажем
  • 0

#10 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Posted 27 May 2015 - 17:13

_grpINF9 = group _infantry9;
_wp9 =_grpINF9 addWaypoint [getMarkerPos "wpinfantry9", 5]; 

так попробуй 


  • 0

#11 OFFLINE   nammidd

nammidd

    Ефрейтор

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

Posted 27 May 2015 - 17:24

_grpINF9 = group _infantry9;
_wp9 =_grpINF9 addWaypoint [getMarkerPos "wpinfantry9", 5]; 
так попробуй


ошибка на вейпоинт

Edited by nammidd, 27 May 2015 - 17:25.

  • 0

#12 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Posted 27 May 2015 - 17:34

скинь код целиком


  • 0

#13 OFFLINE   nammidd

nammidd

    Ефрейтор

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

Posted 27 May 2015 - 17:37

скинь код целиком


_grpINF9 = group _infantry9;
_infantry9 = [getMarkerPos "infantryspawn9", 40, "O_APC_Tracked_02_AA_F", EAST] call bis_fnc_spawnvehicle;
_wp9 = _grpINF9 addWaypoint [getMarkerPos "wpinfantry9", 5];
_wp9 setWaypointType "GUARD";
_wp9 setWaypointSpeed "LIMITED";
_wp9 setWaypointBehaviour "COMBAT";

Edited by nammidd, 27 May 2015 - 17:39.

  • 0

#14 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Posted 27 May 2015 - 17:42

_infantry9 = [getMarkerPos "infantryspawn9", 40, "O_APC_Tracked_02_AA_F", EAST] call bis_fnc_spawnvehicle;
_grpINF9 = group _infantry9;
_wp9 = _grpINF9 addWaypoint [getMarkerPos "wpinfantry9", 5];
_wp9 setWaypointType "GUARD";
_wp9 setWaypointSpeed "LIMITED";
_wp9 setWaypointBehaviour "COMBAT";

вот так правильно.

 

Потому что сначала мы создаём  что-нибудь *первая строка* , а вот потом уже манипулируем этим *_grpINF9 = group _infantry9;*.


  • 0

#15 OFFLINE   nammidd

nammidd

    Ефрейтор

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

Posted 27 May 2015 - 17:56

_infantry9 = [getMarkerPos "infantryspawn9", 40, "O_APC_Tracked_02_AA_F", EAST] call bis_fnc_spawnvehicle;
_grpINF9 = group _infantry9;
_wp9 = _grpINF9 addWaypoint [getMarkerPos "wpinfantry9", 5];
_wp9 setWaypointType "GUARD";
_wp9 setWaypointSpeed "LIMITED";
_wp9 setWaypointBehaviour "COMBAT";

вот так правильно.

 

Потому что сначала мы создаём  что-нибудь *первая строка* , а вот потом уже манипулируем этим *_grpINF9 = group _infantry9;*.

 

 

вторая строка ошибка


  • 0

#16 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 27 May 2015 - 20:14

nammidd, извиняюсь за вопрос но вы берете группу массива?

Edited by vlad333000, 27 May 2015 - 20:25.

  • 0

#17 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 27 May 2015 - 20:21

Все проблема решена:
//Команда возвращает массив в формате [техника,[экипаж],группа]
_grpINF9 = _infantry9 select 2;

Edited by vlad333000, 27 May 2015 - 20:23.

  • 0

#18 OFFLINE   nammidd

nammidd

    Ефрейтор

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

Posted 27 May 2015 - 20:26

Все проблема решена:

//Команда возвращает массив в формате [техника,[экипаж],группа]
_grpINF9 = _infantry9 select 2;

 

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

_grpINF9 = group ((_infantry9 select 1) select 0);
_infantry9 = [getMarkerPos "infantryspawn9", 40, "O_APC_Tracked_02_AA_F", EAST] call bis_fnc_spawnvehicle;
_wp9 = _grpINF9 addWaypoint [getMarkerPos "wpinfantry9", 5];
_wp9 setWaypointType "GUARD";
_wp9 setWaypointSpeed "LIMITED";
_wp9 setWaypointBehaviour "COMBAT";

Edited by nammidd, 27 May 2015 - 20:26.

  • 0

#19 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 27 May 2015 - 20:28

nammidd, вы сначала порядок команд начните соблюдать

Edited by vlad333000, 27 May 2015 - 20:28.

  • 0

#20 OFFLINE   Djon

Djon

    Старшина

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

Posted 27 May 2015 - 21:56

_infantry9 = [getMarkerPos "infantryspawn9", 40, "O_APC_Tracked_02_AA_F", EAST] call bis_fnc_spawnvehicle;
_grpINF9 = group ((_infantry9 select 1) select 0);
_wp9 = _grpINF9 addWaypoint [getMarkerPos "wpinfantry9", 5];
_wp9 setWaypointType "GUARD";
_wp9 setWaypointSpeed "LIMITED";
_wp9 setWaypointBehaviour "COMBAT";

  • 0




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