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


Фотография

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

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

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

#1481 OFFLINE   TopDen

TopDen

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

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

Отправлено 08 October 2022 - 03:22

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


  • 0

#1482 OFFLINE   Schatten

Schatten

    Капитан

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

Отправлено 08 October 2022 - 12:28

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

, похоже, даже подходящий пример есть для удаления WeaponHolder'а.
Для блокировки нужно использовать обработку событий

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

, где, например, присваивать GUID игрока WeaponHolder'у, и

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

, где проверять GUID и, если он совпадает с GUID игрока, закрывать инвентарь. Плюс надо добавить с помощью 

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

 обработчик события Rearm, где тоже проверять GUID.


Сообщение отредактировал Schatten: 08 October 2022 - 12:48

  • 0

#1483 OFFLINE   TopDen

TopDen

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

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

Отправлено 08 October 2022 - 14:48

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

, похоже, даже подходящий пример есть для удаления WeaponHolder'а.
Для блокировки нужно использовать обработку событий

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

, где, например, присваивать GUID игрока WeaponHolder'у, и

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

, где проверять GUID и, если он совпадает с GUID игрока, закрывать инвентарь. Плюс надо добавить с помощью 

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

 обработчик события Rearm, где тоже проверять GUID.

Спасибо Schatten. не совсем подходит

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

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

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

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

["Take", {

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

["_unit", "_container", "_item"]; }];

т е чтобы в момент "взятия" чего либо откуда угодно шел запрет или удаление. я правильно понимаю этот эвентхендлер?


Сообщение отредактировал TopDen: 08 October 2022 - 15:25

  • 0

#1484 OFFLINE   Schatten

Schatten

    Капитан

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

Отправлено 08 October 2022 - 19:39

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

Тогда:
1 Если нужно удалять, то нужно обрабатывать события Put, где удалять вещь, и InventoryClosed, где удалять WeaponHolder.
2 Если нужно запрещать, то нужно обрабатывать события Put, где присваивать GUID, и InventoryOpened, где проверять GUID. Плюс inGameUISetEventHandler + Rearm.


  • 0

#1485 OFFLINE   TopDen

TopDen

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

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

Отправлено 09 October 2022 - 16:49


Тогда: 1 Если нужно удалять, то нужно обрабатывать события Put, где удалять вещь, и InventoryClosed, где удалять WeaponHolder.

спасибо. это подходит


  • 0

#1486 OFFLINE   TopDen

TopDen

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

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

Отправлено 11 October 2022 - 18:14

Schatten, подскажи пожалуйста. у меня есть такая конструкция для создания 3Д надписи над ящиком.
 

addMissionEventHandler ["Draw3D", //десант
{
		private _distance = positionCameraToWorld [0,0,0] distance desant;
		
		if ( _distance < 15 ) then
		{
			private _iconSize = 1 max ( 3 / ( _distance / 3 ) ) min 2;
			private _iconPos = getPos desant;
			_iconPos set [2, _iconPos#2 + 20];
			
			drawIcon3D
			[
				"",
				[0.06, 0.63, 0.02, 1],
				
				_iconPos,
				_iconSize/2,
				_iconSize/2,
				0,
				"Десантирование",
				true,
				_iconSize / 30,
				"PuristaSemiBold",
				"center",
				true
			];
		};
}];

т е когда подходишь к ящику ближе 15м то над ни светиться 3д надпись "десантирование". Но эта надпись привязана по выслте от земли, а надо привязать высоту от ящика (не важно на какой он высоте находился бы сам) Сейчас там  написано _iconPos set [2, _iconPos#2 + 20];  20 -это высота от земли потому что ящик стоит на авианосце на воде соответсвенно. Можно поправить это как-то? название ящика "desant"


Сообщение отредактировал TopDen: 11 October 2022 - 18:18

  • 0

#1487 OFFLINE   Schatten

Schatten

    Капитан

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

Отправлено 11 October 2022 - 20:04

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

. А при передаче скорректированной позиции

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

, как написано в описании, конвертировать её в 

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

с помощью

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

.
Можно также воспользоваться командой

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

.


  • 0




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