Jump to content


Photo

Повторное нажатие кнопки


  • Please log in to reply
3 replies to this topic

#1 OFFLINE   pomio

pomio

    Рядовой

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

Posted 12 September 2022 - 23:33

 

case 76: { // Num5 - Открыть технику в которой сидишь
 
 
vehicle player lock false;
 
};
 
case 77: { // Num6 - Закрыть технику в которой сидишь
 
 
vehicle player lock true;
 
};

 

 

 

 
 
Как сделать так что бы при первом нажатии на кнопку Num5 выполнялась команда:
 
vehicle player lock false;
 

А при повторном нажатии на Num5:

 

vehicle player lock true;
 
и таким образом чередовать их выполнение убрав из уравнения кнопку Num6, что бы на её место назначить что то другое.

Edited by pomio, 12 September 2022 - 23:44.

  • 0

#2 OFFLINE   Schatten

Schatten

    Капитан

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

Posted 13 September 2022 - 00:52

pomio ,

_vehicle = vehicle player;

_vehicle lock ((locked _vehicle) != 2);

  • 1

#3 OFFLINE   pomio

pomio

    Рядовой

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

Posted 13 September 2022 - 13:38

Спасибо, с этим понятно

 

pomio ,

_vehicle = vehicle player;

_vehicle lock ((locked _vehicle) != 2);

 

А как, например, если нужно установить значение здоровья

 

нажал кнопку, выполнилась команда:

 

player setdamage 0.63;

 

ещё раз нажал:

 

player setdamage 0.73;

 

и так по кругу.

 

 

Или чередовать создание рюкзака

 

player addBackpack "d3s_backpack_a";

 

player addBackpack "d3s_backpack_b";

 

 

Есть ли какая то универсальная команда между этими значениями для их смены?

Я вообще думал что будет что то по типу:

 

vehicle player lock false;
 

!= 2

 

vehicle player lock true;
 
!= 2
 
 
Или вот:
 
case 200: { // Стрелка вверх - Неуязвимая техника ON
 
(vehicle player) allowDamage false;
 
};
 
case 208: { // Стрелка вниз - Неуязвимая техника OFF
 
(vehicle player) allowDamage true;
 
};
 
Сделать так что бы значение менялось по повторному нажатию на одну кнопку.

 

Ну, то есть, я имею введу что бы по примеру выполнения действий на примере смены положения тела при нажатии кнопки X, или смены режима огня на кнопке F.


Edited by pomio, 13 September 2022 - 13:52.

  • 0

#4 OFFLINE   Schatten

Schatten

    Капитан

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

Posted 13 September 2022 - 14:23

А как, например, если нужно установить значение здоровья
нажал кнопку, выполнилась команда:
player setdamage 0.63;
ещё раз нажал:
player setdamage 0.73;
и так по кругу.

if (alive player) then {
    _damage = (damage player) + 0.2;

    player setDamage ([1, _damage] select (_damage <= 1));
};

Или чередовать создание рюкзака
player addBackpack "d3s_backpack_a";
player addBackpack "d3s_backpack_b";

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

Есть ли какая то универсальная команда между этими значениями для их смены?

Нету.
 

Или вот:
case 200: { // Стрелка вверх - Неуязвимая техника ON
(vehicle player) allowDamage false;
};
case 208: { // Стрелка вниз - Неуязвимая техника OFF
(vehicle player) allowDamage true;
};
Сделать так что бы значение менялось по повторному нажатию на одну кнопку.

_vehicle = vehicle player;

_vehicle allowDamage !(isDamageAllowed _vehicle);

Спасибо, с этим понятно

Если бы было понятно, то не было бы, например, вопроса про чередование разрешения/запрещения повреждения машины игрока.


Edited by Schatten, 13 September 2022 - 16:40.

  • 1




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