Что прописать в скрипте, что бы игрок в SP миссии появлялся в одном из массы маркеров, который выбран рандомно. Радиус появления не подходит, нужны именно конкретные точки появления, но их должно быть много, так как там будут начинаться разные сюжеты. Спасибо за помощь!

Спавн игрока в случайном маркере

Best Answer vlad333000 , 15 June 2014 - 14:28
Зачем ты ставишь _ перед каждым словом!? Это означает переменную приватную, а не имя маркера! Имена пишутся в " "Уроки читаю уже. Ну а по данной теме вот пишу с учетом всех знаков и букв: init.sqf состоит из двух строчек
1) _markerSpawn = [_marker_1, _marker_2, _marker_3] call BIS_fnc_selectRandom;
2) _unit setPos (getMarkerPos _markerSpawn);
Три маркера носят названия: первый _marker_1 второй _marker_2 и третий _marker_3
Миссию специально взял чистую абсолютно, нет больше не единого скрипта, не единого объекта кроме созданного в редакторе персонажа с именем _unit и трех вышеуказанных маркеров.
Запускаю арму с условием -showscripterrors и при старте миссии показывает ошибку
Буду пользоваться вашими советами и изучать то на что вы даете ссылки.
_spawnpos = ["mark_1","mark_2","mark_3"] call BIS_fnc_selectRandom;
_unit - это тоже приватная переменная, в данном случае содержащая nil - тоесть ничего! Ее надо сначало задать как нибудь или сразу писать имя юнита
player setPos (getMarkerPos _spawnpos)
Поэтому у тебя нихрена не работает, т к везде ничего не оределено Go to the full post

