while {true} do {
if !(side player == civilian) exitwith {};
if (side player == west) exitwith {};
if (side player == civilian) then
{
waituntil {time > 1};
/// функция вызываемая при нажатии клавиш
keyspressed = {
private["_key","_exit"];
_key = _this select 1;
/// переменная может понадобиться для работы функции
//_exit = false;
/// R
if (_key == 19) then {
/// ближний бой (R)
if (time - lasttime < 3) exitWith {}; /// задержка на нажатие
lasttime = time;
_soundPath = [(str missionConfigFile), 0, -15] call BIS_fnc_trimString;
_soundToPlay = _soundPath + "Sound\ydar.ogg";
playSound3D [_soundToPlay, player];
if (isServer) then {
_pul9= createVehicle ["B_127x99_Ball_Tracer_Yellow", getPos player, [], 0, "none"];
_pul9 setpos [getpos _pul9 select 0, getpos _pul9 select 1, (getpos _pul9 select 2) + 1.8];
_pul9 setvelocity [sin(getdir player)*500,cos(getdir player)*500, -30];
};
};
/// B
if (_key == 48) then {
/// прыжки
if (time - lasttime < 3) exitWith {}; /// задержка на нажатие
lasttime = time;
player setvelocity [sin(getdir player)*5,cos(getdir player)*5, 10];
_soundPath = [(str missionConfigFile), 0, -15] call BIS_fnc_trimString;
_soundToPlay = _soundPath + "Sound\prig.ogg";
playSound3D [_soundToPlay, player];
};
/// N
if (_key == 49) then {
/// стабилизация и атака
if (time - lasttime < 1) exitWith {}; /// задержка на нажатие
lasttime = time;
player setvelocity [sin(getdir player)*0,cos(getdir player)*0, 3];
if (isServer) then {
_pul9= createVehicle ["B_127x99_Ball_Tracer_Yellow", getPos player, [], 0, "none"];
_pul9 setvelocity [sin(getdir player)*500,cos(getdir player)*500, -80];
};
_soundPath = [(str missionConfigFile), 0, -15] call BIS_fnc_trimString;
_soundToPlay = _soundPath + "Sound\ydar.ogg";
playSound3D [_soundToPlay, player];
};
/// L
if (_key == 38) then {
/// крик
if (time - lasttime < 5) exitWith {}; /// задержка на нажатие
lasttime = time;
_soundPath = [(str missionConfigFile), 0, -15] call BIS_fnc_trimString;
_soundToPlay = _soundPath + "Sound\krikHUNT.ogg";
playSound3D [_soundToPlay, player];
};
/// P
if (_key == 25) then {
/// создать отвлекающий шар и пугающий звук
if (time - lasttime < 5) exitWith {}; /// задержка на нажатие
lasttime = time;
if (isServer) then {
_pul9= createVehicle ["CMflare_Chaff_Ammo", getPos player, [], 0, "none"];
_pul9 setpos [getpos _pul9 select 0, getpos _pul9 select 1, (getpos _pul9 select 2) + 3];
};
_soundPath = [(str missionConfigFile), 0, -15] call BIS_fnc_trimString;
_soundToPlay = _soundPath + "Sound\strax.ogg";
playSound3D [_soundToPlay, player];
};
/// T
if (_key == 20) then {
/// создать копию
if (time - lasttime < 30) exitWith {}; /// задержка на нажатие
lasttime = time;
if (side player== west) exitwith {};
if (isServer) then {
_side = createCenter civilian;
_groupThing = createGroup civilian;
_manThing = _groupThing createUnit ["C_scientist_F", [0, 0, 0], [], 0, "NONE"];
_manThing setpos getPos player;
dostop _manThing;
_manThing setunitpos "up";
};
};
};
/// создаём дисплей нажатия клавиатуры с ярлыком - EH_keyDown
EH_keyDown = (findDisplay 46) displayAddEventHandler ["keyDown", "_this call keyspressed"];
};
if !(side player == civilian) exitwith {
(findDisplay 46) displayRemoveAllEventHandlers "KeyDown";
(findDisplay 46) displayRemoveEventHandler ["MouseButtonDown", EH_keyDown];
};
if (side player == west) exitwith {
(findDisplay 46) displayRemoveAllEventHandlers "KeyDown";
(findDisplay 46) displayRemoveEventHandler ["MouseButtonDown", EH_keyDown];
};
sleep 0.5
};