[ESX/QB] vms_guidebook | Tutorial, Multi-Books, Many Guides


BUY IT HERE: www.vames-store.com

Preview: HERE

Documentation: docs.vames-store.com


|572x32.25

:star: Features:

  • Compatible with ESX & QB-Core
  • Responsive UI
  • Multi-Books - you can create many books in different places so that players can learn something, e.g. about a given place, a given job or whatever you want, you don’t have to use it if you don’t want to, you can also apply it to only one book
  • Clickable functions - you can add clickable functions in the book which, when pressed, launches the lua function from Config.Actions, there you register the functions what they should do
  • You can give admins the ability to open books to players if, for example, they need it and you have keyboards there and the player wants to know something in such a way the admin can help the player
  • Full ability to edit page content
  • Full translation with config.lua.
  • Full support.

:gear: CONFIG

Config = {}


-- If you want to open for the player Guide Book on start game (when player registered character) 
-- Client Trigger: TriggerEvent("vms_guidebook:openGuideBook", "Book_ID")
-- Export: exports['vms_guidebook']:openBook("Book_ID")
-- Whats the Book_ID -> pages.js :2, :57 (thats id of books)


-- █▀ █▀▄ ▄▀▄ █▄ ▄█ ██▀ █   █ ▄▀▄ █▀▄ █▄▀
-- █▀ █▀▄ █▀█ █ ▀ █ █▄▄ ▀▄▀▄▀ ▀▄▀ █▀▄ █ █
Config.Core = "ESX" -- "ESX" / "QB-Core"
Config.CoreExport = function()
    return exports['es_extended']:getSharedObject()
    -- return exports['qb-core']:GetCoreObject()
end

Config.Interact = {
    Enabled = false,
    Open = function(message)
        exports["interact"]:Open("E", message) -- Here you can use your TextUI or use my free one - https://github.com/vames-dev/interact
        -- exports['qb-core']:DrawText(message, 'right')
    end,
    Close = function()
        exports["interact"]:Close() -- Here you can use your TextUI or use my free one - https://github.com/vames-dev/interact
        -- exports['qb-core']:HideText()
    end,
}


-- ▀█▀ █▀▄ ▄▀▄ █▄ █ ▄▀▀ █   ▄▀▄ ▀█▀ ██▀
--  █  █▀▄ █▀█ █ ▀█ ▄██ █▄▄ █▀█  █  █▄▄
Config.Translate = {
    ['open_menu'] = "Press ~INPUT_CONTEXT~ to open the %s",
    ['admincmd.help'] = 'Open Book For Player',
    ['admincmd.arg_player'] = 'Here Enter Player ID',
    ['admincmd.arg_bookid'] = 'Here Enter Book ID',
}


-- █▄ ▄█ ▄▀▄ █ █▄ █   ▄▀▀ ██▀ ▀█▀ ▀█▀ █ █▄ █ ▄▀  ▄▀▀
-- █ ▀ █ █▀█ █ █ ▀█   ▄██ █▄▄  █   █  █ █ ▀█ ▀▄█ ▄██
Config.DefaultGuideBookId = 'default' -- pages.js :2 (thats id of book)

Config.Command = 'guidebook' -- if you dont want access to book with command set it ''
Config.CommandDescription = 'Guide Book'
Config.OpenKey = 'J' -- if you dont want access to book with key bind set it ''


Config.AdminOpenBookCommand = 'openbook' -- if you dont want admins access to open book for player set it ''
Config.AdminOpenBookRank = 'admin'

Config.UseSoundsUI = true -- Do you want to use page turning sounds?
Config.EnableBlur = true -- Do you want to blur the background in the game when you have book opened?


Config.Actions = { -- Here you adding the clickable functions in the book
    [1] = function() -- Here ID 1 == in JS useAction(1)
        SetEntityCoords(PlayerPedId(), vector3(414.3, -978.43, 28.45))
        SetEntityHeading(PlayerPedId(), 266.26)
        closeBook()
    end,
}

Config.AccessOnMarker = true -- Do you want to use access to the books as E in marker?

Config.BooksPositions = { -- it works if you have Config.AccessOnMarker = true
    {
        bookId = 'default',
        name = 'Guide Book',
        coords = vector3(-262.35, -976.97, 31.22),
        marker = {
            id = 2, -- https://docs.fivem.net/docs/game-references/markers/
            color = {101, 185, 231, 120}, -- R(ed), G(reen), B(lue), A(lpha)
            scale = vec(0.25, 0.25, 0.25),
            bobUpAndDown = true, -- jumping marker
            rotate = true -- rotating marker
        },
        blip = { -- https://docs.fivem.net/docs/game-references/blips/
            enabled = true,
            sprite = 525,
            display = 4,
            scale = 0.8,
            color = 67,
            name = "Guide Book"
        }
    },
    {
        bookId = 'police',
        name = 'Police Book',
        coords = vector3(441.03, -981.11, 30.69),
        marker = {
            id = 2, -- https://docs.fivem.net/docs/game-references/markers/
            color = {101, 185, 231, 120}, -- R(ed), G(reen), B(lue), A(lpha)
            scale = vec(0.25, 0.25, 0.25),
            bobUpAndDown = true, -- jumping marker
            rotate = true -- rotating marker
        },
        blip = { -- https://docs.fivem.net/docs/game-references/blips/
            enabled = false,
            sprite = 525,
            display = 4,
            scale = 0.8,
            color = 67,
            name = "Police Book"
        }
    },
}

> > > > > > You can check my others scripts < < < < < <
:oncoming_automobile: vms_driveschoolv2
:coin: vms_coinshop
:tshirt: vms_clothestore
:disguised_face: vms_charcreator
:busts_in_silhouette: vms_multichars + vms_identity
:dagger: vms_gangmissions
:racing_car: vms_vehicleshop
:dancer: vms_anims
:black_nib: vms_tattooshop
:blonde_man: vms_barber
:world_map: vms_pausemenu
:parachute: vms_skydiving
:checkered_flag: vms_races
:oncoming_automobile: vms_drivingschool
:speedboat: vms_boatschool
:flight_departure: vms_flyingschool
:moneybag: vms_bank
:thought_balloon: vms_notify
:shopping_cart: vms_shops
:keyboard: vms_redeem
:blue_car: vms_garage
:speech_balloon: vms_npctalk
:gun: vms_weaponshop
:credit_card: vms_documents
:handshake: vms_jobcenter
:free: interact
:free: esx_menus

Code is accessible No
Subscription-based No
Lines (approximately) +/- Lua 200
Requirements ESX / QB-Core
Support Yes
6 Likes

outstanding wow

2 Likes

wooow nice work broo

1 Like