Доброго времени суток, у меня вопрос, как запретить/отключить передвижение для игрока, чтобы он мог только целиться и стрелять из оружия, а ходить, менять положение тела не мог?

Как запретить/отключить передвижение игрока.

Лучший Ответ Schatten , 08 June 2019 - 19:58
kolyanya, добавь нужные действия в моё решение.
Перейти к сообщению
#1
OFFLINE
Отправлено 06 June 2019 - 17:29
#2
OFFLINE
Отправлено 06 June 2019 - 18:11
player setPos [0, 0, 0]; // Телепорт на позицию, на которой игрок должен "зависнуть" // Вызов действия смены положения player playAction "PlayerStand"; // Стоя player playAction "PlayerCrouch"; // Сидя player playAction "PlayerProne"; // Лежа
Сообщение отредактировал vlad333000: 06 June 2019 - 18:11
#3
OFFLINE
Отправлено 07 June 2019 - 07:03
Каждый кард выполнять на клиенте игрока:
player setPos [0, 0, 0]; // Телепорт на позицию, на которой игрок должен "зависнуть" // Вызов действия смены положения player playAction "PlayerStand"; // Стоя player playAction "PlayerCrouch"; // Сидя player playAction "PlayerProne"; // ЛежаСпасибо, всё работает, но ствол оружия гуляет нереально.
#4
OFFLINE
Отправлено 07 June 2019 - 07:14
Каждый кард выполнять на клиенте игрока:
player setPos [0, 0, 0]; // Телепорт на позицию, на которой игрок должен "зависнуть" // Вызов действия смены положения player playAction "PlayerStand"; // Стоя player playAction "PlayerCrouch"; // Сидя player playAction "PlayerProne"; // Лежа
А не лучше будет заблокировать ненужные кнопки ?
#5
OFFLINE
Отправлено 07 June 2019 - 07:33
#6
OFFLINE
Отправлено 07 June 2019 - 09:34
Попробовал решить проблему с гулянием ствола командой player setCustomAimCoef 0; Ствол перестал гулять, но появились мелкие дёргания, вправо-влево, при выстреле пуля летит правее или левее цели.
Так что это не вариант. А как блокировать кнопки игрока.
#7
OFFLINE
Отправлено 07 June 2019 - 10:28
А как блокировать кнопки игрока.
disableUserInput true;
#8
OFFLINE
Отправлено 07 June 2019 - 10:40
Эта команда так же отключает мышкуdisableUserInput true;А как блокировать кнопки игрока.
#9
OFFLINE
Отправлено 07 June 2019 - 10:50
downKeyEH = (findDisplay 46) displayAddEventHandler ["KeyDown",{
_return = false;
if ((_this # 1) in [17,30,31,32]) then {
_return = true;
};
_return
}];
#10
OFFLINE
Отправлено 07 June 2019 - 11:00
Это могло быть лучшим вариантом, если бы БИСы это правильно реализовали, а так этот механизм имеет кучу способов обходаА не лучше будет заблокировать ненужные кнопки ?Каждый кард выполнять на клиенте игрока:
player setPos [0, 0, 0]; // Телепорт на позицию, на которой игрок должен "зависнуть" // Вызов действия смены положения player playAction "PlayerStand"; // Стоя player playAction "PlayerCrouch"; // Сидя player playAction "PlayerProne"; // Лежа
#11
OFFLINE
Отправлено 07 June 2019 - 21:55
vlad333000,Какие именно способы ? Я просто не сталкивался еще с багами в них.
#13
OFFLINE
Отправлено 08 June 2019 - 13:43
во-вторых, а что если были назначены не WASD? (У меня в друзьях даже есть человек, у которого это именно так). В таком случае нужно прибегнуть к способу:
Но в данном случае мы должны доверится игроку в том, что он не назначит на эти действия комбинации клавиш иначе придется немного попотеть с этой командой -(findDisplay 46) displayAddEventHandler ["KeyDown", { _key = _this select 1; ["MoveForward", "MoveBack", "MoveLeft", "MoveRight", "GetOver"] findIf {_key in (actionKeys _x)} >= 0 }];
PS Я пытался одно время реализовать скрипт "передач" с помощью этого, это был просто адд, и в итоге не получилось
#14
OFFLINE
Отправлено 08 June 2019 - 14:00
Но в данном случае мы должны доверится игроку в том, что он не назначит на эти действия комбинации клавиш иначе придется немного попотеть с этой командой - actionKeysNames
Судя по
, команда actionKeys нормально отработает, даже если действия назначены на комбинации клавиш:Returns Array containing dikCodes of keys, buttons and combos assigned to the given user action.
Неужели это не так?
#16
OFFLINE
#17
OFFLINE
Отправлено 08 June 2019 - 14:38
Сообщение отредактировал vlad333000: 08 June 2019 - 14:40
#18
OFFLINE
Отправлено 08 June 2019 - 19:45
kolyanya, так вам нужно отключить только передвижение или еще и смену положения тела игроком? Если первое, то убираете смену положения из моего кода и все прекрасно будет работать, если второе, то да проблему понял исправить можно, но где решение "запрета смены положения" в "решении вопроса"?
Ну да, смену положения это не решило, а ещё игрок сможет пользоваться перекатом.
#19
OFFLINE
#20
OFFLINE
Отправлено 08 June 2019 - 20:18