Jump to content


Photo

Экшен "Убрать оружие"


  • Please log in to reply
31 replies to this topic

#1 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 26 November 2014 - 18:30

Создайте в папке с миссией файл addActions.sqf

И скопируйте в него код

/*
	Добавляет юнитам экшен "Убрать оружие"
	
	auhtor: SteelRat
*/

_unit = _this;

//	Убрать оружие
_unit addAction [localize "a3units_str_Hide_weapon", 
	{
		_callerUnit	= _this select 1;
		
		_callerUnit action ["SwitchWeapon", _callerUnit, _callerUnit, 100];
		
		if !(primaryWeapon _callerUnit == "") then {
			_callerUnit setUserActionText [actionSelectPrimaryWeaponID, format ["%1 %2", localize "a3units_str_weapon", ((configfile/"CfgWeapons"/(primaryWeapon _callerUnit)/"displayName") call BIS_fnc_getCfgData)]];
		};
	},
	"",0,false,true,"",
	"(_this == _target) && (vehicle _this == _this) && !(currentWeapon _this == '')"
];

//	Добавить экшен выбирающий оружие размещённое в Primary weapon слоте
actionSelectPrimaryWeaponID = _unit addAction ["", 
	{
		_callerUnit	= _this select 1;
		
		_callerUnit selectWeapon primaryWeapon _callerUnit;
	},
	"",0,false,true,"",
	"(_this == _target) && (vehicle _this == _this) && (currentWeapon _this == '') && !(primaryWeapon _this == '')"
];

Создайте в папке с миссией файл локализации stringtable.xml , если его у вас ещё нет, и добавьте в него это 

<?xml version="1.0" encoding="utf-8"?>
<Project
	name="Arma3">
	<Package
		name="A3UNITS">
		<Container
			name="Action">
			<Key
				ID="a3units_str_Hide_weapon">
				<Original>Hide weapon</Original>
				<Russian>Убрать оружие</Russian>
			</Key>
			<Key
				ID="a3units_str_weapon">
				<Original>Weapon</Original>
				<Russian>Оружие</Russian>
			</Key>
		</Container>
	</Package>
</Project>

В инициализацию юнита которым будете управлять добавьте вызов кода

0 = this execVM "ПутьДоСкрипта\addActions.sqf"

или из init.sqf файла миссии

player execVM "ПутьДоСкрипта\addActions.sqf";

Так же вызов скрипта нужно добавить в код инициализируемый при респавне игрока и при переключении игрока на управление другим юнитом.

 

А если самому всё это делать в лом, вот готовый аддон 

Attached File  A3UNITS_0.3.rar   2.4KB   428 downloads


  • 7

#2 OFFLINE   stalnoy.1398

stalnoy.1398

    Рядовой

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

Posted 27 January 2015 - 17:18

Здравствуйте. Я немного поздно, тема была давно. Но можно как-нибудь это действие в меню для отряда там где сесть, приветствовать и сдаться?


  • 0

#3 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 27 January 2015 - 20:21

Похоже я отстал от поезда, в ванильной арме есть меню сесть, приветствовать, сдаться?


  • 0

#4 OFFLINE   Djon

Djon

    Старшина

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

Posted 27 January 2015 - 21:06

stalnoy.1398, В целом трактовка вашего вопроса на столько сложновата, что ее туманный смысл доходит с 3-го прочтения. В итоге я тоже с господином SteelRat жду следующего поезда.  


Edited by Djon, 27 January 2015 - 21:10.

  • 0

#5 OFFLINE   stalnoy.1398

stalnoy.1398

    Рядовой

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

Posted 28 January 2015 - 08:25

Выбираете отряд или отдельных членов отряда, нажимаете на цифру 6. А почему арма ванильная?


Edited by stalnoy.1398, 28 January 2015 - 08:26.

  • 0

#6 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 28 January 2015 - 18:00

Выбираете отряд или отдельных членов отряда, нажимаете на цифру 6. А почему арма ванильная?

 

Какие моды используете, вот о чём вас спрашивали, в арме по умолчанию нет такого.


  • 0

#7 OFFLINE   Djon

Djon

    Старшина

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

Posted 28 January 2015 - 18:15

SteelRat, Коллега оказывается мы действительно отстали от поезда) Нашел все кроме сдаться))) 


  • 0

#8 OFFLINE   stalnoy.1398

stalnoy.1398

    Рядовой

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

Posted 29 January 2015 - 07:36

Да, сдаться там не всегда есть. От чего это зависит, не знаю. Вроде от наличия рядом врагов.


  • 0

#9 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 29 January 2015 - 21:21

SteelRat, Коллега оказывается мы действительно отстали от поезда) Нашел все кроме сдаться))) 

Ок, принято на вооружение.


Да, сдаться там не всегда есть. От чего это зависит, не знаю. Вроде от наличия рядом врагов.

Тогда, ответ по существу, для реализации вашего вопроса придётся лезть в такие дебри БИСовского творения, на предмет модификации конфигов, я пас), у меня каникулы)


  • 0

