• Страница 1 из 1
  • 1
Рандомная (не совсем) стартовая позиция стороны
Hannibal248
Вторник, 25.06.2019, 15:26
Пост №: 1
Пользователь
Одиночка
На древнем Iron Front (тот что игра) был скрипт на рандомные стартовые позиции сторон. Задавался массив маркеров и по ним рандомно определялась стартовая позиция стороны. При этом приходилось каждому бойцу прописывать принадлежность к стороне. Постараюсь поискать, более подробное описание.

Существуют ли сейчас, что то подобное?

Для чего это нужно:
На IFRB есть 3-я фановая миссия "Староста", после первого отыгрыша всем становится ясно, кто первый приедет в деревню, и от этого уже идет игра, хотелось бы сделать не очевидным стартовые положение, чтобы все стремились максимально быстро добраться в деревню.

Автор темы
 
PIONEER
Вторник, 25.06.2019, 16:19
Пост №: 2
Самое быстрое и простое в init.sqf как вариант

if (isServer) then {
private _ver = floor(random 10);
if (_ver > 3 ) then {solder1 setpos getmarkerpos "pos1"};
if (_ver > 5 ) then {solder1 setpos getmarkerpos "pos2"};
if (_ver < 3 ) then {solder1 setpos getmarkerpos "pos2"};
};

можно еще через switch\case замутить или через selectRandom
Сообщение отредактировал PIONEER - Вторник, 25.06.2019, 16:23

 
Hannibal248
Вторник, 25.06.2019, 20:29
Пост №: 3
Пользователь
Одиночка
Цитата PIONEER ()
if (isServer) then {private _ver = floor(random 10);
if (_ver > 3 ) then {solder1 setpos getmarkerpos "pos1"};
if (_ver > 5 ) then {solder1 setpos getmarkerpos "pos2"};
if (_ver < 3 ) then {solder1 setpos getmarkerpos "pos2"};
};

solder1 как к стороне притянуть? типа каждому бойцу прописать?

Автор темы
 
PIONEER
Среда, 26.06.2019, 09:22
Пост №: 4
По разному можно, но сторона уже не нужна, постараюсь примерчик сделать на днях
 
Hannibal248
Суббота, 16.11.2019, 23:18
Пост №: 5
Пользователь
Одиночка
Цитата PIONEER ()
По разному можно, но сторона уже не нужна, постараюсь примерчик сделать на днях
Смотри что нашёл, может из этого что можно слепить?

// Random starting location selector script
// Usage: _nil = [this]execVM "scripts\randomStartPos.sqf";

// Define caller
_unit = _this select 0;

// Markers for spawning
_pos = ["w1", "w2", "w3", "w4"];

// Randomly select the marker to used
_startPos = _pos call BIS_fnc_selectRandom;

// Move the unit or object to the marker
_unit setPos (getMarkerPos _startPos);

// Set the direction of the unit or object to be the same as the marker
_unit setDir (markerDir _startPos);

Автор темы
 
  • Страница 1 из 1
  • 1
Поиск: