2024-12-29 20:02:20 +00:00
|
|
|
exports('GetBikerGangObject', function()
|
|
|
|
return BikerGang
|
|
|
|
end)
|
|
|
|
|
|
|
|
AddEventHandler('onClientResourceStop', function(res)
|
|
|
|
if GetCurrentResourceName() ~= res then
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
|
|
|
BikerGang.Clubhouse.ClearAll()
|
|
|
|
end)
|
|
|
|
|
|
|
|
BikerGang = {
|
|
|
|
Name = {
|
|
|
|
Colors = {
|
|
|
|
black = 0,
|
|
|
|
gray = 1,
|
|
|
|
white = 2,
|
|
|
|
orange = 3,
|
|
|
|
red = 4,
|
|
|
|
green = 5,
|
|
|
|
yellow = 6,
|
|
|
|
blue = 7
|
|
|
|
},
|
|
|
|
Fonts = {
|
|
|
|
font1 = 0,
|
|
|
|
font2 = 1,
|
|
|
|
font3 = 2,
|
|
|
|
font4 = 3,
|
|
|
|
font5 = 4,
|
|
|
|
font6 = 5,
|
|
|
|
font7 = 6,
|
|
|
|
font8 = 7,
|
|
|
|
font9 = 8,
|
|
|
|
font10 = 9,
|
|
|
|
font11 = 10,
|
|
|
|
font12 = 11,
|
|
|
|
font13 = 12
|
|
|
|
},
|
|
|
|
name = "",
|
|
|
|
color = 0,
|
|
|
|
font = 0,
|
|
|
|
|
|
|
|
Set = function(name, color, font)
|
|
|
|
BikerGang.Name.name = name
|
|
|
|
BikerGang.Name.color = color
|
|
|
|
BikerGang.Name.font = font
|
|
|
|
BikerGang.Clubhouse.ClubName.stage = 0
|
|
|
|
end
|
|
|
|
},
|
|
|
|
Emblem = {
|
|
|
|
Logo = {
|
|
|
|
eagle = "MPClubPreset1",
|
|
|
|
skull = "MPClubPreset2",
|
|
|
|
ace = "MPClubPreset3",
|
|
|
|
brassKnuckles = "MPClubPreset4",
|
|
|
|
UR = "MPClubPreset5",
|
|
|
|
fox = "MPClubPreset6",
|
|
|
|
city = "MPClubPreset7",
|
|
|
|
dices = "MPClubPreset8",
|
|
|
|
target = "MPClubPreset9"
|
|
|
|
},
|
|
|
|
emblem = "MPClubPreset1",
|
|
|
|
rot = 90.0, -- Rotation for 0.0 to 360.0
|
|
|
|
|
|
|
|
Set = function(logo, rotation)
|
|
|
|
BikerGang.Emblem.emblem = logo
|
|
|
|
BikerGang.Emblem.rot = rotation
|
|
|
|
BikerGang.Clubhouse.Emblem.stage = 0
|
|
|
|
end
|
|
|
|
},
|
|
|
|
Clubhouse = {
|
|
|
|
interiorId1 = 246273,
|
|
|
|
interiorId2 = 246529,
|
|
|
|
|
|
|
|
Members = {
|
|
|
|
President = {
|
|
|
|
needToLoad = false,
|
|
|
|
loaded = false,
|
|
|
|
renderId = -1,
|
|
|
|
textureDict = "",
|
|
|
|
pedheadshot = -1,
|
|
|
|
target = "memorial_wall_president",
|
|
|
|
prop = "bkr_prop_rt_memorial_president",
|
|
|
|
stage = 0,
|
|
|
|
|
|
|
|
Init = function()
|
|
|
|
DrawEmptyRect(BikerGang.Clubhouse.Members.President.target, BikerGang.Clubhouse.Members.President.prop)
|
|
|
|
end,
|
|
|
|
Enable = function(state)
|
|
|
|
BikerGang.Clubhouse.Members.President.needToLoad = state
|
|
|
|
end,
|
|
|
|
Set = function(ped)
|
|
|
|
BikerGang.Clubhouse.Members.Set(BikerGang.Clubhouse.Members.President, ped)
|
|
|
|
end,
|
|
|
|
Clear = function()
|
|
|
|
BikerGang.Clubhouse.Members.Clear(BikerGang.Clubhouse.Members.President)
|
|
|
|
end
|
|
|
|
},
|
|
|
|
VicePresident = {
|
|
|
|
needToLoad = false,
|
|
|
|
loaded = false,
|
|
|
|
renderId = -1,
|
|
|
|
textureDict = "",
|
|
|
|
pedheadshot = -1,
|
|
|
|
target = "memorial_wall_vice_president",
|
|
|
|
prop = "bkr_prop_rt_memorial_vice_pres",
|
|
|
|
stage = 0,
|
|
|
|
|
|
|
|
Init = function()
|
|
|
|
DrawEmptyRect(BikerGang.Clubhouse.Members.VicePresident.target, BikerGang.Clubhouse.Members.VicePresident.prop)
|
|
|
|
end,
|
|
|
|
Enable = function(state)
|
|
|
|
BikerGang.Clubhouse.Members.VicePresident.needToLoad = state
|
|
|
|
end,
|
|
|
|
Set = function(ped)
|
|
|
|
BikerGang.Clubhouse.Members.Set(BikerGang.Clubhouse.Members.VicePresident, ped)
|
|
|
|
end,
|
|
|
|
Clear = function()
|
|
|
|
BikerGang.Clubhouse.Members.Clear(BikerGang.Clubhouse.Members.VicePresident)
|
|
|
|
end
|
|
|
|
},
|
|
|
|
RoadCaptain = {
|
|
|
|
needToLoad = false,
|
|
|
|
loaded = false,
|
|
|
|
renderId = -1,
|
|
|
|
textureDict = "",
|
|
|
|
pedheadshot = -1,
|
|
|
|
target = "memorial_wall_active_01",
|
|
|
|
prop = "bkr_prop_rt_memorial_active_01",
|
|
|
|
stage = 0,
|
|
|
|
|
|
|
|
Init = function()
|
|
|
|
DrawEmptyRect(BikerGang.Clubhouse.Members.RoadCaptain.target, BikerGang.Clubhouse.Members.RoadCaptain.prop)
|
|
|
|
end,
|
|
|
|
Enable = function(state)
|
|
|
|
BikerGang.Clubhouse.Members.RoadCaptain.needToLoad = state
|
|
|
|
end,
|
|
|
|
Set = function(ped)
|
|
|
|
BikerGang.Clubhouse.Members.Set(BikerGang.Clubhouse.Members.RoadCaptain, ped)
|
|
|
|
end,
|
|
|
|
Clear = function()
|
|
|
|
BikerGang.Clubhouse.Members.Clear(BikerGang.Clubhouse.Members.RoadCaptain)
|
|
|
|
end
|
|
|
|
},
|
|
|
|
Enforcer = {
|
|
|
|
needToLoad = false,
|
|
|
|
loaded = false,
|
|
|
|
renderId = -1,
|
|
|
|
textureDict = "",
|
|
|
|
pedheadshot = -1,
|
|
|
|
target = "memorial_wall_active_02",
|
|
|
|
prop = "bkr_prop_rt_memorial_active_02",
|
|
|
|
stage = 0,
|
|
|
|
|
|
|
|
Init = function()
|
|
|
|
DrawEmptyRect(BikerGang.Clubhouse.Members.Enforcer.target, BikerGang.Clubhouse.Members.Enforcer.prop)
|
|
|
|
end,
|
|
|
|
Enable = function(state)
|
|
|
|
BikerGang.Clubhouse.Members.Enforcer.needToLoad = state
|
|
|
|
end,
|
|
|
|
Set = function(ped)
|
|
|
|
BikerGang.Clubhouse.Members.Set(BikerGang.Clubhouse.Members.Enforcer, ped)
|
|
|
|
end,
|
|
|
|
Clear = function()
|
|
|
|
BikerGang.Clubhouse.Members.Clear(BikerGang.Clubhouse.Members.Enforcer)
|
|
|
|
end
|
|
|
|
},
|
|
|
|
SergeantAtArms = {
|
|
|
|
needToLoad = false,
|
|
|
|
loaded = false,
|
|
|
|
renderId = -1,
|
|
|
|
textureDict = "",
|
|
|
|
pedheadshot = -1,
|
|
|
|
target = "memorial_wall_active_03",
|
|
|
|
prop = "bkr_prop_rt_memorial_active_03",
|
|
|
|
stage = 0,
|
|
|
|
|
|
|
|
Init = function()
|
|
|
|
DrawEmptyRect(BikerGang.Clubhouse.Members.SergeantAtArms.target, BikerGang.Clubhouse.Members.SergeantAtArms.prop)
|
|
|
|
end,
|
|
|
|
Enable = function(state)
|
|
|
|
BikerGang.Clubhouse.Members.SergeantAtArms.needToLoad = state
|
|
|
|
end,
|
|
|
|
Set = function(ped)
|
|
|
|
BikerGang.Clubhouse.Members.Set(BikerGang.Clubhouse.Members.SergeantAtArms, ped)
|
|
|
|
end,
|
|
|
|
Clear = function()
|
|
|
|
BikerGang.Clubhouse.Members.Clear(BikerGang.Clubhouse.Members.SergeantAtArms)
|
|
|
|
end
|
|
|
|
},
|
|
|
|
Set = function(member, ped)
|
|
|
|
member.Clear()
|
|
|
|
member.pedheadshot = GetPedheadshot(ped)
|
|
|
|
|
|
|
|
if member.pedheadshot ~= -1 then
|
|
|
|
member.textureDict = GetPedheadshotTxdString(member.pedheadshot)
|
|
|
|
|
|
|
|
local IsTextureDictLoaded = LoadStreamedTextureDict(member.textureDict)
|
|
|
|
|
|
|
|
if not IsTextureDictLoaded then
|
2024-12-30 10:27:33 +00:00
|
|
|
print("ERROR: BikerClubhouseDrawMembers - Textures dictionnary \"" .. tostring(member.textureDict) .. "\" cannot be loaded.")
|
2024-12-29 20:02:20 +00:00
|
|
|
end
|
|
|
|
else
|
2024-12-30 10:27:33 +00:00
|
|
|
print("ERROR: BikerClubhouseDrawMembers - PedHeadShot not ready.")
|
2024-12-29 20:02:20 +00:00
|
|
|
end
|
|
|
|
end,
|
|
|
|
Clear = function(member)
|
|
|
|
if IsNamedRendertargetRegistered(member.target) then
|
|
|
|
ReleaseNamedRendertarget(GetHashKey(member.target))
|
|
|
|
end
|
|
|
|
|
|
|
|
if member.pedheadshot ~= -1 then
|
|
|
|
UnregisterPedheadshot(member.pedheadshot)
|
|
|
|
end
|
|
|
|
|
|
|
|
if member.textureDict ~= "" then
|
|
|
|
SetStreamedTextureDictAsNoLongerNeeded(member.textureDict)
|
|
|
|
end
|
|
|
|
|
|
|
|
member.renderId = -1
|
|
|
|
member.textureDict = ""
|
|
|
|
member.pedheadshot = -1
|
|
|
|
member.stage = 0
|
|
|
|
end
|
|
|
|
},
|
|
|
|
|
|
|
|
ClubName = {
|
|
|
|
needToLoad = false,
|
|
|
|
loaded = false,
|
|
|
|
target = "clubname_blackboard_01a",
|
|
|
|
prop = "bkr_prop_clubhouse_blackboard_01a",
|
|
|
|
renderId = -1,
|
|
|
|
movieId = -1,
|
|
|
|
stage = 0,
|
|
|
|
|
|
|
|
Init = function()
|
|
|
|
DrawEmptyRect(BikerGang.Clubhouse.ClubName.target, BikerGang.Clubhouse.ClubName.prop)
|
|
|
|
end,
|
|
|
|
Enable = function(state)
|
|
|
|
BikerGang.Clubhouse.ClubName.needToLoad = state
|
|
|
|
end,
|
|
|
|
Clear = function()
|
|
|
|
if IsNamedRendertargetRegistered(BikerGang.Clubhouse.ClubName.target) then
|
|
|
|
ReleaseNamedRendertarget(GetHashKey(BikerGang.Clubhouse.ClubName.target))
|
|
|
|
end
|
|
|
|
|
2024-12-30 10:27:33 +00:00
|
|
|
if HasScaleformMovieFilenameLoaded(BikerGang.Clubhouse.ClubName.movieId) then
|
2024-12-29 20:02:20 +00:00
|
|
|
SetScaleformMovieAsNoLongerNeeded(BikerGang.Clubhouse.ClubName.movieId)
|
|
|
|
end
|
|
|
|
|
|
|
|
BikerGang.Clubhouse.ClubName.renderId = -1
|
|
|
|
BikerGang.Clubhouse.ClubName.movieId = -1
|
|
|
|
BikerGang.Clubhouse.ClubName.stage = 0
|
|
|
|
end
|
|
|
|
},
|
|
|
|
|
|
|
|
Emblem = {
|
|
|
|
needToLoad = false,
|
|
|
|
loaded = false,
|
|
|
|
target = "clubhouse_table",
|
|
|
|
prop = "bkr_prop_rt_clubhouse_table",
|
|
|
|
renderId = -1,
|
|
|
|
movieId = -1,
|
|
|
|
stage = 0,
|
|
|
|
|
|
|
|
Enable = function(state)
|
|
|
|
BikerGang.Clubhouse.Emblem.needToLoad = state
|
|
|
|
end,
|
|
|
|
Init = function()
|
|
|
|
DrawEmptyRect(BikerGang.Clubhouse.Emblem.target, BikerGang.Clubhouse.Emblem.prop)
|
|
|
|
end,
|
|
|
|
Clear = function()
|
|
|
|
if IsNamedRendertargetRegistered(BikerGang.Clubhouse.Emblem.target) then
|
|
|
|
ReleaseNamedRendertarget(GetHashKey(BikerGang.Clubhouse.Emblem.target))
|
|
|
|
end
|
|
|
|
|
|
|
|
BikerGang.Clubhouse.Emblem.renderId = -1
|
|
|
|
BikerGang.Clubhouse.Emblem.stage = 0
|
|
|
|
end
|
|
|
|
},
|
|
|
|
|
|
|
|
MissionsWall = {
|
|
|
|
Missions = {
|
|
|
|
Titles = {
|
|
|
|
byThePoundUpper = "BDEAL_DEALN",
|
|
|
|
byThePound = "DEAL_DEALN",
|
|
|
|
prisonerOfWarUpper = "BIGM_RESCN",
|
|
|
|
prisonerOfWar = "CELL_BIKER_RESC",
|
|
|
|
gunsForHire = "LR_INTRO_ST",
|
|
|
|
weaponOfChoice = "CELL_BIKER_CK",
|
|
|
|
gunrunningUpper = "GB_BIGUNLOAD_U",
|
|
|
|
gunrunning = "GB_BIGUNLOAD_T",
|
|
|
|
nineTenthsOfTheLawUpper = "SB_INTRO_TITLE",
|
|
|
|
nineTenthsOfTheLaw = "SB_MENU_TITLE",
|
|
|
|
jailbreakUpper = "FP_INTRO_TITLE",
|
|
|
|
jailbreak = "FP_MENU_TITLE",
|
|
|
|
crackedUpper = "SC_INTRO_TITLE",
|
|
|
|
cracked = "SC_MENU_TITLE",
|
|
|
|
fragileGoodsUpper = "DV_SH_BIG",
|
|
|
|
fragileGoods = "DV_SH_TITLE",
|
|
|
|
torchedUpper = "BA_SH_BIG",
|
|
|
|
torched = "BA_SH_TITLE",
|
|
|
|
outriderUpper = "SHU_SH_BIG",
|
|
|
|
outrider = "SHU_SH_TITLE"
|
|
|
|
},
|
|
|
|
Descriptions = {
|
|
|
|
byThePound = "DEAL_DEALND",
|
|
|
|
prisonerOfWar = "CELL_BIKER_RESD",
|
|
|
|
gunsForHire = "GFH_MENU_DESC",
|
|
|
|
weaponOfChoice = "CELL_BIKER_CKD",
|
|
|
|
gunrunning = "GB_BIGUNLOAD_D",
|
|
|
|
nineTenthsOfTheLaw = "SB_MENU_DESC",
|
|
|
|
jailbreak = "FP_MENU_DESC",
|
|
|
|
cracked = "SC_MENU_DESC",
|
|
|
|
fragileGoods = "DV_MENU_DESC",
|
|
|
|
torched = "BA_MENU_DESC",
|
|
|
|
outrider = "SHU_MENU_DESC"
|
|
|
|
},
|
|
|
|
Pictures = {
|
|
|
|
byThePound = "CHM_IMG0", -- Pickup car parked
|
|
|
|
prisonerOfWar = "CHM_IMG8", -- Police with man down
|
|
|
|
gunsForHire = "CHM_IMG4", -- Limo
|
|
|
|
weaponOfChoice = "CHM_IMG10", -- Prisoner being beaten
|
|
|
|
gunrunning = "CHM_IMG3", -- Shipment
|
|
|
|
nineTenthsOfTheLaw = "CHM_IMG6", -- Wheeling
|
|
|
|
jailbreak = "CHM_IMG5", -- Prison bus
|
|
|
|
cracked = "CHM_IMG1", -- Safe
|
|
|
|
fragileGoods = "CHM_IMG2", -- Lost Van
|
|
|
|
torched = "CHM_IMG9", -- Explosive crate
|
|
|
|
outrider = "CHM_IMG7" -- Sport ride
|
|
|
|
},
|
|
|
|
},
|
|
|
|
needToLoad = false,
|
|
|
|
loaded = false,
|
|
|
|
target = "clubhouse_Plan_01a",
|
|
|
|
prop = "bkr_prop_rt_clubhouse_plan_01a",
|
|
|
|
renderId = -1,
|
|
|
|
movieId = -1,
|
|
|
|
stage = 0,
|
|
|
|
Position = {
|
|
|
|
none = -1,
|
|
|
|
left = 0,
|
|
|
|
middle = 1,
|
|
|
|
right = 2
|
|
|
|
},
|
|
|
|
|
|
|
|
Init = function()
|
|
|
|
if not DrawEmptyRect(BikerGang.Clubhouse.MissionsWall.target, BikerGang.Clubhouse.MissionsWall.prop) then
|
2024-12-30 10:27:33 +00:00
|
|
|
print("ERROR: BikerGang.Clubhouse.MissionsWall.Init() - DrawEmptyRect - Timeout")
|
2024-12-29 20:02:20 +00:00
|
|
|
end
|
|
|
|
end,
|
|
|
|
Enable = function(state)
|
|
|
|
BikerGang.Clubhouse.MissionsWall.needToLoad = state
|
|
|
|
end,
|
|
|
|
SelectMission = function(position)
|
|
|
|
if BikerGang.Clubhouse.MissionsWall.movieId ~= -1 then
|
|
|
|
BeginScaleformMovieMethod(BikerGang.Clubhouse.MissionsWall.movieId, "SET_SELECTED_MISSION")
|
2024-12-30 10:27:33 +00:00
|
|
|
ScaleformMovieMethodAddParamInt(position) -- Mission index 0 to 2 (-1 = no mission)
|
2024-12-29 20:02:20 +00:00
|
|
|
EndScaleformMovieMethod()
|
|
|
|
end
|
|
|
|
end,
|
|
|
|
SetMission = function(position, title, desc, textDict, x, y)
|
|
|
|
if BikerGang.Clubhouse.MissionsWall.needToLoad then
|
2024-12-30 10:27:33 +00:00
|
|
|
if not HasScaleformMovieFilenameLoaded(BikerGang.Clubhouse.MissionsWall.movieId) then
|
2024-12-29 20:02:20 +00:00
|
|
|
BikerGang.Clubhouse.MissionsWall.movieId = LoadScaleform("BIKER_MISSION_WALL")
|
|
|
|
end
|
|
|
|
|
|
|
|
if BikerGang.Clubhouse.MissionsWall.movieId ~= -1 then
|
|
|
|
if position > -1 then
|
|
|
|
BeginScaleformMovieMethod(BikerGang.Clubhouse.MissionsWall.movieId, "SET_MISSION")
|
2024-12-30 10:27:33 +00:00
|
|
|
ScaleformMovieMethodAddParamInt(position) -- Mission index 0 to 2 (-1 = no mission)
|
|
|
|
ScaleformMovieMethodAddParamTextureNameString(title)
|
|
|
|
ScaleformMovieMethodAddParamTextureNameString(desc)
|
|
|
|
ScaleformMovieMethodAddParamPlayerNameString(textDict)
|
|
|
|
ScaleformMovieMethodAddParamFloat(x) -- Mission 0: world coordinates X
|
|
|
|
ScaleformMovieMethodAddParamFloat(y) -- Mission 0: world coordinates Y
|
2024-12-29 20:02:20 +00:00
|
|
|
EndScaleformMovieMethod()
|
|
|
|
else
|
|
|
|
-- Remove all missions
|
|
|
|
for key, value in pairs(BikerGang.Clubhouse.MissionsWall.Position) do
|
|
|
|
BikerGang.Clubhouse.MissionsWall.RemoveMission(value)
|
|
|
|
end
|
|
|
|
|
|
|
|
BikerGang.Clubhouse.MissionsWall.SelectMission(BikerGang.Clubhouse.MissionsWall.Position.none)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end,
|
|
|
|
RemoveMission = function(position)
|
|
|
|
BeginScaleformMovieMethod(BikerGang.Clubhouse.MissionsWall.movieId, "HIDE_MISSION")
|
2024-12-30 10:27:33 +00:00
|
|
|
ScaleformMovieMethodAddParamInt(position)
|
2024-12-29 20:02:20 +00:00
|
|
|
EndScaleformMovieMethod()
|
|
|
|
end,
|
|
|
|
Clear = function()
|
|
|
|
-- Removing missions
|
|
|
|
BikerGang.Clubhouse.MissionsWall.SelectMission(BikerGang.Clubhouse.MissionsWall.Position.none)
|
|
|
|
BikerGang.Clubhouse.MissionsWall.SetMission(BikerGang.Clubhouse.MissionsWall.Position.none)
|
|
|
|
|
|
|
|
-- Releasing handles
|
|
|
|
if IsNamedRendertargetRegistered(BikerGang.Clubhouse.MissionsWall.prop) then
|
|
|
|
ReleaseNamedRendertarget(GetHashKey(BikerGang.Clubhouse.MissionsWall.prop))
|
|
|
|
end
|
|
|
|
|
2024-12-30 10:27:33 +00:00
|
|
|
if HasScaleformMovieFilenameLoaded(BikerGang.Clubhouse.MissionsWall.movieId) then
|
2024-12-29 20:02:20 +00:00
|
|
|
SetScaleformMovieAsNoLongerNeeded(BikerGang.Clubhouse.MissionsWall.movieId)
|
|
|
|
end
|
|
|
|
|
|
|
|
-- Resetting
|
|
|
|
BikerGang.Clubhouse.MissionsWall.renderId = -1
|
|
|
|
BikerGang.Clubhouse.MissionsWall.movieId = -1
|
|
|
|
BikerGang.Clubhouse.MissionsWall.stage = 0
|
|
|
|
end
|
|
|
|
},
|
|
|
|
|
|
|
|
ClearAll = function()
|
|
|
|
BikerGang.Clubhouse.ClubName.Clear()
|
|
|
|
BikerGang.Clubhouse.ClubName.loaded = false
|
|
|
|
|
|
|
|
BikerGang.Clubhouse.Emblem.Clear()
|
|
|
|
BikerGang.Clubhouse.Emblem.loaded = false
|
|
|
|
|
|
|
|
BikerGang.Clubhouse.MissionsWall.Clear()
|
|
|
|
BikerGang.Clubhouse.MissionsWall.loaded = false
|
|
|
|
|
|
|
|
for key, member in pairs(BikerGang.Clubhouse.Members) do
|
|
|
|
if type(member) == "table" then
|
|
|
|
member.Clear()
|
|
|
|
member.loaded = false
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-12-30 10:27:33 +00:00
|
|
|
CreateThread(function()
|
2024-12-29 20:02:20 +00:00
|
|
|
-- Removing the black texture
|
|
|
|
BikerGang.Clubhouse.Members.President.Init()
|
|
|
|
BikerGang.Clubhouse.Members.VicePresident.Init()
|
|
|
|
BikerGang.Clubhouse.Members.RoadCaptain.Init()
|
|
|
|
BikerGang.Clubhouse.Members.Enforcer.Init()
|
|
|
|
BikerGang.Clubhouse.Members.SergeantAtArms.Init()
|
|
|
|
|
|
|
|
BikerGang.Clubhouse.ClubName.Init()
|
|
|
|
BikerGang.Clubhouse.Emblem.Init()
|
|
|
|
BikerGang.Clubhouse.MissionsWall.Init()
|
|
|
|
|
|
|
|
while true do
|
|
|
|
if BikerGang.Clubhouse.ClubName.needToLoad or BikerGang.Clubhouse.Emblem.needToLoad or BikerGang.Clubhouse.MissionsWall.needToLoad or BikerGang.Clubhouse.Members.President.needToLoad or BikerGang.Clubhouse.Members.VicePresident.needToLoad or BikerGang.Clubhouse.Members.RoadCaptain.needToLoad or BikerGang.Clubhouse.Members.Enforcer.needToLoad or BikerGang.Clubhouse.Members.SergeantAtArms.needToLoad then
|
|
|
|
-- If we are inside a clubhouse, then we load
|
|
|
|
if Global.Biker.isInsideClubhouse1 or Global.Biker.isInsideClubhouse2 then
|
|
|
|
-- Club name
|
|
|
|
if BikerGang.Clubhouse.ClubName.needToLoad then
|
|
|
|
DrawClubName(BikerGang.Name.name, BikerGang.Name.color, BikerGang.Name.font)
|
|
|
|
|
|
|
|
BikerGang.Clubhouse.ClubName.loaded = true
|
|
|
|
elseif BikerGang.Clubhouse.ClubName.loaded then
|
|
|
|
BikerGang.Clubhouse.ClubName.Clear()
|
|
|
|
BikerGang.Clubhouse.ClubName.loaded = false
|
|
|
|
end
|
|
|
|
|
|
|
|
-- Emblem
|
|
|
|
if BikerGang.Clubhouse.Emblem.needToLoad then
|
|
|
|
DrawEmblem(BikerGang.Emblem.emblem, BikerGang.Emblem.rot)
|
|
|
|
|
|
|
|
BikerGang.Clubhouse.Emblem.loaded = true
|
|
|
|
elseif BikerGang.Clubhouse.Emblem.loaded then
|
|
|
|
BikerGang.Clubhouse.Emblem.Clear()
|
|
|
|
BikerGang.Clubhouse.Emblem.loaded = false
|
|
|
|
end
|
|
|
|
|
|
|
|
-- Missions wall
|
|
|
|
if BikerGang.Clubhouse.MissionsWall.needToLoad then
|
|
|
|
DrawMissions()
|
|
|
|
|
|
|
|
BikerGang.Clubhouse.MissionsWall.loaded = true
|
|
|
|
elseif BikerGang.Clubhouse.MissionsWall.loaded then
|
|
|
|
BikerGang.Clubhouse.MissionsWall.Clear()
|
|
|
|
BikerGang.Clubhouse.MissionsWall.loaded = false
|
|
|
|
end
|
|
|
|
|
|
|
|
-- Members: President
|
|
|
|
for key, member in pairs(BikerGang.Clubhouse.Members) do
|
|
|
|
if type(member) == "table" then
|
|
|
|
if member.needToLoad then
|
|
|
|
DrawMember(member)
|
|
|
|
member.loaded = true
|
|
|
|
elseif member.loaded then
|
|
|
|
member.Clear()
|
|
|
|
member.loaded = false
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2024-12-30 10:27:33 +00:00
|
|
|
Wait(0) -- We need to call all this every frame
|
2024-12-29 20:02:20 +00:00
|
|
|
else
|
|
|
|
-- Not in a clubhouse
|
2024-12-30 10:27:33 +00:00
|
|
|
Wait(1000)
|
2024-12-29 20:02:20 +00:00
|
|
|
end
|
|
|
|
else
|
|
|
|
-- No load needed
|
2024-12-30 10:27:33 +00:00
|
|
|
Wait(1000)
|
2024-12-29 20:02:20 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end)
|
|
|
|
|
|
|
|
function DrawClubName(name, color, font)
|
|
|
|
if BikerGang.Clubhouse.ClubName.stage == 0 then
|
|
|
|
if BikerGang.Clubhouse.ClubName.renderId == -1 then
|
|
|
|
BikerGang.Clubhouse.ClubName.renderId = CreateNamedRenderTargetForModel(BikerGang.Clubhouse.ClubName.target, BikerGang.Clubhouse.ClubName.prop)
|
|
|
|
end
|
|
|
|
|
|
|
|
if BikerGang.Clubhouse.ClubName.movieId == -1 then
|
|
|
|
BikerGang.Clubhouse.ClubName.movieId = RequestScaleformMovie("CLUBHOUSE_NAME")
|
|
|
|
end
|
|
|
|
|
|
|
|
BikerGang.Clubhouse.ClubName.stage = 1
|
|
|
|
elseif BikerGang.Clubhouse.ClubName.stage == 1 then
|
|
|
|
if HasScaleformMovieLoaded(BikerGang.Clubhouse.ClubName.movieId) then
|
|
|
|
local parameters = {
|
|
|
|
p0 = {type = "string", value = name},
|
|
|
|
p1 = {type = "int", value = color},
|
|
|
|
p2 = {type = "int", value = font}
|
|
|
|
}
|
|
|
|
|
|
|
|
SetupScaleform(BikerGang.Clubhouse.ClubName.movieId, "SET_CLUBHOUSE_NAME", parameters)
|
|
|
|
|
|
|
|
BikerGang.Clubhouse.ClubName.stage = 2
|
|
|
|
else
|
|
|
|
BikerGang.Clubhouse.ClubName.movieId = RequestScaleformMovie("CLUBHOUSE_NAME")
|
|
|
|
end
|
|
|
|
elseif BikerGang.Clubhouse.ClubName.stage == 2 then
|
|
|
|
SetTextRenderId(BikerGang.Clubhouse.ClubName.renderId)
|
|
|
|
SetScriptGfxDrawOrder(4)
|
|
|
|
SetScriptGfxDrawBehindPausemenu(true)
|
|
|
|
SetScriptGfxAlign(73, 73)
|
|
|
|
DrawScaleformMovie(BikerGang.Clubhouse.ClubName.movieId, 0.0975, 0.105, 0.235, 0.35, 255, 255, 255, 255, 0)
|
|
|
|
SetTextRenderId(GetDefaultScriptRendertargetRenderId())
|
|
|
|
ResetScriptGfxAlign()
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
function DrawEmblem(texturesDict, rotation)
|
|
|
|
if BikerGang.Clubhouse.Emblem.stage == 0 then
|
|
|
|
if BikerGang.Clubhouse.Emblem.renderId == -1 then
|
|
|
|
BikerGang.Clubhouse.Emblem.renderId = CreateNamedRenderTargetForModel(BikerGang.Clubhouse.Emblem.target, BikerGang.Clubhouse.Emblem.prop)
|
|
|
|
end
|
|
|
|
|
|
|
|
local IsTextureDictLoaded = LoadStreamedTextureDict(texturesDict)
|
|
|
|
|
|
|
|
if not IsTextureDictLoaded then
|
2024-12-30 10:27:33 +00:00
|
|
|
print("ERROR: DrawEmblem - Textures dictionnary cannot be loaded.")
|
2024-12-29 20:02:20 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
BikerGang.Clubhouse.Emblem.stage = 1
|
|
|
|
elseif BikerGang.Clubhouse.Emblem.stage == 1 then
|
|
|
|
BikerGang.Clubhouse.Emblem.renderId = CreateNamedRenderTargetForModel(BikerGang.Clubhouse.Emblem.target, BikerGang.Clubhouse.Emblem.prop)
|
|
|
|
BikerGang.Clubhouse.Emblem.stage = 2
|
|
|
|
elseif BikerGang.Clubhouse.Emblem.stage == 2 then
|
|
|
|
SetTextRenderId(BikerGang.Clubhouse.Emblem.renderId)
|
|
|
|
SetScriptGfxAlign(73, 73)
|
|
|
|
SetScriptGfxDrawOrder(4)
|
|
|
|
SetScriptGfxDrawBehindPausemenu(true)
|
|
|
|
DrawInteractiveSprite(texturesDict, texturesDict, 0.5, 0.5, 1.0, 1.0, rotation, 255, 255, 255, 255);
|
|
|
|
ResetScriptGfxAlign()
|
|
|
|
SetTextRenderId(GetDefaultScriptRendertargetRenderId())
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
function DrawMissions()
|
|
|
|
if BikerGang.Clubhouse.MissionsWall.stage == 0 then
|
|
|
|
if BikerGang.Clubhouse.MissionsWall.renderId == -1 then
|
|
|
|
BikerGang.Clubhouse.MissionsWall.renderId = CreateNamedRenderTargetForModel(BikerGang.Clubhouse.MissionsWall.target, BikerGang.Clubhouse.MissionsWall.prop)
|
|
|
|
end
|
|
|
|
|
|
|
|
BikerGang.Clubhouse.MissionsWall.stage = 1
|
|
|
|
elseif BikerGang.Clubhouse.MissionsWall.stage == 1 then
|
|
|
|
if HasScaleformMovieLoaded(BikerGang.Clubhouse.MissionsWall.movieId) then
|
|
|
|
BikerGang.Clubhouse.MissionsWall.stage = 2
|
|
|
|
else
|
|
|
|
BikerGang.Clubhouse.MissionsWall.movieId = RequestScaleformMovie("BIKER_MISSION_WALL")
|
|
|
|
end
|
|
|
|
elseif BikerGang.Clubhouse.MissionsWall.stage == 2 then
|
|
|
|
SetTextRenderId(BikerGang.Clubhouse.MissionsWall.renderId)
|
|
|
|
SetScriptGfxDrawOrder(4)
|
|
|
|
SetScriptGfxDrawBehindPausemenu(false)
|
|
|
|
DrawScaleformMovie(BikerGang.Clubhouse.MissionsWall.movieId, 0.5, 0.5, 1.0, 1.0, 255, 255, 255, 255, 0)
|
|
|
|
SetTextRenderId(GetDefaultScriptRendertargetRenderId())
|
|
|
|
SetScaleformFitRendertarget(BikerGang.Clubhouse.MissionsWall.movieId, true)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
function DrawMember(member)
|
|
|
|
if member.stage == 0 then
|
|
|
|
member.stage = 1
|
|
|
|
elseif member.stage == 1 then
|
|
|
|
member.renderId = CreateNamedRenderTargetForModel(member.target, member.prop)
|
|
|
|
member.stage = 2
|
|
|
|
elseif member.stage == 2 then
|
|
|
|
if HasStreamedTextureDictLoaded(member.textureDict) then
|
|
|
|
SetTextRenderId(member.renderId)
|
|
|
|
SetScriptGfxAlign(73, 73)
|
|
|
|
DrawInteractiveSprite(member.textureDict, member.textureDict, 0.5, 0.5, 1.0, 1.0, 0.0, 255, 255, 255, 255)
|
|
|
|
ResetScriptGfxAlign()
|
|
|
|
SetTextRenderId(GetDefaultScriptRendertargetRenderId())
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|