Перейти к содержимому


Фотография

Вопросы по скриптингу

Arma3 как плотформа для созда Скритпы

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 1486

#1461 OFFLINE   Ibragim

Ibragim

    Сержант

  • Пользователи
  • 161 сообщений

Отправлено 29 October 2021 - 14:26

Ibr_fn_find_nearest_road_pos_and_dir = 
	{
		params ["_center", "_radius"];

		private _road = objNull;
		private _pos = [0,0,0];
		private _dir = 0;
		
		_roads_terrain = nearestTerrainObjects [_center, ["Road"], _radius];
		_roads_near = _center nearRoads _radius;
		
		_roads = _roads_terrain + _roads_near;
		
		if (count _roads > 0) then 
			{
				_roads = _roads apply { [_x distance (_center), _x] };
				_roads sort true;
				
				_road = (_roads select 0 select 1);
				
				_pos = position _road;
				
				_beg = getRoadInfo _road select 6;
				
				_end = getRoadInfo _road select 7;
				
				_dir = (_beg getDir _end);
			};

		[_road, _pos, _dir];
	};
	
_place = [position player, 100] call Ibr_fn_find_nearest_road_pos_and_dir; /// позиция и радиус

_place params ["_road","_pos","_dir"];
Получаешь массив _place, в котором:
_road - это объект дороги
_pos - это позиция этой дороги
_dir - это направление дороги
Ставишь свой объект в этом же скрипте так:
player setPos _pos;
player setDir _dir;

  • 0

#1462 OFFLINE   forummailandlogin

forummailandlogin

    Ефрейтор

  • Пользователи
  • 41 сообщений

Отправлено 30 October 2021 - 12:33

Ibragim, спасибо.

Экспериментировал позавчера с всеми типами дорог ("ROAD", "MAIN ROAD", "TRACK", "TRAIL") (при нахождении ставил разноцветные маркеры на карте), но команда не везде находила дороги, даже у себя под носом. Например в Абдере ни разу не обнаруживала.
В итоге остановился на BIS_fnc_findSafePos.

Прикрепленный файл  20211030120005_1.jpg   133.18К   0 Количество загрузок:

Позже попробую вернуться к дорогам.


Сообщение отредактировал forummailandlogin: 30 October 2021 - 13:01

  • 0

#1463 OFFLINE   Ibragim

Ibragim

    Сержант

  • Пользователи
  • 161 сообщений

Отправлено 30 October 2021 - 14:18

Да, я сталкивался с этим. Поэтому я совместил два метода поиска дороги:
nearestTerrainObjects

и

nearRoads

 

Если и они не находят все дороги, то могу предложить поставить несколько маркеров на точках, на которым может происходить спавн, сделать их невидимыми и создавать технику рандомно на одном из них. 


  • 0

#1464 OFFLINE   forummailandlogin

forummailandlogin

    Ефрейтор

  • Пользователи
  • 41 сообщений

Отправлено 30 October 2021 - 19:22

Ibragim, я создаю миссию в которой каждый старт не предсказуем на столько, на сколько это возможно. Респится не только пехота и техника, но ещё и турели. Турели как известно не могут передвигаться, но тем не менее "isKindOf" их возвращается как транспорт, а значит появлять они буду с транспортом. И если они будут появляться на заранее позиции, то техника разъедится по своим делам, а турели, если появились - останутся.

По сему такой метод мне не подходит.

Заранее известны у меня лишь города участвующие в сценарии. Всё остальное рандомно.


  • 0

#1465 OFFLINE   TopDen

TopDen

    Мл. лейтенант

  • Пользователи
  • 803 сообщений
  • Откуда:Москва
  • Отряд:[АТР] АРМАТОП

Отправлено 20 April 2022 - 21:36

