Server Introduction Script

Introduction

Provide players with tour guides for important locations.


Features:

  • Smooth camera transitions between configured locations.
  • Transition effects feature a black screen for enhanced visual quality.
  • Export to use in other resources.
  • Create multiple intro tours, for example, when introducing different jobs.
  • Typing animation of the notification.
  • Implement triggers or exports in the cl_edit.lua file that activate as soon as the intro begins and/or ends.

Configurable Elements in CONFIG.LUA:

  • Add, edit, or remove tours and locations.
  • Translate notifications for each location in your preferred language.
  • Set the last spawn location of each tour.
  • Define the time spent at each location.
  • Change the color and position of notifications for better visibility.
  • Adjust the size of the titel and main text of the notification to your liking.
  • Choose between typing animation or simply displaying the whole sentence at once.
🔎 config.lua
Config = {}

Config.IntroCommandEnabled = false -- Change to true to enable the test command
Config.EnableTypingAnimation = true -- Set to false to display text at once
Config.EnableBlackBars = true -- Set to false to disable black borders
Config.Notification = {
    height = { y = 0.6 }, -- Change for height positioning
    titleScale = { x = 0.8, y = 0.8 }, -- Controls scaling of the title
    mainTextScale = { x = 0.6, y = 0.6 }, -- Controls scaling of the main text
    color = { r = 255, g = 255, b = 255, a = 255 }, -- RGBA values for text color and transparency
    notificationType = "dotlua", -- Change to "gta5" for GTA V style subtitles notifications
}
Config.Intros = {
    [1] = { -- Unique intro ID
        locations = {
            { 
                coords = vector4(217.62, -1425.4, 34.43, 342.88), -- Location of the camera
                lookAt = vector3(226.89, -1395.3, 31.36), -- Location the camera will look at
                title = "~b~Los Santos Driving School~w~", -- Title for the notification
                text = "Here you can obtain your driver's license for various vehicle types.", -- Notification text
                pedLocation = vector3(247.4, -1368.33, 29.65), -- Location of the player ped
                duration = 8000 -- Duration of the notification in milliseconds (also increases the time spend at this location)
            },
            {
                coords = vector4(-75.62, -1121.43, 33.39, 300.04),
                lookAt = vector3(-47.9, -1105.45, 27.15),
                title = "~y~Premium Deluxe Motorsport~w~",
                text = "Go for a test drive and purchase a new personal vehicle.",
                pedLocation = vector3(-29.16, -1074.67, 27.29),
                duration = 8000
            },
        },
        endTitle = "~r~This was intro tour 1~w~", -- Title for the end notification
        endMessage = "You can now set multiple tours!", -- End notification text
        endLocation = vector4(-1037.13, -2733.46, 13.76, 10.2) -- End location (last location player will be send to)
    },
    [2] = {
        locations = {
            { 
                coords = vector4(-532.79, -244.42, 49.37, 12.72), 
                lookAt = vector3(-544.79, -204.63, 38.22),
                title = "~o~City Hall~w~",
                text = "This is the City Hall. Here you can get a new job or ID card.",
                pedLocation = vector3(-543.29, -197.46, 52.2),
                duration = 8000
            },
            {
                coords = vector4(-1520.89, -414.42, 36.11, 31.6),
                lookAt = vector3(-1528.22, -402.49, 35.32),
                title = "~p~DigitalDen~w~",
                text = "At DigitalDen, you'll find the latest smartphones and communication equipment.",
                pedLocation = vector3(-1542.99, -386.71, 42.6),
                duration = 8000
            },
        },
        endTitle = "~g~Thanks for watching!~w~", -- End title
        endMessage = "Download for free at dotlua-studio.tebex.io",
        endLocation = vector4(155.4, -1032.77, 29.34, 340.38)
    },
    -- Add more intro tours here with a unique ID
}
🔎 cl_edit.lua
AddEventHandler('dsr-introduction:triggerClientEvents', function()
    -- Triggered when the intro starts
    -- Here, implement whatever custom logic for client-side events you need
    -- TriggerEvent('custom_hud:Hide', true) -- For example, the custom HUD will be hidden when the intro starts
    DisplayRadar(false) -- Radar is now disabled during the intro
end)

AddEventHandler('dsr-introduction:endIntro', function()
    -- Triggered when the intro ends
    -- Here, implement whatever custom logic needs to run at the end of the intro
    -- TriggerEvent('custom_hud:Hide', false) -- For example, showing the custom HUD again
    DisplayRadar(true) -- Radar is now enabled again
end)

Note:

  • dsr-introduction is designed as a standalone resource developed by Dotlua Studio.
  • This script enriches the gameplay experience by providing new players with a tour-guide to show the most important places.
  • If you need support, feel free to join my Discord server and create a ticket. I’m here to help!
  • This script is escrow protected, ensuring that the code remains secure and only accessible through the intended channels.

Preview:

🎬 Preview video


:shopping_cart: DOWNLOAD FOR FREE

Code is accessible No
Subscription-based No
Lines (approximately) 200
Requirements N/A
Support Yes
6 Likes

Why do you have to make it escrow… If your going to release it for free, just pop it on Github or make it downloadable from here.

It is not my goal to make money with this script. But this way, the time i put into it is still worth something.

1 Like

loved!!! thats useful

1 Like

(post deleted by author)

Distribution

Any resource, free or paid, must be immediately available.
For free resources, this means you must include a either a link to a public git repository, or upload it directly on the forums, or link to a free Tebex package if you want to distribute it through our Asset Escrow.
For paid resources, you must only use Tebex with our asset delivery system.

Feel free to tell me if i’m wrong. But the post must be checked first before it can/may appear on this platform. Since it has been approved, i assume that the guidelines have been correctly followed.

1 Like

From the same page you linked:

While nice, there already are free/unescrowed tutorials with a bit more functionality than this like: Basic Server Tutorial - [Standalone]

It would be good to see something more in-depth with this if it’s escrowed, as people can’t work with it.

Very nice that there are other scripts that provide a tour. But is it necessary to post them here? If you don’t find my script worthwhile, feel free to scroll past or create your own script. I’m still working on this script and will be updating it with more options, etc.

Not necessary, but it’s the free market, competition is good for the customer, and I’m the customer.

It is indeed a free market. I have therefore chosen to make this script escrow protected.

You are certainly right that there should be a bit more depth to it since it is escrow, but as i mentioned earlier, i am still working on the script.

1 Like

UPDATE

ADDED FEATURES:

  • Create multiple intro tours, for example, when introducing different jobs.
  • Typing animation of the notification.
  • Implement triggers or exports in the cl_edit.lua file that activate as soon as the intro begins and/or ends.
  • Set a title for each notification.

ADDED IN CONFIG.LUA:

  • Adjust the size of the titel and main text of the notification to your liking.
  • Choose between typing animation or simply displaying the whole sentence at once.