๐Ÿ”งInstallation

Installation for QBCore

Step 1

Go to resources folder and put into that folder the resource

Step 2

Then go to server.cfg and put ensure origen_notify

Step 3 (Client Side)

If you want to change the Notifications for your server. In your script qb-core/client/functions.lua search for the existing Notify function. It might look something like: function QBCore.Functions.Notify(...)

When you find this section in your file, remplace this code for this code:

function QBCore.Functions.Notify(text, texttype, length) 
    exports["origen_notify"]:ShowNotification(text) 
end

Step 4 (Server Side)

Now we will proceed to replace the notifications on the server side, for this we will go to qb-core/server/functions.lua. We will look for the function QBCore.Functions.Notify(...). and we will replace it with the following code:

function QBCore.Functions.Notify(source, text, texttype, length) 
    exports["origen_notify"]:ShowNotification(source, text) 
end

Step 5 (Change the DrawText)

  1. Locate the file: In your script, qb-core/client/drawtext.lua:

  2. Replace the code with this file:

local buffer = {}

local function hideText()
    for k, v in pairs(buffer) do
        exports['origen_notify']:RemoveHelp(v)
        buffer[k] = nil
    end
end

local function drawText(text)
    if buffer[text] then return end
    local key = ""
    local formattedText = text or ""

      if string.find(formattedText, "%[.-%]") then
          key, formattedText = string.match(formattedText, "%[(.)%](.+)"), text:gsub("%[.-%]", "")
      end

      if string.find(formattedText, "%~.-%~") then
          key, formattedText = string.match(formattedText, "~(.-)~"), text:gsub("~(.-)~", "")
          if key == "INPUT_ENTER" then
              key = "F"
          else
              key = "E"
          end
      end
      if key == "" then key = "E" end
    buffer[text] = exports['origen_notify']:CreateHelp(key, formattedText or text)
end

local function changeText(text, position)
    if type(position) ~= 'string' then position = 'left' end

    SendNUIMessage({
        action = 'CHANGE_TEXT',
        data = {
            text = text,
            position = position
        }
    })
end

local function keyPressed()
    CreateThread(function() -- Not sure if a thread is needed but why not eh?
        SendNUIMessage({
            action = 'KEY_PRESSED',
        })
        Wait(500)
        hideText()
    end)
end

RegisterNetEvent('qb-core:client:DrawText', function(text, position)
    drawText(text, position)
end)

RegisterNetEvent('qb-core:client:ChangeText', function(text, position)
    changeText(text, position)
end)

RegisterNetEvent('qb-core:client:HideText', function()
    hideText()
end)

RegisterNetEvent('qb-core:client:KeyPressed', function()
    keyPressed()
end)

exports('DrawText', drawText)
exports('ChangeText', changeText)
exports('HideText', hideText)
exports('KeyPressed', keyPressed)

Step 6

Enjoy!! ๐Ÿ˜„

Last updated