you need to call the frontend_header scaleform function
"SET_HEADER_TITLE" with params title, subtitle, shiftUpHeader
also this
while true do
BeginScaleformMovieMethodOnFrontendHeader('SET_HEADING_DETAILS')
ScaleformMovieMethodAddParamTextureNameString('first line')
ScaleformMovieMethodAddParamTextureNameString('second line')
ScaleformMovieMethodAddParamTextureNameString('third line')
ScaleformMovieMethodAddParamBool(false)
EndScaleformMovieMethod()
Citizen.Wait(0)
end
you don’t need to call it every frame.. you can simply call this everytime the game is paused checking the native
local bool = IsPauseMenuActive()
or for a more aggressive check: GetPauseMenuState() != 0
so you won’t need to call the scaleform function “on tick” but only once when the pause menu is opened or once every 1000ms if you want to make it looped.
CreateThread(function()
Citizen.InvokeNative(GetHashKey("ADD_TEXT_ENTRY"),'FE_THDR_GTAO', 'TITLE')
Citizen.InvokeNative(GetHashKey("ADD_TEXT_ENTRY"),'PM_SCR_MAP', 'MAP')
Citizen.InvokeNative(GetHashKey("ADD_TEXT_ENTRY"),'PM_SCR_GAM', 'GAME')
Citizen.InvokeNative(GetHashKey("ADD_TEXT_ENTRY"),'PM_PANE_LEAVE', 'DISCONNECT')
Citizen.InvokeNative(GetHashKey("ADD_TEXT_ENTRY"),'PM_PANE_QUIT', 'QUIT')
Citizen.InvokeNative(GetHashKey("ADD_TEXT_ENTRY"),'PM_SCR_INF', 'INFO')
Citizen.InvokeNative(GetHashKey("ADD_TEXT_ENTRY"),'PM_SCR_STA', 'STATS')
Citizen.InvokeNative(GetHashKey("ADD_TEXT_ENTRY"),'PM_SCR_SET', 'SETTINGS')
Citizen.InvokeNative(GetHashKey("ADD_TEXT_ENTRY"),'PM_SCR_GAL', 'GALERY')
Citizen.InvokeNative(GetHashKey("ADD_TEXT_ENTRY"),'PM_SCR_RPL', 'ROCKSTAR EDITOR')
local timer = 500
while true do
Wait(timer)
if IsPauseMenuActive() then
BeginScaleformMovieMethodOnFrontendHeader('SET_HEADING_DETAILS')
ScaleformMovieMethodAddParamTextureNameString('first line')
ScaleformMovieMethodAddParamTextureNameString('second line')
ScaleformMovieMethodAddParamTextureNameString('third line')
ScaleformMovieMethodAddParamBool(false)
EndScaleformMovieMethod()
-- set the waiting timer to 1000 in pause menu
if timer == 500 then timer = 1000 end
end
-- reset the timer to half second for outside pause menu for a bit more reactivity in checking.
if timer == 1000 then timer = 500 end
end
end)
if you want to make your own pause menus customizable and fully controllable
Check ScaleformUI it allows you to make your own Pause Menus and Lobbies.