|
|
Модератор форума: GUNNER161, Panikaha |
Форум РЕДАКТОР - ArmA 3 Скрипты Как в Арме 3 сделать так чтобы скрипт сработал когда я нажим (Как в Арме 3 сделать так чтобы скрипт сработал когда я нажим) |
Как в Арме 3 сделать так чтобы скрипт сработал когда я нажим |
› Суббота
› 04.04.2020
› 17:27
› Сообщение #
Как в Арме 3 сделать так чтобы скрипт сработал когда я нажимаю клавишу на клавиатуре?
|
› Суббота
› 04.04.2020
› 19:01
› Сообщение #
в файле init.sqf вставь строку
sleep 3; EHId_ = findDisplay 46 displayAddEventHandler ["KeyDown", {hint str _this}]; Это запустит обработчик событий "KeyDown" (нажатия клавиши) после этого при Каждом нажатии клавиши будет запускаться скрипт в {скобках} инфа https://community.bistudio.com/wiki/displayAddEventHandler |
› Понедельник
› 05.04.2021
› 01:01
› Сообщение #
Вот мой готовый код. Правда он под ArGO (но это та же Арма 3, просто без инвентаря и 3-го лица. Тут как раз я их и вернул.
Из примечаний, если case XXXX: { // code true } закончить true, то оригинальная кнопка армы не будет обрабатываться, а если не указывать true (именно так, без то вы получите двойное нажатие (т.е. обработается ваш код и код армы на эту кнопку). Код viewMode = FALSE; adsClick = FALSE; bShowKeyCode = FALSE; MouseKey = { Private ["_MKeyCode"]; _MKeyCode = _this select 1; //systemChat format ["_MKeyCode = %1 / %2 ::: %3", str _MKeyCode, str viewMode, (cameraView)]; switch (_MKeyCode) do { case 1: { if ((viewMode)and(!(adsClick))) then { adsClick = TRUE; if (!(isNil "vis3D")) then { removeMissionEventHandler ["EachFrame", vis3D]; vis3D = nil; }; } else { if ((viewMode)and(adsClick)) then { vis3D = addMissionEventHandler ["EachFrame", { player switchCamera "EXTERNAL" }]; }; adsClick = FALSE; }; }; default {}; }; }; PressKey = { Private ["_KeyCode"]; _KeyCode = _this select 1; if (bShowKeyCode) then { systemChat format ["KeyCode ::: `%1`", str _KeyCode]; }; switch (_KeyCode) do { case 0x9C: { viewMode = !viewMode; if(( isNil "vis3D") and (viewMode) and (!(adsClick))) then { vis3D = addMissionEventHandler ["EachFrame", { player switchCamera "EXTERNAL" }]; } else { if (!(isNil "vis3D")) then { removeMissionEventHandler ["EachFrame", vis3D]; vis3D = nil; }; }; }; case 15:{ if(isNull findDisplay 602) then { _loot = createVehicle["WeaponHolderSimulated", player , [], 0, "can_collide"]; player action ['Gear', _loot]; }; true }; case 63: { // F5 systemChat format ["`%1` : `%2`", (typeOf cursorObject),(getModelInfo cursorObject)]; true }; case 65: { // F7 screenshot "current.png"; true }; default {}; }; }; while {alive player} do { waituntil {!isNull finddisplay 46}; (finddisplay 46) displaySetEventHandler ["KeyDown", "_this call PressKey"]; (finddisplay 46) displaySetEventHandler ["MouseButtonDown","_this call MouseKey"]; waituntil {isNull finddisplay 46}; sleep .01; }; Добавлено (05.04.2021, 01:02)
Главное не война! Главное маневры!
|
› Пятница
› 24.11.2023
› 20:40
› Сообщение #
|
| |||
| |||
Чат сайта |