#10 OFFLINE   Djon

Djon

    Старшина

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

Posted 29 January 2015 - 21:45

stalnoy.1398, Может тогда проще назначить кнопку на это действие. Да и собственно в экшенах оно смотрится не плохо, даже я бы сказал оно там на своем месте.  


  • 0

#11 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 29 January 2015 - 21:50

stalnoy.1398, Может тогда проще назначить кнопку на это действие. Да и собственно в экшенах оно смотрится не плохо, даже я бы сказал оно там на своем месте.  

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


  • 0

#12 OFFLINE   Djon

Djon

    Старшина

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

Posted 29 January 2015 - 21:58

SteelRat, Если так то полностью согласен. А на ботах эта штука тестилась? То есть они будут брать в руки стволы если спалят вражину? Или будут смотреть на командира печальными от безысходности глазами в ожидании команды "взять оружие в руки"?)))


  • 0

#13 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 30 January 2015 - 09:30

Djon, конечно будут смотреть как идиоты! Ты вот хоть раз видел, что бы бот сам оружие менял если у него кончились патроны/пустой магазин/за спиной РПГ, а на него едет  танк? - я лично не видел


  • 0

#14 OFFLINE   Djon

Djon

    Старшина

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

Posted 30 January 2015 - 09:48

vlad333000, Глупыши короче(  


  • 0

#15 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 30 January 2015 - 20:00

SteelRat, Если так то полностью согласен. А на ботах эта штука тестилась? То есть они будут брать в руки стволы если спалят вражину? Или будут смотреть на командира печальными от безысходности глазами в ожидании команды "взять оружие в руки"?)))

Бот, он и в Африке бот, он постоянно нуждается в руководящей роли, либо игрока, либо управляющего ботом кода.


 

Я так понимаю, топикмейкер

Оригинал я однако) и топикмейкер тоже я)


  • 0

#16 OFFLINE   Djon

Djon

    Старшина

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

Posted 30 January 2015 - 20:24

 

Оригинал я однако) и топикмейкер тоже я)

 

:D  :D  :D


  • 0

#17 OFFLINE   stalnoy.1398

stalnoy.1398

    Рядовой

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

Posted 31 January 2015 - 08:25

Djon, конечно будут смотреть как идиоты! Ты вот хоть раз видел, что бы бот сам оружие менял если у него кончились патроны/пустой магазин/за спиной РПГ, а на него едет  танк? - я лично не видел

Ну если им дать команду "В бой, самим выбирать цель", ну или как-то так, то они будут сами ориентироваться на приоритетную цель и соответственно выбирать подходящее оружие. Вопрос в том, изменит ли бот свою предыдущую цель на танк, который на него выскочил.


  • 0

#18 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 31 January 2015 - 17:12

 

Djon, конечно будут смотреть как идиоты! Ты вот хоть раз видел, что бы бот сам оружие менял если у него кончились патроны/пустой магазин/за спиной РПГ, а на него едет  танк? - я лично не видел

 

Ну если им дать команду "В бой, самим выбирать цель", ну или как-то так, то они будут сами ориентироваться на приоритетную цель и соответственно выбирать подходящее оружие. Вопрос в том, изменит ли бот свою предыдущую цель на танк, который на него выскочил.

 

Хренас два бот соизволит сам взять в руки пушку, если перед этим вы, скриптовой командой, приказали ему её убрать, при опасности они

 

    будут смотреть как идиоты!   

и будут орать как потерпевшие, но взять в руки пушку и отстреливаться, без ценного на то указания, ботам слабо!

 

В FSM файлах управляющих поведением бота, я не встречал и намёка на отслеживание наличия в руках бота пушки, и собственно наличия другой, на случай отсутствия боеприпасов к той, что в руках.

 

И, выходит так, что и логика которая крутится в самом движке, этого тоже не делает.


Edited by SteelRat, 31 January 2015 - 17:17.

  • 0

#19 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 31 January 2015 - 17:21

ЗЫ

Хотя в этом

 

и собственно наличия другой, на случай отсутствия боеприпасов к той, что в руках.

не уверен на все 100.


  • 0

#20 OFFLINE   Djon

Djon

    Старшина

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

Posted 31 January 2015 - 17:36

SteelRat, Ну смена пистолета и автомата происходит если закончились патроны, а вот в остальных случаях думаю результат радовать не будет. Помню как думал о так сказать физической передаче бомжеватому боту оружия, который так и не решился взять ствол из рюкзака, поднять с земли и много еще всяких плясок с бубном. Получается пока сам не приштопаешь к боту проверки на оружие и все сопутствующие причендалы, он так и будет смотреть печальными глазами на ствол лежащий на земле а потом на тебя, будто говорит "Я хочу его взять, но меня не научили" на что мы и ответить не можем так как не умеем, в списке команд ботам такого не найти, зато команда сесть по рспи...йски есть)))


Edited by Djon, 31 January 2015 - 17:37.

  • 0




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