diff --git a/ReallifeGamemode.Client/Business/main.ts b/ReallifeGamemode.Client/Business/main.ts index 7ab1e803..53c6d0be 100644 --- a/ReallifeGamemode.Client/Business/main.ts +++ b/ReallifeGamemode.Client/Business/main.ts @@ -24,10 +24,11 @@ export default function business(globalData: IGlobalData) { var businessState: number; mp.events.add('SERVER:Business_ShowMenuHelp', (bizName, bizMoney) => { - mp.game.ui.setTextComponentFormat('STRING'); + /*mp.game.ui.setTextComponentFormat('STRING'); mp.game.ui.addTextComponentSubstringPlayerName('Drücke ~INPUT_CONTEXT~, um das Businessmenü zu öffnen'); mp.game.ui.displayHelpTextFromStringLabel(0, true, true, -1); - + */ + mp.events.call("renderHelpTextOnScreen", "~s~Drücke ~g~E~s~ um das ~b~Businessmenü ~s~zu öffnen") mp.keys.bind(0x45, false, keyPressHandler); keyBound = true; }); diff --git a/ReallifeGamemode.Client/Gui/cityhall.ts b/ReallifeGamemode.Client/Gui/cityhall.ts index 99b55676..eb15209c 100644 --- a/ReallifeGamemode.Client/Gui/cityhall.ts +++ b/ReallifeGamemode.Client/Gui/cityhall.ts @@ -18,10 +18,11 @@ export default function (globalData: IGlobalData) { var joblist: string[] = []; mp.events.add("SERVER:CityHall_ShowHelpText", (joblista) => { - mp.game.ui.setTextComponentFormat('STRING'); + /*mp.game.ui.setTextComponentFormat('STRING'); mp.game.ui.addTextComponentSubstringPlayerName('Drücke ~INPUT_CONTEXT~, um das Stadthallen-Menü zu öffnen'); mp.game.ui.displayHelpTextFromStringLabel(0, true, true, -1); - + */ + mp.events.call("renderHelpTextOnScreen", "~s~Drücke ~g~E~s~ um das ~b~Stadthallen-Menü ~s~zu öffnen") joblist = JSON.parse(joblista); if (!keyBound) { diff --git a/ReallifeGamemode.Client/Gui/helptext.ts b/ReallifeGamemode.Client/Gui/helptext.ts new file mode 100644 index 00000000..2bfdcb61 --- /dev/null +++ b/ReallifeGamemode.Client/Gui/helptext.ts @@ -0,0 +1,39 @@ +var renderedText = null; +var textTime = null; +var render = false; +var textString; +var stringLength = null; +var boxWidth; + +function ClearText() { + render = false; + clearInterval(textTime); + textTime = null; +} + +mp.events.add('render', () => { + if (render) { + + mp.game.graphics.drawRect(0.5, 0, boxWidth, 0.07, 0, 0, 0, 183); + renderedText = mp.game.graphics.drawText(textString, [0.5, 0], { + font: 4, + centre: true, + color: [255, 255, 255, 255], + scale: [0.5, 0.5], + outline: true + }); + } + +}); + +mp.events.add('renderHelpTextOnScreen', (msg) => { + if (textTime != null) { + clearInterval(textTime); + textTime = null; + } + textString = msg; + stringLength = textString.length; + boxWidth = stringLength * 0.004 + 0.002; + render = true; + textTime = setInterval(ClearText, 7000) +}); \ No newline at end of file diff --git a/ReallifeGamemode.Client/Gui/house.ts b/ReallifeGamemode.Client/Gui/house.ts index 85d19c9c..7c65dbe0 100644 --- a/ReallifeGamemode.Client/Gui/house.ts +++ b/ReallifeGamemode.Client/Gui/house.ts @@ -10,8 +10,8 @@ var houseState: number; game.events.add("SERVER:ShowHouseMenu", () => { - game.ui.setHelpText('Drücke ~INPUT_CONTEXT~, um das Hausmenü öffnen'); - + //game.ui.setHelpText('Drücke ~INPUT_CONTEXT~, um das Hausmenü öffnen'); + mp.events.call("renderHelpTextOnScreen", "~s~Drücke ~g~E~s~ um das ~b~Hausmenü ~s~öffnen"); game.events.bindKey(Key.E, false, keyPressHandler); }); diff --git a/ReallifeGamemode.Client/Gui/interiors.ts b/ReallifeGamemode.Client/Gui/interiors.ts index c65c9ef7..d4736eb0 100644 --- a/ReallifeGamemode.Client/Gui/interiors.ts +++ b/ReallifeGamemode.Client/Gui/interiors.ts @@ -3,6 +3,7 @@ import { Key } from "../game"; var interiorId = -1; var enterExit = undefined; +var helpText; game.events.add('SERVER:InteriorManager_ClearHelpText', () => { game.ui.clearHelpText(); @@ -12,8 +13,9 @@ game.events.add('SERVER:InteriorManager_ClearHelpText', () => { }); game.events.add('SERVER:InteriorManager_ShowHelpText', (interior, intId, entEx) => { - game.ui.setHelpText('Drücke ~INPUT_CONTEXT~, um ~b~' + interior + ' ~s~zu ' + (entEx === 0 ? 'betreten' : 'verlassen')); - + //game.ui.setHelpText('Drücke ~INPUT_CONTEXT~, um ~b~' + interior + ' ~s~zu ' + (entEx === 0 ? 'betreten' : 'verlassen')); + helpText = "~s~Drücke ~g~E~s~ um ~b~" + interior + " ~s~zu " + (entEx === 0 ? "betreten" : "verlassen"); + mp.events.call("renderHelpTextOnScreen", helpText) interiorId = intId; enterExit = entEx; diff --git a/ReallifeGamemode.Client/Gui/policedepartment.ts b/ReallifeGamemode.Client/Gui/policedepartment.ts index da3bc114..ec057c0f 100644 --- a/ReallifeGamemode.Client/Gui/policedepartment.ts +++ b/ReallifeGamemode.Client/Gui/policedepartment.ts @@ -22,8 +22,9 @@ menu.MenuClose.on(() => { }); game.events.add("SERVER:PoliceDepartment_EnterColShape", () => { - game.ui.setHelpText("Drücke ~INPUT_CONTEXT~, um das Menü des Polizeireviers zu öffnen"); - + //game.ui.setHelpText("Drücke ~INPUT_CONTEXT~, um das Menü des Polizeireviers zu öffnen"); + + mp.events.call("renderHelpTextOnScreen", "~s~Drücke ~g~E~s~ um das Menü des ~b~Polizeireviers ~s~zu öffnen") game.events.bindKey(Key.E, false, keyPressHandler); }); diff --git a/ReallifeGamemode.Client/Tuning/main.ts b/ReallifeGamemode.Client/Tuning/main.ts index 16d3e7f2..818fa65f 100644 --- a/ReallifeGamemode.Client/Tuning/main.ts +++ b/ReallifeGamemode.Client/Tuning/main.ts @@ -115,9 +115,11 @@ export default function tuning(globalData: IGlobalData) { var mainMenu: NativeUI.Menu; mp.events.add('showTuningInfo', () => { - mp.game.ui.setTextComponentFormat('STRING'); - mp.game.ui.addTextComponentSubstringPlayerName('Drücke ~INPUT_CONTEXT~, um dein Fahrzeug zu modifizieren'); - mp.game.ui.displayHelpTextFromStringLabel(0, true, true, -1); + //mp.game.ui.setTextComponentFormat('STRING'); + //mp.game.ui.addTextComponentSubstringPlayerName('Drücke ~INPUT_CONTEXT~, um dein Fahrzeug zu modifizieren'); + //mp.game.ui.displayHelpTextFromStringLabel(0, true, true, -1); + + mp.events.call("renderHelpTextOnScreen", "~s~Drücke ~g~E ~s~um dein Fahrzeug zu modifizieren") mp.keys.bind(0x45, false, keyPressHandler); keyBound = true; diff --git a/ReallifeGamemode.Client/index.ts b/ReallifeGamemode.Client/index.ts index d71e4335..98057cb6 100644 --- a/ReallifeGamemode.Client/index.ts +++ b/ReallifeGamemode.Client/index.ts @@ -250,6 +250,7 @@ import drivingschool from './Gui/drivingschool'; drivingschool(globalData); require('./Gui/policedepartment'); +require('./Gui/helptext'); interface VehicleData { EngineState: boolean; diff --git a/ReallifeGamemode.Client/util/drivingschool.ts b/ReallifeGamemode.Client/util/drivingschool.ts index fd92f3d1..ef5133f4 100644 --- a/ReallifeGamemode.Client/util/drivingschool.ts +++ b/ReallifeGamemode.Client/util/drivingschool.ts @@ -26,9 +26,12 @@ export default function drivingSchoolHandle(globalData: IGlobalData) { var kmh; mp.events.add('drivingSchoolMenu', () => { - mp.game.ui.setTextComponentFormat('STRING'); + /*mp.game.ui.setTextComponentFormat('STRING'); mp.game.ui.addTextComponentSubstringPlayerName('Drücke ~INPUT_CONTEXT~, um das Fahrschulmenü zu öffnen'); mp.game.ui.displayHelpTextFromStringLabel(0, true, true, -1); + */ + + mp.events.call("renderHelpTextOnScreen", "~s~Drücke ~g~E, ~s~um das ~b~Fahrschulmenü ~s~zu öffnen") mp.keys.bind(0x45, false, keyPressHandler); keyBound = true;