This is a script for helping work with GTA 5’s dialogue/scripted conversation system
This resource does nothing on its own

It is intended to be used with other resources, like heist missions or what have you.

GitHub:

Download the latest build in Releases · Lucas7yoshi/DialogueController · GitHub

There is a difference between Debug and Release builds.
Debug comes with /dialoguenormal and /dialoguerandomized commands that let you play voice lines easily for testing and will print a large amount of information in F8. The release build does not have these commands and only logs errors.

Example usage:

    -- Lua requires for it to be json encoded, json.encode is included in the lua runtime.
	-- This is due to Lua -> C# issues. 
	local dialogue = {
        gxt = "imblzau", -- GXT name
        line = "IMBLZ_FIRSTF", -- Line name without 1A lines and such
        speakers = {
            ["2"] = "EXECPA_FEMALE", -- Speakers, required, based on SL. needs to be accurate
        },
        peds = nil,
        --[[peds = {
            ["2"] = PlayerPedId(), -- You can provide the ped to play this on (for facial anims), otherwise it'll generate invisible unnetworked peds attached to the player
        },]]
        forcePedsVisible = false, -- used for debugging purposes only, optional
        phoneCall = false, -- optional, disables fading out with distance
        forceRadio = false, -- optional, enables radio filter
    }
    exports['DialogueController']:startDialogueJson(json.encode(dialogue))

For more information (I.E for finding voice lines) see the README in the github repository, if you have questions feel free to ask.



Looking for paid scripts? Click here