#1
OFFLINE
Posted 14 June 2014 - 22:44
#2
OFFLINE
Posted 14 June 2014 - 23:25
[_marker_1, _marker_2, ... ] call BIS_fnc_selectRandom;
#3
OFFLINE
Posted 14 June 2014 - 23:51
[_marker_1, _marker_2, ... ] call BIS_fnc_selectRandom;Это в скрипт дописывать или инит персонажа? Как будет выглядеть скрипт спавна игрока?
Edited by Djon, 14 June 2014 - 23:53.
#4
OFFLINE
Posted 15 June 2014 - 00:35
[_marker_1, _marker_2, ... ] call BIS_fnc_selectRandom;Это в скрипт дописывать или инит персонажа? Как будет выглядеть скрипт спавна игрока?
Это ответ на ваш вопрос
Что прописать в скрипте, что бы игрок в SP миссии появлялся в одном из массы маркеров, который выбран рандомно.
#5
OFFLINE
Posted 15 June 2014 - 00:45
// Выбор рандомного маркера _markerSpawn = [_marker_1, _marker_2, ... ] call BIS_fnc_selectRandom; // Перемещение юнита на координаты маркера _unit setPos (getMarkerPos _markerSpawn);
Хотя, чувствую, вам это тоже не о чём)
Edited by SteelRat, 15 June 2014 - 00:48.
#6
OFFLINE
Posted 15 June 2014 - 00:58
// Выбор рандомного маркера _markerSpawn = [_marker_1, _marker_2, ... ] call BIS_fnc_selectRandom; // Перемещение юнита на координаты !25u043Cаркера _unit setPos (getMarkerPos _markerSpawn);Хотя, чувствую, вам это тоже не о чём)
Я так понимаю первая строка определяет рандомный маркер а вторая спавнит _unit в этом маркере, но не игрока. Так?))))
А если _unit это имя созданного юнита игрока?))))))))
#7
OFFLINE
Posted 15 June 2014 - 01:03
Я уже понял, что нужен, так сказать, полный пакет услуг.
Сударь, вам в первую очередь за ответами, заглядывать сюда, и с этим вам придётся основательно познакомиться)
и сюда
http://arma3.ru/foru...kriptopisaniiu/
Edited by SteelRat, 15 June 2014 - 01:03.
#8
OFFLINE
Posted 15 June 2014 - 01:06
Я уже понял, что нужен, так сказать, полный пакет услуг.
Сударь, вам в первую очередь за ответами, заглядывать сюда, и с этим вам придётся основательно познакомиться)
Спасибо) Буду знакомиться)))
#9
OFFLINE
Posted 15 June 2014 - 01:27
[_marker_1, _marker_2, ... ] call BIS_fnc_selectRandom;
В таком виде выдает ошибку
// Выбор рандомного маркера _markerSpawn = [_marker_1, _marker_2, ... ] call BIS_fnc_selectRandom; // Перемещение юнита на координаты маркера _unit setPos (getMarkerPos _markerSpawn);
В таком тоже(
#10
OFFLINE
Posted 15 June 2014 - 01:55
[_marker_1, _marker_2, ... ] call BIS_fnc_selectRandom;В таком виде выдает ошибку
// Выбор рандомного маркера _markerSpawn = [_marker_1, _marker_2, ... ] call BIS_fnc_selectRandom; // Перемещение юнита на координаты маркера _unit setPos (getMarkerPos _markerSpawn);В таком тоже(
И не будет в таком виде работать, это шаблон
Вот это
_marker_1
должно быть именем маркера, которое вы дали маркеру в редакторе
А вот это
[_marker_1, _marker_2]
называется массив, из которого и будет выбран рандомный маркер.
#11
OFFLINE
Posted 15 June 2014 - 10:16
Само собой это название маркеров. Вот только одно не понятно, _ везде обязательная часть?
В init.sqf буквально прописана одна строчка: [_marker_1, _marker_2, _marker_3] call BIS_fnc_selectRandom; названия маркеров пробовал и _marker_1 и marker_1 и marker1.
#12
OFFLINE
Posted 15 June 2014 - 12:53
Название маркеров в массиве должно на 100% совпадать с названием маркера на картеСамо собой это название маркеров. Вот только одно не понятно, _ везде обязательная часть?
В init.sqf буквально прописана одна строчка: [_marker_1, _marker_2, _marker_3] call BIS_fnc_selectRandom; названия маркеров пробовал и _marker_1 и marker_1 и marker1.
При выборе рандомного маркера из массива, этот выбор должен присваеватся к какой-нибудь переменной
Там где написано _unit должно быть имя юнита, за которого играет игрок/игроки
"_" - это означает приватную переменную, а не название маркера
Я бы вам посоветовал пройти уроки по скриптописанию, которые находятся на нашем форуме в разделе скрипты - уроки по скриптописанию (75% вопросов, что вы тут задали отпадут сами по себе)
Edited by vlad333000, 15 June 2014 - 12:58.
#13
OFFLINE
Posted 15 June 2014 - 14:03
Уроки читаю уже. Ну а по данной теме вот пишу с учетом всех знаков и букв: init.sqf состоит из двух строчек
1) _markerSpawn = [_marker_1, _marker_2, _marker_3] call BIS_fnc_selectRandom;
2) _unit setPos (getMarkerPos _markerSpawn);
Три маркера носят названия: первый _marker_1 второй _marker_2 и третий _marker_3
Миссию специально взял чистую абсолютно, нет больше не единого скрипта, не единого объекта кроме созданного в редакторе персонажа с именем _unit и трех вышеуказанных маркеров.
Запускаю арму с условием -showscripterrors и при старте миссии показывает ошибку
Буду пользоваться вашими советами и изучать то на что вы даете ссылки.
Edited by Djon, 15 June 2014 - 14:04.
#14
OFFLINE
Posted 15 June 2014 - 14:28 Best Answer
Зачем ты ставишь _ перед каждым словом!? Это означает переменную приватную, а не имя маркера! Имена пишутся в " "Уроки читаю уже. Ну а по данной теме вот пишу с учетом всех знаков и букв: init.sqf состоит из двух строчек
1) _markerSpawn = [_marker_1, _marker_2, _marker_3] call BIS_fnc_selectRandom;
2) _unit setPos (getMarkerPos _markerSpawn);
Три маркера носят названия: первый _marker_1 второй _marker_2 и третий _marker_3
Миссию специально взял чистую абсолютно, нет больше не единого скрипта, не единого объекта кроме созданного в редакторе персонажа с именем _unit и трех вышеуказанных маркеров.
Запускаю арму с условием -showscripterrors и при старте миссии показывает ошибку
Буду пользоваться вашими советами и изучать то на что вы даете ссылки.
_spawnpos = ["mark_1","mark_2","mark_3"] call BIS_fnc_selectRandom;
_unit - это тоже приватная переменная, в данном случае содержащая nil - тоесть ничего! Ее надо сначало задать как нибудь или сразу писать имя юнита
player setPos (getMarkerPos _spawnpos)
Поэтому у тебя нихрена не работает, т к везде ничего не оределено
Edited by vlad333000, 15 June 2014 - 14:30.
#15
OFFLINE
Posted 15 June 2014 - 14:36
Спасибо тебе добрый человек. Теперь яснее не куда и работает все прекрасно)
Edited by Djon, 15 June 2014 - 14:38.
#16
OFFLINE
Posted 28 February 2018 - 14:43
а где прописать высоту над уровнем моря?