Skip to content

Instantly share code, notes, and snippets.

@SuelTheDev
Created November 27, 2022 15:30
Show Gist options
  • Save SuelTheDev/030786270e7fafdceceaa3fc07c50b63 to your computer and use it in GitHub Desktop.
Save SuelTheDev/030786270e7fafdceceaa3fc07c50b63 to your computer and use it in GitHub Desktop.
Cutscene de abertura estilo GTA:O para fiveM
local function IsMale(ped)
return GetEntityModel(ped) == `mp_m_freemode_01`
end
function StartWelcomeScene()
local p = promise.new()
Citizen.CreateThread(function()
PrepareMusicEvent("FM_INTRO_START") -- ``FM_INTRO_START``
TriggerMusicEvent("FM_INTRO_START") -- ``FM_INTRO_START``
local ped = PlayerPedId()
if IsMale(ped) then
RequestCutsceneWithPlaybackList("MP_INTRO_CONCAT", 31, 8)
else
RequestCutsceneWithPlaybackList("MP_INTRO_CONCAT", 103, 8)
end
while not HasCutsceneLoaded() do Wait(10) end
if IsMale(ped) then
RegisterEntityForCutscene(0, 'MP_Male_Character', 3, GetEntityModel(PlayerPedId()), 0)
RegisterEntityForCutscene(PlayerPedId(), 'MP_Male_Character', 0, 0, 0)
SetCutsceneEntityStreamingFlags('MP_Male_Character', 0, 1)
local female = RegisterEntityForCutscene(0,"MP_Female_Character",3,0,64)
NetworkSetEntityInvisibleToNetwork(female, true)
else
RegisterEntityForCutscene(0, 'MP_Female_Character', 3, GetEntityModel(PlayerPedId()), 0)
RegisterEntityForCutscene(PlayerPedId(), 'MP_Female_Character', 0, 0, 0)
SetCutsceneEntityStreamingFlags('MP_Female_Character', 0, 1)
local male = RegisterEntityForCutscene(0,"MP_Male_Character",3,0,64)
NetworkSetEntityInvisibleToNetwork(male, true)
end
for i = 1, 7 do
SetCutsceneEntityStreamingFlags("MP_Plane_Passenger_" .. i, 0, 1)
RegisterEntityForCutscene(0, 'MP_Plane_Passenger_' .. i, 3, `mp_f_freemode_01`, 0)
RegisterEntityForCutscene(0, 'MP_Plane_Passenger_' .. i, 3, `mp_m_freemode_01`, 0)
end
NewLoadSceneStartSphere(-1212.79, -1673.52, 7, 1000, 0)
StartCutscene(4)
Citizen.CreateThread(function()
while IsCutsceneActive() do
SetPlayerControl(PlayerId(), true, false)
Wait(0)
end
end)
DoScreenFadeIn(500)
Wait(27000)
PrepareMusicEvent("AC_STOP")
TriggerMusicEvent("AC_STOP")
Wait(3000)
DoScreenFadeOut(1000)
while not IsScreenFadedOut() do Wait(5) end
StopCutsceneImmediately()
RemoveCutscene()
Wait(100)
p:resolve(true)
end)
return p
end
--how to use it
--[[
call the function insize a Citizen.await(StartWelcomeScene())
--]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment