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


Фотография

person moveTo position


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

#1 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 12 May 2014 - 22:16

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


  • 0

#2 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 12 May 2014 - 22:36

Дас! Разобрался, вот этого им не сделал.

_agent disableAI "FSM";

Сообщение отредактировал SteelRat: 12 May 2014 - 22:36

  • 0

#3 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 12 May 2014 - 23:39

Да вот возник ещё вопрос. А агентов можно заставить водить транспорт?


  • 0

#4 OFFLINE   Shustriy

Shustriy

    Рядовой

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

Отправлено 13 May 2014 - 00:50

Да вот возник ещё вопрос. А агентов можно заставить водить транспорт?

 

можно!


  • 0

#5 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 13 May 2014 - 01:05


можно!

 

Исчерпывающий ответ! А я Бабушка Ванга! Приятно познакомится, и я очень умею читать мысли на расстоянии.


  • 0

#6 OFFLINE   kolyan147

kolyan147

    Прапорщик

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

Отправлено 13 May 2014 - 01:39

ну как спросил так и ответили, надо точнее задавать вопрос. 


  • 0

#7 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 13 May 2014 - 17:01


ну как спросил так и ответили, надо точнее задавать вопрос. 

 

В отношении персонально к вам буду придерживаться таких же утверждений. Впредь избавьте меня от ваших ответов. Удачи!


  • 0

#8 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 15 May 2014 - 19:47

Ну что же поделаешь, раз мутные ответы приходят только от служителей тайных сект, которые не желают делится сокровенным, придётся очередной раз самому и ответить на свой вопрос.

 

 

Да вот возник ещё вопрос. А агентов можно заставить водить транспорт?

 

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

_mypos = getposATL player;
_dir = getdir player;

_mypos = [(_mypos select 0)+15*sin(_dir),(_mypos select 1)+15*cos(_dir), (_mypos select 2)];
_veh = "C_Quadbike_01_F" createVehicle _mypos;

_agent = createAgent ["C_man_1", _mypos, [], 0, "NONE"];
_agent disableAI "FSM";
sleep 0.1;
[_veh,player, ["cargo"]] call BIS_fnc_moveIn;
[_veh, _agent, ["driver"]] call BIS_fnc_moveIn;

sleep 1;

_centerPos = getPosATL _veh;
_vpPos = _centerPos;
_checkTime = time;

PTm_Loop = true;
while {PTm_Loop} do {
	if ((_agent distance _vpPos < 8) or (time > _checkTime)) then {
		_checkTime = time + 20;
		_vpPos = [
			(_centerPos select 0) + ([-100,-80,-60,-40,-20,0,20,40,60,80,100] call BIS_fnc_selectRandom),
			(_centerPos select 1) + ([-100,-80,-60,-40,-20,0,20,40,60,80,100] call BIS_fnc_selectRandom), 
			(_centerPos select 2)
		];
		systemChat format["%1", _vpPos];
		_agent MoveTo _vpPos;
	};
	sleep 1;
};

  • 0

#9 OFFLINE   Артём

Артём

    Рядовой

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

Отправлено 19 May 2014 - 00:04

А как заставить юнита сесть в транспорт и ехать в другую точку когда у него уже есть вэйпойнты (тобишь допустим юнит тупо патрулирует по циклу и по тревоге он садиться в транспорт и едет в другую точку)? addwaypoint и action почему-то не пашут


  • 0

#10 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 19 May 2014 - 06:58

А как заставить юнита сесть в транспорт и ехать в другую точку когда у него уже есть вэйпойнты (тобишь допустим юнит тупо патрулирует по циклу и по тревоге он садиться в транспорт и едет в другую точку)? addwaypoint и action почему-то не пашут

Артем, такое можно сделать при помощи тригера, где в "тип" написано "переключить" (синхронизируешь его с вейпойнтом, который идет после "зациклить")
В итоге: при активации триггера, он делает вейпойнт, который стоит после "зациклить", выполненым и маршрут переключается дальше.

Сообщение отредактировал vlad333000: 19 May 2014 - 09:10

  • 0

#11 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 03 June 2014 - 17:29

Не могу понять где подвох.

 

На клиенте вызываю такую функцию

_fnc_createAgent = {

	_unitClass 	= _this select 0;
	_pos		= _this select 1;
	_agent		= objNull;

	if (isMultiplayer) then {
		if (isServer) then {
			_agent = createAgent [_unitClass, _pos, [], 0, "NONE"];
		} else {
		
			systemChat "Send server code";
			
			[[[_unitClass, _pos, player], {
				_agent = createAgent [(_this select 0), (_this select 1), [], 0, "NONE"];
				_agent disableAI "FSM";
				_agent setOwner owner (_this select 2);
				[[[_agent],{PTm_unitLink = (_this select 0)}],"BIS_fnc_spawn",owner (_this select 2),false] spawn BIS_fnc_MP;
			}],"BIS_fnc_spawn",false,false] spawn BIS_fnc_MP;
			
			waitUntil {sleep 0.2; !isNil "PTm_unitLink"};
			
			_agent = PTm_unitLink;
			PTm_unitLink = Nil;
			
			systemChat "Agent created";
		};
	} else {
		_agent = createAgent [_unitClass, _pos, [], 0, "NONE"];
	};
	
	_agent
};

Эта функция в мультиплеере отправляет на сервер этот код

                        [[[_unitClass, _pos, player], {
				_agent = createAgent [(_this select 0), (_this select 1), [], 0, "NONE"];
				_agent disableAI "FSM";
				_agent setOwner owner (_this select 2);
				[[[_agent],{PTm_unitLink = (_this select 0)}],"BIS_fnc_spawn",owner (_this select 2),false] spawn BIS_fnc_MP;
			}],"BIS_fnc_spawn",false,false] spawn BIS_fnc_MP;

Который создаёт на сервере объект AGENT, далее делает владельцем этого объекта клиент, и отправляет назад клиенту ссылку на агента.

Вся кухня работает отлично, за исключением одного НО.

 

Агент не хочет выполнять команды с клиента, например, не хочет перемещаться в пространстве, когда ему даётся такая команда.

 

Кто подскажет, где грабли?


  • 0




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