Personally I think that not many people tried enabling the school rooftop so I decided to give it a try. The method I used to spawn it was pretty lame... if you use LaunchScript("Test6_B.lua") then "Final showndown" will start but it will end like 2 seconds later and the ending credits will be skipped, leaving the roof there. By the way if you enter the school (or any other interior), when you get out the rooftop won't be there anymore.
I have been looking for the school rooftop parts, such as the platforms, ladders and bells, so I can spawn them with CreatePersistentEntity() and avoiding the other method.
www.youtube.com/watch?v=z3D3SQTKLvwThe code I used: (I unlocked the rooftop door but forgot to show it in the video)
ImportScript("\\Library\\LibTable.lua") -- imports the LibTable library
ImportScript("\\Library\\LibPed.lua") -- imports the LibPed library
ImportScript("\\Test\\Missions\\RunMissionLib.lua")
ImportScript("6_B.lua")
local l_0_0 = false
local l_0_1 = false
main = function()
repeat
F_StartMission()
Wait(0)
until l_0_0 ~= false
end
F_StartMission = function()
ClockSetTickRate(0.0010000000521541)
if l_0_1 == false then
l_0_1 = true
LaunchScript("Test6_B.lua")
end
while Alive do
AreaSetDoorLocked(TRIGGER._DT_TSCHOOL_ROOFDOOR, false)
AreaSetDoorLocked(TRIGGER._DT_ISCHOOL_ROOFDOOR, false)
AreaSetDoorLocked(TRIGGER._ISCHOOL_DOOR25, false)
Wait(0)
end
end
F_AttendedClass = function()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
SetSkippedClass(false)
PlayerSetPunishmentPoints(0)
end
F_MissedClass = function()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
SetSkippedClass(true)
StatAddToInt(166)
end
F_AttendedCurfew = function()
if not PedInConversation(gPlayer) and not MissionActive() then
TextPrintString("You got home in time for curfew", 4)
end
end
F_MissedCurfew = function()
if not PedInConversation(gPlayer) and not MissionActive() then
TextPrint("TM_TIRED5", 4, 2)
end
end
F_StartClass = function()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
F_RingSchoolBell()
local l_6_0 = PlayerGetPunishmentPoints() + GetSkippingPunishment()
end
F_EndClass = function()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
F_RingSchoolBell()
end
F_StartMorning = function()
F_UpdateTimeCycle()
end
F_EndMorning = function()
F_UpdateTimeCycle()
end
F_StartLunch = function()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
F_UpdateTimeCycle()
return
end
F_UpdateTimeCycle()
end
F_EndLunch = function()
F_UpdateTimeCycle()
end
F_StartAfternoon = function()
F_UpdateTimeCycle()
end
F_EndAfternoon = function()
F_UpdateTimeCycle()
end
F_StartEvening = function()
F_UpdateTimeCycle()
end
F_EndEvening = function()
F_UpdateTimeCycle()
end
F_StartCurfew_SlightlyTired = function()
F_UpdateTimeCycle()
end
F_StartCurfew_Tired = function()
F_UpdateTimeCycle()
end
F_StartCurfew_MoreTired = function()
F_UpdateTimeCycle()
end
F_StartCurfew_TooTired = function()
F_UpdateTimeCycle()
end
F_EndCurfew_TooTired = function()
F_UpdateTimeCycle()
end
F_EndTired = function()
F_UpdateTimeCycle()
end
F_Nothing = function()
end
F_ClassWarning = function()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
local l_23_0 = math.random(1, 2)
end
F_UpdateTimeCycle = function()
if not IsMissionCompleated("1_B") then
local l_24_0 = GetCurrentDay(false)
if l_24_0 < 0 or l_24_0 > 2 then
SetCurrentDay(0)
end
end
F_UpdateCurfew()
end
F_UpdateCurfew = function()
local l_25_0 = shared.gCurfewRules
if not l_25_0 then
l_25_0 = F_CurfewDefaultRules
end
l_25_0()
end
F_CurfewDefaultRules = function()
local l_26_0 = ClockGet()
if l_26_0 >= 23 or l_26_0 < 7 then
shared.gCurfew = true
else
shared.gCurfew = false
end
end