114 lines
3.1 KiB
Lua
114 lines
3.1 KiB
Lua
Scaleforms = {}
|
|
|
|
function Scaleforms.LoadMovie(movieName)
|
|
local handle = RequestScaleformMovie(movieName)
|
|
while not HasScaleformMovieLoaded(handle) do
|
|
Wait(0)
|
|
end
|
|
return handle
|
|
end
|
|
|
|
function Scaleforms.LoadInteractive(movieName)
|
|
local handle = RequestScaleformMovieInteractive(movieName)
|
|
while not HasScaleformMovieLoaded(handle) do
|
|
Wait(0)
|
|
end
|
|
return handle
|
|
end
|
|
|
|
function Scaleforms.UnloadMovie(handle)
|
|
SetScaleformMovieAsNoLongerNeeded(handle)
|
|
end
|
|
|
|
function Scaleforms.LoadAdditionalText(textName, slotCount)
|
|
for slot = 0, slotCount, 1 do
|
|
if not HasThisAdditionalTextLoaded(textName, slot) then
|
|
ClearAdditionalText(slot, true)
|
|
RequestAdditionalText(textName, slot)
|
|
while not HasThisAdditionalTextLoaded(textName, slot) do
|
|
Wait(0)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function Scaleforms.SetLabels(handle, labels)
|
|
PushScaleformMovieFunction(handle, "SET_LABELS")
|
|
for i = 1, #labels do
|
|
BeginTextCommandScaleformString(labels[i])
|
|
EndTextCommandScaleformString()
|
|
end
|
|
PopScaleformMovieFunctionVoid()
|
|
end
|
|
|
|
function Scaleforms.PopMulti(handle, funcName, ...)
|
|
PushScaleformMovieFunction(handle, funcName)
|
|
local args = { ... }
|
|
for _, value in pairs(args) do
|
|
local valueType = Scaleforms.TrueType(value)
|
|
if valueType == "string" then
|
|
_ENV["PushScaleformMovieFunctionParameterString"](value)
|
|
elseif valueType == "boolean" then
|
|
PushScaleformMovieFunctionParameterBool(value)
|
|
elseif valueType == "int" then
|
|
PushScaleformMovieFunctionParameterInt(value)
|
|
elseif valueType == "float" then
|
|
PushScaleformMovieFunctionParameterFloat(value)
|
|
end
|
|
end
|
|
PopScaleformMovieFunctionVoid()
|
|
end
|
|
|
|
function Scaleforms.PopFloat(handle, funcName, value)
|
|
PushScaleformMovieFunction(handle, funcName)
|
|
PushScaleformMovieFunctionParameterFloat(value)
|
|
PopScaleformMovieFunctionVoid()
|
|
end
|
|
|
|
function Scaleforms.PopInt(handle, funcName, value)
|
|
PushScaleformMovieFunction(handle, funcName)
|
|
PushScaleformMovieFunctionParameterInt(value)
|
|
PopScaleformMovieFunctionVoid()
|
|
end
|
|
|
|
function Scaleforms.PopBool(handle, funcName, value)
|
|
PushScaleformMovieFunction(handle, funcName)
|
|
PushScaleformMovieFunctionParameterBool(value)
|
|
PopScaleformMovieFunctionVoid()
|
|
end
|
|
|
|
function Scaleforms.PopRet(handle, funcName)
|
|
PushScaleformMovieFunction(handle, funcName)
|
|
return PopScaleformMovieFunction()
|
|
end
|
|
|
|
function Scaleforms.PopVoid(handle, funcName)
|
|
PushScaleformMovieFunction(handle, funcName)
|
|
PopScaleformMovieFunctionVoid()
|
|
end
|
|
|
|
function Scaleforms.RetBool(handle)
|
|
return GetScaleformMovieFunctionReturnBool(handle)
|
|
end
|
|
|
|
function Scaleforms.RetInt(handle)
|
|
return GetScaleformMovieFunctionReturnInt(handle)
|
|
end
|
|
|
|
function Scaleforms.TrueType(value)
|
|
local valueType = type(value)
|
|
if valueType ~= "number" then
|
|
return valueType
|
|
end
|
|
local str = tostring(value)
|
|
if string.find(str, ".") then
|
|
return "float"
|
|
else
|
|
return "int"
|
|
end
|
|
end
|
|
|
|
exports("Scaleforms", function()
|
|
return Scaleforms
|
|
end)
|