парни подскажите, есть ли какая-нибудь бис команда на закрытие\открытие доступа к снаряжению (багажнику) в технике? setvehiclelock закрывает только посадочные места(
p.s если команды нет, как можно обыграть этот момент?


  • 0

#1466 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1791 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 20 April 2022 - 23:59

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

. Чтобы, например, блокировать определённым юнитам, то обрабатывай событие

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

и действие Rearm.


  • 0

#1467 OFFLINE   TopDen

TopDen

    Мл. лейтенант

  • Пользователи
  • 803 сообщений
  • Откуда:Москва
  • Отряд:[АТР] АРМАТОП

Отправлено 22 April 2022 - 00:55

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

. Чтобы, например, блокировать определённым юнитам, то обрабатывай событие

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

и действие Rearm.

понял. спасибо. то что надо


  • 0

#1468 OFFLINE   sokol009

sokol009

    Рядовой

  • Пользователи
  • 4 сообщений
  • Откуда:Россия

Отправлено 02 May 2022 - 20:36

Всем привет, можете помочь? Собрался сделать кампанию и хотел сделать чтобы снаряжение игрока в конце миссии сохранялось и загружалось в следующей. Я нашел код и попробовал настроить его под себя. Все переноситься кроме рюкзака. Я пробовал писать код на рюкзак и так и сяк но не получается. Может кто сказать в чем ошибка.

Ниже мой код:
На сохранение снаряжения

_x = Player;
Global_Player = [weapons _x, Headgear _x, Goggles _x, Vest _x, Uniform _x, hmd _x, primaryWeaponItems _x, vestItems _x, uniformItems _x, Backpack _x];
sleep 1;
SaveVar "Global_Player";
sleep 1;
endMission "END1";
 
На загрузку его в миссии.
removeAllWeapons Player; 
{Player addWeapon _x} forEach (Global_Player select 0);
{Player addPrimaryWeaponItem _x} forEach (Global_Player select 6);
Player selectWeapon PrimaryWeapon Player;
Player addHeadgear (Global_Player select 1);
Player addGoggles (Global_Player select 2);
Player addVest (Global_Player select 3);
{Player addItemToVest _x} forEach (Global_Player select 7);
Player addUniform (Global_Player select 4);
{Player addItemToUniform _x} forEach (Global_Player select 8);
Player addhmd (Global_Player select 5);
Player addBackpack (Global_Player select 9);

Сообщение отредактировал sokol009: 02 May 2022 - 20:36

  • 0

#1469 OFFLINE   CuPOTA

CuPOTA

    Рядовой

  • Пользователи
  • 17 сообщений

Отправлено 22 May 2022 - 16:05

 

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

 не подойдет?


  • 0

#1470 OFFLINE   TopDen

TopDen

    Мл. лейтенант

  • Пользователи
  • 803 сообщений
  • Откуда:Москва
  • Отряд:[АТР] АРМАТОП

Отправлено 24 May 2022 - 06:27

Парни  помогите пожалуйста правильно написать эти команды, которые бы передавали бы такой смысл:

_pScore

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

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

;
if _{pScore от 0 до 20} exitwith {[

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

, -1] remoteExec ["addScore", 2];};

if _{pScore от 20 до 40} exitwith {[

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

, -5] remoteExec ["addScore", 2];}

if _{pScore от 40 до 100} exitwith {[

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

, -10] remoteExec ["addScore", 2];}

 

или написать её как одно целое\оптимизировать, чтобы не повторять строчки (может через else)

данную команду хочу разместить в onPlayerRespawn.sqf 


  • 0

#1471 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1791 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 24 May 2022 - 16:13

Парни  помогите пожалуйста правильно написать эти команды, которые бы передавали бы такой смысл:

_pScore = score player;
if _{pScore от 0 до 20} exitwith {[player, -1] remoteExec ["addScore", 2];};
if _{pScore от 20 до 40} exitwith {[player, -5] remoteExec ["addScore", 2];}
if _{pScore от 40 до 100} exitwith {[player, -10] remoteExec ["addScore", 2];}
 
или написать её как одно целое\оптимизировать, чтобы не повторять строчки (может через else)

_score = if ((_pScore >= 0) and { _pScore < 20 }) then {
    -1
} else {
    if ((_pScore >= 20) and { _pScore < 40 }) then {
        -5
    } else {
        if ((_pScore >= 40) and { _pScore < 100 }) then {
            -10
        } else {
            0
        };
    };
};

if (_score != 0) then {
    [player, _score] remoteExec ["addScore", 2];
};

  • 1

#1472 OFFLINE   TopDen

TopDen

    Мл. лейтенант

  • Пользователи
  • 803 сообщений
  • Откуда:Москва
  • Отряд:[АТР] АРМАТОП

Отправлено 24 May 2022 - 16:22

огромное спасибо ,Schatten.


  • 0

#1473 OFFLINE   TopDen

TopDen

    Мл. лейтенант

  • Пользователи
  • 803 сообщений
  • Откуда:Москва
  • Отряд:[АТР] АРМАТОП

Отправлено 10 June 2022 - 17:30

Schatten.  подскажите пожалуйста.  если отреспить на карте в миссии бпла (например радар), как\какой командой сделать чтобы игроки не могли его видеть в бпла-планшете и не могли подключиться к нему? чтоб бот там был автономен полностью


  • 0

#1474 OFFLINE   TopDen

TopDen

    Мл. лейтенант

  • Пользователи
  • 803 сообщений
  • Откуда:Москва
  • Отряд:[АТР] АРМАТОП

Отправлено 10 July 2022 - 04:49

Парни подскажите пожалуйста как правильно написать условие типа:

If player находится в траспорте (в любом на любом месте), exitWith {};


  • 0

#1475 OFFLINE   Denispetrov123

Denispetrov123

    Ефрейтор

  • Пользователи
  • 82 сообщений
  • Откуда:Москва

Отправлено 10 July 2022 - 11:46

Парни подскажите пожалуйста как правильно написать условие типа:

If player находится в траспорте (в любом на любом месте), exitWith {};

if (vehicle player != player) exitWith {};


  • 0

#1476 OFFLINE   TopDen

TopDen

    Мл. лейтенант

  • Пользователи
  • 803 сообщений
  • Откуда:Москва
  • Отряд:[АТР] АРМАТОП

Отправлено 12 July 2022 - 21:10

Denispetrov123,  спасибо


  • 0

#1477 OFFLINE   TopDen

TopDen

    Мл. лейтенант

  • Пользователи
  • 803 сообщений
  • Откуда:Москва
  • Отряд:[АТР] АРМАТОП

Отправлено 01 September 2022 - 08:07

парни, подскажите какой командой можно "закрыть" доступ к снаряжению ящика\контейнера\машины.? как его закрыть вообще. именно снаряжение, а не посадочные места


  • 0

#1478 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1791 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 01 September 2022 - 11:04

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


  • 1

#1479 OFFLINE   TopDen

TopDen

    Мл. лейтенант

  • Пользователи
  • 803 сообщений
  • Откуда:Москва
  • Отряд:[АТР] АРМАТОП

Отправлено 02 September 2022 - 06:06

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

спасибо


  • 0

#1480 OFFLINE   TopDen

TopDen

    Мл. лейтенант

  • Пользователи
  • 803 сообщений
  • Откуда:Москва
  • Отряд:[АТР] АРМАТОП

Отправлено 12 September 2022 - 01:55

парни подскажите такой вопрос:

в процессе миссии разрушаются дома\постройки на карте (заборы, деревья и т.д.)

есть ли какая-то команда или скрипт-пример  чтобы можно было восстановить все разрушенные или уничтоженные объекты на карте (имею ввиду опять же дома\заборы и т.д)?


  • 0




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