From 7785a618044e7dbc6cf8c1fbe0b900a9cbf2a296 Mon Sep 17 00:00:00 2001 From: Vortrex <3858226+VortrexFTW@users.noreply.github.com> Date: Tue, 30 Mar 2021 21:43:57 -0500 Subject: [PATCH] Add CS messaging script --- scripts/client/messaging.js | 80 +++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 scripts/client/messaging.js diff --git a/scripts/client/messaging.js b/scripts/client/messaging.js new file mode 100644 index 00000000..ebc9ee3e --- /dev/null +++ b/scripts/client/messaging.js @@ -0,0 +1,80 @@ +// =========================================================================== +// Asshat-Gaming Roleplay +// https://github.com/VortrexFTW/gtac_asshat_rp +// Copyright (c) 2021 Asshat-Gaming (https://asshatgaming.com) +// =========================================================================== +// FILE: messaging.js +// DESC: Provides messaging/textdraw functions and usage +// TYPE: Client (JavaScript) +// =========================================================================== + +let smallGameMessageFont = null; +let smallGameMessageText = ""; +let smallGameMessageColour = COLOUR_WHITE; +let smallGameMessageTimer = null; + +// =========================================================================== + +function initMessagingScript() { + logToConsole(LOG_DEBUG, "[Asshat.Messaging]: Initializing messaging script ..."); + smallGameMessageFont = loadSmallGameMessageFont(); + logToConsole(LOG_DEBUG, "[Asshat.Messaging]: Messaging script initialized!"); +} + +// =========================================================================== + +function loadSmallGameMessageFont() { + let tempSmallGameMessageFont = null; + let fontStream = openFile("files/fonts/pricedown.ttf"); + if(fontStream != null) { + tempSmallGameMessageFont = lucasFont.createFont(fontStream, 20.0); + fontStream.close(); + } + + return tempSmallGameMessageFont; +} + +// =========================================================================== + +function loadBigGameMessageFont() { + let tempBigGameMessageFont = null; + let fontStream = openFile("files/fonts/pricedown.ttf"); + if(fontStream != null) { + tempBigGameMessageFont = lucasFont.createFont(fontStream, 28.0); + fontStream.close(); + } + + return tempBigGameMessageFont; +} + +// =========================================================================== + +function processSmallGameMessageRendering() { + if(renderSmallGameMessage) { + if(smallGameMessageFont != null) { + if(smallGameMessageFont != "") { + smallGameMessageFont.render(smallGameMessageText, [0, gta.height-50], gta.width, 0.5, 0.0, smallGameMessageFont.size, smallGameMessageColour, true, true, false, true); + } + } + } +} + +// =========================================================================== + +function showSmallGameMessage(text, colour, duration) { + logToConsole(LOG_DEBUG, `[Asshat.Messaging] Showing small game message '${text}' for ${duration}ms`); + if(smallGameMessageText != "") { + clearTimeout(smallGameMessageTimer); + } + + smallGameMessageColour = colour; + smallGameMessageText = text; + + smallGameMessageTimer = setTimeout(function() { + smallGameMessageText = ""; + smallGameMessageColour = COLOUR_WHITE; + smallGameMessageTimer = null; + }, duration); +} + +// =========================================================================== \ No newline at end of file