подскажите парни как сделать чтобы игрок положив оружие на землю не смог его поднять или оно просто удалилось. скриптами или есть какой-то евентхендлер для этого или еще как?
#1481 OFFLINE
Posted 08 October 2022 - 03:22
#1482 OFFLINE
Posted 08 October 2022 - 12:28
Для блокировки нужно использовать обработку событий , где, например, присваивать GUID игрока WeaponHolder'у, и , где проверять GUID и, если он совпадает с GUID игрока, закрывать инвентарь. Плюс надо добавить с помощью обработчик события Rearm, где тоже проверять GUID.
Edited by Schatten, 08 October 2022 - 12:48.
#1483 OFFLINE
Posted 08 October 2022 - 14:48
, похоже, даже подходящий пример есть для удаления WeaponHolder'а.
Для блокировки нужно использовать обработку событий , где, например, присваивать GUID игрока WeaponHolder'у, и , где проверять GUID и, если он совпадает с GUID игрока, закрывать инвентарь. Плюс надо добавить с помощью обработчик события Rearm, где тоже проверять GUID.
Спасибо Schatten. не совсем подходит
потому что игрок может взять оружие с земли пока у другого игрока "открыто" снаряжение. склоняюсь что нужно мутить с этим["Take", { ["_unit", "_container", "_item"]; }];
т е чтобы в момент "взятия" чего либо откуда угодно шел запрет или удаление. я правильно понимаю этот эвентхендлер?
Edited by TopDen, 08 October 2022 - 15:25.
#1484 OFFLINE
Posted 08 October 2022 - 19:39
не совсем подходит InventoryClosed потому что игрок может взять оружие с земли пока у другого игрока "открыто" снаряжение
Тогда:
1 Если нужно удалять, то нужно обрабатывать события Put, где удалять вещь, и InventoryClosed, где удалять WeaponHolder.
2 Если нужно запрещать, то нужно обрабатывать события Put, где присваивать GUID, и InventoryOpened, где проверять GUID. Плюс inGameUISetEventHandler + Rearm.
#1485 OFFLINE
Posted 09 October 2022 - 16:49
Тогда: 1 Если нужно удалять, то нужно обрабатывать события Put, где удалять вещь, и InventoryClosed, где удалять WeaponHolder.
спасибо. это подходит
#1486 OFFLINE
Posted 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"
Edited by TopDen, 11 October 2022 - 18:18.
#1487 OFFLINE
Posted 11 October 2022 - 20:04
Можно также воспользоваться командой .