/** * @overview Life of German Reallife - Player Keys keys.js * @author VegaZ * @copyright (c) 2008 - 2018 Life of German */ //https://docs.microsoft.com/de-de/windows/desktop/inputdev/virtual-key-codes const player = mp.players.local; export default function keys(globalData: GlobalData) { var showInventory = false; var showGui = true; var showInv = false; //ENTER mp.keys.bind(0x0D, false, function () { if (globalData.InChat) { globalData.InChat = false; } }); //LEFT ARROW (Interaktion mit anderen Spielern) mp.keys.bind(0x25, false, function () { if (!globalData.InChat && !showInv && !globalData.InMenu) { mp.events.callRemote("keyPress:LEFT_ARROW"); } }); //UP ARROW (Interaktion mit Spielwelt) mp.keys.bind(0x26, false, function () { if (!globalData.InChat && !showInv && !globalData.InMenu) { mp.events.callRemote("keyPress:UP_ARROW"); } }); //RIGHT ARROW (Fraktionsinteraktion) mp.keys.bind(0x27, false, function () { if (!globalData.InChat && !showInv && !globalData.InMenu) { mp.events.callRemote("keyPress:RIGHT_ARROW"); } }); //DOWN ARROW (Eigeninteraktion) mp.keys.bind(0x28, false, function () { if (!globalData.InChat && !showInv && !globalData.InMenu && !globalData.InInput && !globalData.InTuning) { mp.events.callRemote("keyPress:DOWN_ARROW"); } }); //F7 //Unshowalles mp.keys.bind(0x76, false, function () { if (showGui === true) { showGui = false; mp.events.call("toggleUi", false); } else { showGui = true; mp.events.call("toggleUi", true); } }); //NUM2 //Save Blips in Edit Mode mp.keys.bind(0x62, false, function () { if (!globalData.InChat) { mp.events.callRemote("keyPress:NUM2"); } }); //NUM5 //Fraktionsinteraktion (Tasks sortieren) //mp.keys.bind(0x65, false, function () { // if (!globalData.InChat && globalData.Interaction) { // mp.events.call("sortFactionTasks", true); // } //}); //E mp.keys.bind(0x45, false, function () { if (!globalData.InChat && !globalData.InMenu) { mp.events.callRemote("keyPress:E"); } }); //I //Inventar mp.keys.bind(0x49, false, function () { if (!globalData.InChat && !globalData.InTuning && !globalData.InMenu) { if (showInv === false) { showInv = true; } else { showInv = false; } mp.events.callRemote("keyPress:I"); } }); //O //Spielerliste mp.keys.bind(0x4F, true, function () { if (!globalData.InChat && !globalData.InMenu && !globalData.InTuning && !showInv) { mp.events.callRemote("keyPress:O"); //mp.events.call("showPlayerlist"); } }); //K //Dienstkleidung mp.keys.bind(0x4B, false, function () { if (!globalData.InChat) { mp.events.callRemote("keyPress:K"); } }); //L //Türen auf / zuschließen mp.keys.bind(0x4C, false, function () { if (!globalData.InChat) { mp.events.callRemote("keyPress:L"); } }); //N //Motor Starten mp.keys.bind(0x4E, false, function () { if (!globalData.InChat) { if (!player.vehicle) return; if (player.vehicle.getSpeed() > 5) return; mp.events.callRemote("keyPress:N"); } }); //T mp.keys.bind(0x54, false, function () { if (!globalData.InChat) { globalData.InChat = true; } }); //X // Fahrzeug Verwaltung - Menü mp.keys.bind(0x58, false, function () { if (!globalData.InChat) { mp.events.callRemote("keyPress:X"); } }); //2 // Job Starten mp.keys.bind(0x4A, false, () => { if (!globalData.InChat && !globalData.InInput && !globalData.InMenu && globalData.LoggedIn) { mp.events.callRemote("CLIENT:JobManager_ShowJobMenu"); } }) }