Initial commit
This commit is contained in:
518
DATA/SCRIPTS/GAMEOBJECT/UM02_MISSION_SCRIPT.LUA
Normal file
518
DATA/SCRIPTS/GAMEOBJECT/UM02_MISSION_SCRIPT.LUA
Normal file
@@ -0,0 +1,518 @@
|
||||
-- $Id: //depot/Projects/StarWars_Steam/FOC/Run/Data/Scripts/GameObject/UM02_Mission_Script.lua#1 $
|
||||
--/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
--
|
||||
-- (C) Petroglyph Games, Inc.
|
||||
--
|
||||
--
|
||||
-- ***** ** * *
|
||||
-- * ** * * *
|
||||
-- * * * * *
|
||||
-- * * * * * * * *
|
||||
-- * * *** ****** * ** **** *** * * * ***** * ***
|
||||
-- * ** * * * ** * ** ** * * * * ** ** ** *
|
||||
-- *** ***** * * * * * * * * ** * * * *
|
||||
-- * * * * * * * * * * * * * * *
|
||||
-- * * * * * * * * * * ** * * * *
|
||||
-- * ** * * ** * ** * * ** * * * *
|
||||
-- ** **** ** * **** ***** * ** *** * *
|
||||
-- * * *
|
||||
-- * * *
|
||||
-- * * *
|
||||
-- * * * *
|
||||
-- **** * *
|
||||
--
|
||||
--/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
-- C O N F I D E N T I A L S O U R C E C O D E -- D O N O T D I S T R I B U T E
|
||||
--/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
--
|
||||
-- $File: //depot/Projects/StarWars_Steam/FOC/Run/Data/Scripts/GameObject/UM02_Mission_Script.lua $
|
||||
--
|
||||
-- Original Author: Jeff_Stewart
|
||||
--
|
||||
-- $Author: Brian_Hayes $
|
||||
--
|
||||
-- $Change: 637819 $
|
||||
--
|
||||
-- $DateTime: 2017/03/22 10:16:16 $
|
||||
--
|
||||
-- $Revision: #1 $
|
||||
--
|
||||
--/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
require("PGStateMachine")
|
||||
require("PGSpawnUnits")
|
||||
require("JGS_FunctionLib") -- added library of commonly used functions
|
||||
|
||||
function Definitions()
|
||||
-- Object isn't valid at this point so don't do any operations that
|
||||
-- would require it. State_Init is the first chance you have to do
|
||||
-- operations on Object
|
||||
DebugMessage("%s -- In Definitions", tostring(Script))
|
||||
Define_State("State_Init", State_Init);
|
||||
end
|
||||
|
||||
|
||||
function State_Init(message)
|
||||
if message == OnEnter then
|
||||
-- This is simply a sound to let the designer know the script is running
|
||||
-- Object.Play_SFX_Event("SFX_UMP_EmpireKesselAlarm")
|
||||
|
||||
neutral_player = Find_Player("Neutral")
|
||||
empire_player = Find_Player("Empire")
|
||||
underworld_player = Find_Player("Underworld")
|
||||
tyber_zann = Find_Nearest(Object,"TYBER_ZANN")
|
||||
Register_Death_Event(tyber_zann, Tyber_Destroyed)
|
||||
urai_fen = Find_Nearest(Object,"URAI_FEN")
|
||||
Register_Death_Event(urai_fen, Urai_Destroyed)
|
||||
|
||||
pad1 = Find_Hint("REINFORCEMENT_POINT", "pad1")
|
||||
pad2 = Find_Hint("REINFORCEMENT_POINT", "pad2")
|
||||
pad3 = Find_Hint("REINFORCEMENT_POINT", "pad3")
|
||||
pad4 = Find_Hint("REINFORCEMENT_POINT", "pad4")
|
||||
|
||||
-- Register prox events for battle chatter and game events
|
||||
chatter1 = Find_Hint("GENERIC_MARKER_LAND","chatterbadfeeling")
|
||||
Register_Prox(chatter1, Prox_Chatter_BadFeeling, 60, underworld_player)
|
||||
|
||||
startdroids=Find_Hint("GENERIC_MARKER_LAND","startdestroyerdroids")
|
||||
Register_Prox(startdroids, Prox_StartDestroyers, 60, underworld_player)
|
||||
|
||||
seescontrols=Find_Hint("GENERIC_MARKER_LAND","seencontrols")
|
||||
Register_Prox(seescontrols, Prox_HintAtControls, 60, underworld_player)
|
||||
|
||||
gotcontrols=Find_Hint("GENERIC_MARKER_LAND","factorycontrols")
|
||||
Register_Prox(gotcontrols, Prox_UseControls, 60, underworld_player)
|
||||
Register_Prox(gotcontrols, Prox_UseControls_Wrong, 60, underworld_player)
|
||||
|
||||
droidworksloc=Find_Hint("GENERIC_MARKER_LAND","droidworksloc")
|
||||
Register_Prox(droidworksloc, Prox_CapturedDroidWorks, 60, underworld_player)
|
||||
|
||||
droidworks=Find_Hint("U_GROUND_DROID_WORKS","droidworks")
|
||||
Register_Death_Event(droidworks, DroidWorks_Destroyed)
|
||||
|
||||
-- set up some global mission state flags
|
||||
|
||||
MissionPartOneStarted = false
|
||||
MissionPartTwoStarted = false
|
||||
MissionPartTwoSetup = true
|
||||
|
||||
PadOneCaptured = false
|
||||
PadTwoCaptured = false
|
||||
PadThreeCaptured = false
|
||||
PadFourCaptured = false
|
||||
|
||||
VictoryCondition_DroidWorks = false
|
||||
VictoryCondition_LandingPads = false
|
||||
|
||||
DefeatCondition_TyberDead = false
|
||||
DefeatCondition_UraiDead = false
|
||||
DefeatCondition_DroidWorksDead = false
|
||||
|
||||
VictoryStarted = false
|
||||
DefeatStarted = false
|
||||
|
||||
Create_Thread("CINE_Start_Mission")
|
||||
elseif message == OnUpdate then
|
||||
--Do Nothing
|
||||
if MissionPartTwoStarted then
|
||||
if MissionPartTwoSetup then
|
||||
MissionPartTwoSetup = false
|
||||
Mid_Mission_Setup()
|
||||
end
|
||||
|
||||
|
||||
if VictoryCondition_DroidWorks and VictoryCondition_LandingPads then
|
||||
if not VictoryStarted then
|
||||
VictoryStarted = true
|
||||
Create_Thread("EndMissionVictory")
|
||||
end
|
||||
end
|
||||
end
|
||||
if DefeatCondition_TyberDead or DefeatCondition_UraiDead or DefeatCondition_DroidWorksDead then
|
||||
if not DefeatStarted then
|
||||
DefeatStarted = true
|
||||
Create_Thread("EndMissionDefeat")
|
||||
end
|
||||
end
|
||||
elseif message == OnExit then
|
||||
--Do Nothing
|
||||
end
|
||||
end
|
||||
|
||||
-- delay a short time and then start the game
|
||||
function CINE_Start_Mission()
|
||||
Suspend_AI(1)
|
||||
Lock_Controls(1)
|
||||
--Fade_Screen_Out(1)
|
||||
--Sleep(1)
|
||||
Letter_Box_In(0)
|
||||
Start_Cinematic_Camera()
|
||||
Fade_Screen_In(1)
|
||||
Sleep(1)
|
||||
|
||||
MessageBox("Insert Game Intro Cinematic Here")
|
||||
|
||||
Sleep(1)
|
||||
Fade_Screen_Out(1)
|
||||
End_Cinematic_Camera()
|
||||
Letter_Box_Out(.5)
|
||||
Lock_Controls(0)
|
||||
Suspend_AI(0)
|
||||
Sleep(1)
|
||||
Fade_Screen_In(1)
|
||||
Sleep(1)
|
||||
|
||||
MissionPartOneStarted = true
|
||||
end
|
||||
|
||||
function Tyber_Destroyed()
|
||||
DefeatCondition_TyberDead = true
|
||||
end
|
||||
|
||||
function Urai_Destroyed()
|
||||
DefeatCondition_UraiDead = true
|
||||
end
|
||||
|
||||
function DroidWorks_Destroyed()
|
||||
DefeatCondition_DroidWorksDead = true
|
||||
end
|
||||
|
||||
-- triggered when tyber exits the landing pad, to set the mood
|
||||
function Prox_Chatter_BadFeeling(self_obj, trigger_obj)
|
||||
if MissionPartOneStarted then
|
||||
-- CHATTER -- Tyber Zann: "I've got a bad feeling about this."
|
||||
if not trigger_obj then
|
||||
DebugMessage("Warning: prox received a nil trigger_obj .")
|
||||
return
|
||||
end
|
||||
tyber=Find_Nearest(self_obj, "TYBER_ZANN")
|
||||
tyber_distance=self_obj.Get_Distance(tyber)
|
||||
if tyber_distance < 200 then
|
||||
tyber.Play_SFX_Event("SFX_UMP_EmpireKesselAlarm")
|
||||
self_obj.Cancel_Event_Object_In_Range(Prox_Chatter_BadFeeling)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- triggered when the player gets close to the droid pens, which will then begin spawning droids
|
||||
function Prox_StartDestroyers(self_obj, trigger_obj)
|
||||
if MissionPartOneStarted then
|
||||
-- Begin producing destroyer droids
|
||||
if not trigger_obj then
|
||||
DebugMessage("Warning: prox received a nil trigger_obj .")
|
||||
return
|
||||
end
|
||||
closest_infantry = Find_Nearest(self_obj, "TYBER_ZANN")
|
||||
closest_infantry.Play_SFX_Event("SFX_UMP_EmpireKesselAlarm")
|
||||
|
||||
droid1 = Find_Hint("GENERIC_MARKER_LAND","ddroid1")
|
||||
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid1.Get_Position(),empire_player)
|
||||
droid2 = Find_Hint("GENERIC_MARKER_LAND","ddroid2")
|
||||
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid2.Get_Position(),empire_player)
|
||||
droid3 = Find_Hint("GENERIC_MARKER_LAND","ddroid3")
|
||||
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid3.Get_Position(),empire_player)
|
||||
droid4 = Find_Hint("GENERIC_MARKER_LAND","ddroid4")
|
||||
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid4.Get_Position(),empire_player)
|
||||
droid5 = Find_Hint("GENERIC_MARKER_LAND","ddroid5")
|
||||
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid5.Get_Position(),empire_player)
|
||||
droid6 = Find_Hint("GENERIC_MARKER_LAND","ddroid6")
|
||||
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid6.Get_Position(),empire_player)
|
||||
droid7 = Find_Hint("GENERIC_MARKER_LAND","ddroid7")
|
||||
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid7.Get_Position(),empire_player)
|
||||
droid8 = Find_Hint("GENERIC_MARKER_LAND","ddroid8")
|
||||
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid8.Get_Position(),empire_player)
|
||||
|
||||
self_obj.Cancel_Event_Object_In_Range(Prox_StartDestroyers)
|
||||
Create_Thread("StartMissionObjective")
|
||||
end
|
||||
end
|
||||
|
||||
-- delay a short time and then display the mission objective
|
||||
function StartMissionObjective()
|
||||
Sleep(2)
|
||||
Create_Thread("Set_Hint_At_Object",gotcontrols)
|
||||
end
|
||||
|
||||
-- triggered when player gets close to the droid controls for part one of the mission
|
||||
function Prox_HintAtControls(self_obj, trigger_obj)
|
||||
if MissionPartOneStarted then
|
||||
-- CHATTER -- Tyber Zann: "There are the controls!"
|
||||
if not trigger_obj then
|
||||
DebugMessage("Warning: prox received a nil trigger_obj .")
|
||||
return
|
||||
end
|
||||
closest_infantry = Find_Nearest(self_obj, "TYBER_ZANN")
|
||||
closest_infantry.Play_SFX_Event("SFX_UMP_EmpireKesselAlarm")
|
||||
self_obj.Cancel_Event_Object_In_Range(Prox_HintAtControls)
|
||||
end
|
||||
end
|
||||
|
||||
-- triggered when the player gets urai at the controls, triggering part two
|
||||
function Prox_UseControls(self_obj, trigger_obj)
|
||||
if MissionPartOneStarted then
|
||||
if not trigger_obj then
|
||||
DebugMessage("Warning: prox received a nil trigger_obj .")
|
||||
return
|
||||
end
|
||||
urai=Find_Nearest(self_obj, "URAI_FEN")
|
||||
urai_distance=self_obj.Get_Distance(urai)
|
||||
if urai_distance < 60 then
|
||||
self_obj.Cancel_Event_Object_In_Range(Prox_UseControls)
|
||||
self_obj.Cancel_Event_Object_In_Range(Prox_UseControls_Wrong)
|
||||
urai.Play_SFX_Event("SFX_UMP_EmpireKesselAlarm")
|
||||
Create_Thread("Remove_Hint_At_Object",gotcontrols)
|
||||
Create_Thread("UraiUsesControls")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function UraiUsesControls()
|
||||
|
||||
urai_fen=Find_Nearest(Object, "URAI_FEN")
|
||||
urai_fen.Change_Owner(neutral_player)
|
||||
BlockOnCommand(urai_fen.Move_To(gotcontrols))
|
||||
Sleep(5)
|
||||
|
||||
-- finds all destroyer droid spawners and deletes them
|
||||
unit_list = Find_All_Objects_Of_Type("UM02_DESTROYER_SPAWNER")
|
||||
for k, unit in pairs(unit_list) do
|
||||
if TestValid(unit) then
|
||||
unit.Despawn()
|
||||
end
|
||||
end
|
||||
|
||||
-- finds all destroyer droids and deactivates them
|
||||
droid_list = Find_All_Objects_Of_Type("DESTROYER_DROID")
|
||||
for k, unit in pairs(droid_list) do
|
||||
if TestValid(unit) then
|
||||
newunit = Create_Generic_Object("DESTROYER_DROID",unit.Get_Position(),neutral_player)
|
||||
newunit.Teleport_And_Face(unit)
|
||||
newunit.Attach_Particle_Effect("HAN_SOLO_TARGET_STUN_EFFECT")
|
||||
unit.Take_Damage(10000)
|
||||
end
|
||||
end
|
||||
|
||||
Sleep(1)
|
||||
urai_fen.Change_Owner(underworld_player)
|
||||
urai_fen.Play_SFX_Event("SFX_UMP_EmpireKesselAlarm")
|
||||
Sleep(2)
|
||||
Create_Thread("CINE_Mid_Mission")
|
||||
end
|
||||
|
||||
-- triggered when the player gets tyber close to controls
|
||||
function Prox_UseControls_Wrong(self_obj, trigger_obj)
|
||||
if MissionPartOneStarted then
|
||||
-- CHATTER -- Tyber Zann: "I don't know how to use this thing. Urai get over here."
|
||||
if not trigger_obj then
|
||||
DebugMessage("Warning: prox received a nil trigger_obj .")
|
||||
return
|
||||
end
|
||||
tyber=Find_Nearest(self_obj, "TYBER_ZANN")
|
||||
tyber_distance=self_obj.Get_Distance(tyber)
|
||||
if tyber_distance < 60 then
|
||||
tyber.Play_SFX_Event("SFX_UMP_EmpireKesselAlarm")
|
||||
self_obj.Cancel_Event_Object_In_Range(Prox_UseControls_Wrong)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- mid-mission cinematic where jabba lands and gives his best
|
||||
function CINE_Mid_Mission()
|
||||
Suspend_AI(1)
|
||||
Lock_Controls(1)
|
||||
Fade_Screen_Out(1)
|
||||
Sleep(1)
|
||||
Letter_Box_In(0)
|
||||
Start_Cinematic_Camera()
|
||||
Fade_Screen_In(1)
|
||||
Sleep(1)
|
||||
|
||||
MessageBox("Insert Mid-Mission Cinematic Here")
|
||||
|
||||
Sleep(1)
|
||||
Fade_Screen_Out(1)
|
||||
End_Cinematic_Camera()
|
||||
Letter_Box_Out(.5)
|
||||
Lock_Controls(0)
|
||||
Suspend_AI(0)
|
||||
Sleep(1)
|
||||
Fade_Screen_In(1)
|
||||
Sleep(1)
|
||||
|
||||
MissionPartTwoStarted = true
|
||||
end
|
||||
|
||||
function Mid_Mission_Setup()
|
||||
-- Destroys all magnetically sealed doors
|
||||
unit_list = Find_All_Objects_Of_Type("UM02_MAGNETICALLY_SEALED_DOORWAY")
|
||||
for k, unit in pairs(unit_list) do
|
||||
if TestValid(unit) then
|
||||
unit.Take_Damage(50000)
|
||||
end
|
||||
end
|
||||
|
||||
Create_Thread("MidMissionObjective")
|
||||
end
|
||||
|
||||
function Check_LandingPads()
|
||||
reinforce_list = {
|
||||
"Pirate_Soldier_Squad",
|
||||
"Pirate_Plex_Squad"
|
||||
}
|
||||
Register_Timer(JabbaGuysLand, 1)
|
||||
while not VictoryCondition_LandingPads do
|
||||
if pad1.Get_Owner() == underworld_player and not PadOneCaptured then
|
||||
--MessageBox("WOOHOO pad one!!!!")
|
||||
PadOneCaptured = true
|
||||
end
|
||||
if pad2.Get_Owner() == underworld_player and not PadTwoCaptured then
|
||||
--MessageBox("WOOHOO pad two!!!!")
|
||||
PadTwoCaptured = true
|
||||
end
|
||||
if pad3.Get_Owner() == underworld_player and not PadThreeCaptured then
|
||||
--MessageBox("WOOHOO pad three!!!!")
|
||||
PadThreeCaptured = true
|
||||
end
|
||||
if pad4.Get_Owner() == underworld_player and not PadFourCaptured then
|
||||
--MessageBox("WOOHOO pad four!!!!")
|
||||
PadFourCaptured = true
|
||||
end
|
||||
if PadOneCaptured and PadTwoCaptured and PadThreeCaptured and PadFourCaptured then
|
||||
--MessageBox("WOOHOO ALL CAPTURED!!!!")
|
||||
VictoryCondition_LandingPads = true
|
||||
end
|
||||
Sleep(1)
|
||||
end
|
||||
end
|
||||
|
||||
function JabbaGuysLand ()
|
||||
if not PadOneCaptured then
|
||||
ReinforceList(reinforce_list, pad1, empire_player, false, true, true, Find_And_Attack)
|
||||
end
|
||||
if not PadTwoCaptured then
|
||||
ReinforceList(reinforce_list, pad2, empire_player, false, true, true, Find_And_Attack)
|
||||
end
|
||||
if not PadThreeCaptured then
|
||||
ReinforceList(reinforce_list, pad3, empire_player, false, true, true, Find_And_Attack)
|
||||
end
|
||||
if not PadFourCaptured then
|
||||
ReinforceList(reinforce_list, pad4, empire_player, false, true, true, Find_And_Attack)
|
||||
end
|
||||
Register_Timer(JabbaGuysLand, 90)
|
||||
end
|
||||
|
||||
function Find_And_Attack(attack_list)
|
||||
Create_Thread("Hunt_Underworld",attack_list)
|
||||
end
|
||||
|
||||
-- delay a short time and then display the mission objective
|
||||
function MidMissionObjective()
|
||||
Sleep(2)
|
||||
Create_Thread("Set_Hint_At_Object",droidworksloc)
|
||||
|
||||
-- this creates a small timer/re-timer system that checks for victory conditions on landing pads
|
||||
Create_Thread("Check_LandingPads")
|
||||
end
|
||||
|
||||
-- triggered when the player gets urai at the droid works
|
||||
function Prox_CapturedDroidWorks(self_obj, trigger_obj)
|
||||
if MissionPartTwoStarted then
|
||||
if not trigger_obj then
|
||||
DebugMessage("Warning: prox received a nil trigger_obj .")
|
||||
return
|
||||
end
|
||||
urai=Find_Nearest(self_obj, "URAI_FEN")
|
||||
urai_distance=self_obj.Get_Distance(urai)
|
||||
if urai_distance < 60 then
|
||||
self_obj.Cancel_Event_Object_In_Range(Prox_CapturedDroidWorks)
|
||||
urai.Play_SFX_Event("SFX_UMP_EmpireKesselAlarm")
|
||||
Create_Thread("UraiUsesDroidWorks")
|
||||
Create_Thread("Remove_Hint_At_Object",droidworksloc)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function UraiUsesDroidWorks()
|
||||
|
||||
urai_fen=Find_Nearest(Object, "URAI_FEN")
|
||||
urai_fen.Change_Owner(neutral_player)
|
||||
BlockOnCommand(urai_fen.Move_To(droidworksloc))
|
||||
Sleep(5)
|
||||
|
||||
-- changes control of droid works to underworld player
|
||||
droidworks=Find_Hint("U_GROUND_DROID_WORKS","droidworks")
|
||||
VictoryCondition_DroidWorks = true
|
||||
droidworks.Change_Owner(underworld_player)
|
||||
|
||||
-- finds all droid nodes and captures them
|
||||
unit_list = Find_All_Objects_Of_Type("UNDERWORLD_DROID_NODE")
|
||||
for k, unit in pairs(unit_list) do
|
||||
if TestValid(unit) then
|
||||
unit.Change_Owner(underworld_player)
|
||||
end
|
||||
end
|
||||
|
||||
-- finds all destroyer droids and "activates" them
|
||||
droid_list = Find_All_Objects_Of_Type("DESTROYER_DROID")
|
||||
for k, unit in pairs(droid_list) do
|
||||
if TestValid(unit) then
|
||||
unit.Change_Owner(underworld_player)
|
||||
unit.Attach_Particle_Effect("HAN_SOLO_TARGET_STUN_EFFECT")
|
||||
end
|
||||
end
|
||||
|
||||
Sleep(1)
|
||||
urai_fen.Change_Owner(underworld_player)
|
||||
urai_fen.Play_SFX_Event("SFX_UMP_EmpireKesselAlarm")
|
||||
end
|
||||
|
||||
|
||||
-- delay a short time and then show game has been won VICTORY
|
||||
function EndMissionVictory()
|
||||
Suspend_AI(1)
|
||||
Lock_Controls(1)
|
||||
Fade_Screen_Out(1)
|
||||
Sleep(1)
|
||||
Letter_Box_In(0)
|
||||
Start_Cinematic_Camera()
|
||||
Fade_Screen_In(1)
|
||||
Sleep(1)
|
||||
|
||||
MessageBox("Insert Game Victory Cinematic Here")
|
||||
MissionPartTwoStarted = true
|
||||
|
||||
Sleep(1)
|
||||
Fade_Screen_Out(1)
|
||||
End_Cinematic_Camera()
|
||||
Letter_Box_Out(.5)
|
||||
Lock_Controls(0)
|
||||
Suspend_AI(0)
|
||||
Sleep(1)
|
||||
--Fade_Screen_In(1)
|
||||
--Sleep(1)
|
||||
end
|
||||
|
||||
-- delay a short time and then show game has been lost DEFEAT
|
||||
function EndMissionDefeat()
|
||||
Suspend_AI(1)
|
||||
Lock_Controls(1)
|
||||
Fade_Screen_Out(1)
|
||||
Sleep(1)
|
||||
Letter_Box_In(0)
|
||||
Start_Cinematic_Camera()
|
||||
Fade_Screen_In(1)
|
||||
Sleep(1)
|
||||
|
||||
MessageBox("Insert Game Defeat Cinematic Here")
|
||||
MissionPartTwoStarted = true
|
||||
|
||||
Sleep(1)
|
||||
Fade_Screen_Out(1)
|
||||
End_Cinematic_Camera()
|
||||
Letter_Box_Out(.5)
|
||||
Lock_Controls(0)
|
||||
Suspend_AI(0)
|
||||
Sleep(1)
|
||||
--Fade_Screen_In(1)
|
||||
--Sleep(1)
|
||||
end
|
||||
Reference in New Issue
Block a user