Implemented experimental Scaleform API

This commit is contained in:
ElPumpo
2018-07-15 13:38:46 +02:00
parent 2dfff894e5
commit 50c5deff5f
3 changed files with 98 additions and 0 deletions
+2
View File
@@ -47,6 +47,8 @@ client_scripts {
'client/wrapper.lua',
'client/main.lua',
'client/modules/scaleform.lua',
'shared/functions.lua'
}
+3
View File
@@ -15,6 +15,9 @@ ESX.UI.Menu.Opened = {}
ESX.Game = {}
ESX.Game.Utils = {}
ESX.Scaleform = {}
ESX.Scaleform.Utils = {}
ESX.GetConfig = function()
return Config
end
+93
View File
@@ -0,0 +1,93 @@
ESX.Scaleform.ShowFreemodeMessage = function(title, msg, sec)
local scaleform = ESX.Scaleform.Utils.RequestScaleformMovie('MP_BIG_MESSAGE_FREEMODE')
PushScaleformMovieFunction(scaleform, 'SHOW_SHARD_WASTED_MP_MESSAGE')
PushScaleformMovieFunctionParameterString(title)
PushScaleformMovieFunctionParameterString(msg)
PopScaleformMovieFunctionVoid()
while sec > 0 do
Citizen.Wait(1)
sec = sec - 0.01
DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255)
end
SetScaleformMovieAsNoLongerNeeded(scaleform)
end
ESX.Scaleform.ShowBreakingNews = function(title, msg, bottom, sec)
local scaleform = ESX.Scaleform.Utils.RequestScaleformMovie('BREAKING_NEWS')
PushScaleformMovieFunction(scaleform, 'SET_TEXT')
PushScaleformMovieFunctionParameterString(msg)
PushScaleformMovieFunctionParameterString(bottom)
PopScaleformMovieFunctionVoid()
PushScaleformMovieFunction(scaleform, 'SET_SCROLL_TEXT')
PushScaleformMovieFunctionParameterInt(0) -- top ticker
PushScaleformMovieFunctionParameterInt(0) -- Since this is the first string, start at 0
PushScaleformMovieFunctionParameterString(title)
PopScaleformMovieFunctionVoid()
PushScaleformMovieFunction(scaleform, 'DISPLAY_SCROLL_TEXT')
PushScaleformMovieFunctionParameterInt(0) -- Top ticker
PushScaleformMovieFunctionParameterInt(0) -- Index of string
PopScaleformMovieFunctionVoid()
while sec > 0 do
Citizen.Wait(1)
sec = sec - 0.01
DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255)
end
SetScaleformMovieAsNoLongerNeeded(scaleform)
end
ESX.Scaleform.ShowPopupWarning = function(title, msg, bottom, sec)
local scaleform = ESX.Scaleform.Utils.RequestScaleformMovie('POPUP_WARNING')
PushScaleformMovieFunction(scaleform, 'SHOW_POPUP_WARNING')
PushScaleformMovieFunctionParameterFloat(500.0) -- black background
PushScaleformMovieFunctionParameterString(title)
PushScaleformMovieFunctionParameterString(msg)
PushScaleformMovieFunctionParameterString(bottom)
PushScaleformMovieFunctionParameterBool(true)
PopScaleformMovieFunctionVoid()
while sec > 0 do
Citizen.Wait(1)
sec = sec - 0.01
DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255)
end
SetScaleformMovieAsNoLongerNeeded(scaleform)
end
ESX.Scaleform.ShowTrafficMovie = function(sec)
local scaleform = ESX.Scaleform.Utils.RequestScaleformMovie('TRAFFIC_CAM')
PushScaleformMovieFunction(scaleform, 'PLAY_CAM_MOVIE')
PopScaleformMovieFunctionVoid()
while sec > 0 do
Citizen.Wait(1)
sec = sec - 0.01
DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255)
end
SetScaleformMovieAsNoLongerNeeded(scaleform)
end
ESX.Scaleform.Utils.RequestScaleformMovie = function(movie)
local scaleform = RequestScaleformMovie(movie)
while not HasScaleformMovieLoaded(scaleform) do
Citizen.Wait(0)
end
return scaleform
end