Untitled

 avatar
TempAccount
plain_text
a year ago
14 kB
16
Indexable
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }
using { /Verse.org/Simulation/Tags }
using { /Verse.org/Random }

round_debug_draw := class(debug_draw_channel) {}

round_manager_device := class(creative_device):
    @editable
    RoundSettingsOne : round_settings_device = round_settings_device{}
    @editable
    RoundSettingsTwo : round_settings_device = round_settings_device{}
    @editable
    RoundSettingsThree : round_settings_device = round_settings_device{}
    @editable
    VehicleOffsets : []vehicle_offset = array{}
    @editable
    FirstRoundVehicles : []vehicle_spawner_sports_car_device = array{}
    @editable
    SecondRoundVehicles : []vehicle_spawner_valet_suv_device = array{}
    @editable
    ThirdRoundVehicles : []vehicle_spawner_sportbike_device = array{}
    @editable
    RaceCheckpointA1 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointA2 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointA3 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointA4 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointA5 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointA6 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointA7 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointA8 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointB1 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointB2 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointB3 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointB4 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointB5 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointB6 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointB7 : race_checkpoint_device = race_checkpoint_device{}
    @editable
    RaceCheckpointB8 : race_checkpoint_device = race_checkpoint_device{}

    @editable
    RaceTrackBases : []creative_prop = array{}

    # @editable
    # ScoreboardManager : scoreboard_manager_device = scoreboard_manager_device{}


    var PositionsTuple : []vector3 = array{}

    # var CurrentRound : int = 0
    # var CurrentRaceTrack : int = 0
    # var raceTrack : int
    # @editable
    # GameStart : game_start_device = game_start_device{}

    OnBegin<override>()<suspends>:void=
        RoundSettingsOne.RoundBeginEvent.Subscribe(SetCurrentRoundOne)
        # RoundSettingsOne.RoundBeginEvent.Subscribe(SetCurrentRoundTwo)
        # RoundSettingsOne.RoundBeginEvent.Subscribe(SetCurrentRoundThree)
        
        # RoundSettingsTwo.RoundBeginEvent.Subscribe(SetCurrentRoundOne)
        RoundSettingsTwo.RoundBeginEvent.Subscribe(SetCurrentRoundTwo)
        # RoundSettingsTwo.RoundBeginEvent.Subscribe(SetCurrentRoundThree)

        # RoundSettingsThree.RoundBeginEvent.Subscribe(SetCurrentRoundOne)
        # RoundSettingsThree.RoundBeginEvent.Subscribe(SetCurrentRoundTwo)
        RoundSettingsThree.RoundBeginEvent.Subscribe(SetCurrentRoundThree)
        Sleep(1.0)
        # GameStart.GameStartEvent.Await()

        if:
            Val:= SessionData[GetSession()].CurrentRound
        then:
            SetupTrack(Val)
        else:
            Print("Error: No session found")

    SetupTrack(RaceTrack:int):void=
        DebugDraw:debug_draw = debug_draw{Channel := round_debug_draw}
        if(set SessionData[GetSession()].CurrentRaceTrack = RaceTrack):
        # Print("Selected Race Track: {RaceTrack}, Selected Current Round: {CurrentRound}")
        
        XOffset:=1300.0
        YOffset:=2000.0

        var BasePosition : vector3 = vector3:
        if (RaceTrack = 1, TrackBase := RaceTrackBases[0], set BasePosition = TrackBase.GetTransform().Translation):
            set PositionsTuple = {vector3{X:=68822.058134,Y:=62982.618937 + YOffset,Z:=12000.0}, vector3{X:=68822.058134,Y:=27846.469942 + -1*YOffset,Z:=12000.0}}

        else if (RaceTrack = 2, TrackBase := RaceTrackBases[1], set BasePosition = TrackBase.GetTransform().Translation):
            set PositionsTuple = {vector3{X:=-16972.864589, Y:=73079.418831 + YOffset,Z:=-90.0}, vector3{X:=-16972.864589,Y:=25852.138766 + -1*YOffset,Z:=-100.0}}

        else if (RaceTrack = 3, TrackBase := RaceTrackBases[2], set BasePosition = TrackBase.GetTransform().Translation):
            set PositionsTuple = {vector3{X:=-162487.866414,Y:=66282.833086 + YOffset,Z:=-100.0}, vector3{X:=-162487.866414,Y:=37481.444621 + -1*YOffset,Z:=-130.0}}

        else:
            Print("Error: Couldn't fetch transform of creative prop")
        if:
            # Print("Checkpoint A1 Position:{PositionsTuple[0]}")
            # RaceCheckpointA1.TeleportTo[PositionsTuple[0], RaceCheckpointA1.GetTransform().Rotation]
            # Print("Checkpoint A2 Position:{PositionsTuple[0]+vector3{X:=-1*XOffset,Y:=YOffset}}")
            # RaceCheckpointA2.TeleportTo[PositionsTuple[0]+vector3{X:=-1*XOffset,Y:=YOffset}, RaceCheckpointA2.GetTransform().Rotation]
            # Print("Checkpoint A3 Position:{PositionsTuple[0]+vector3{X:=1*XOffset,Y:=YOffset}}")
            # RaceCheckpointA3.TeleportTo[PositionsTuple[0]+vector3{X:=1*XOffset,Y:=YOffset}, RaceCheckpointA3.GetTransform().Rotation]
            # Print("Checkpoint A4 Position:{PositionsTuple[0]+ vector3{X:=-2*XOffset,Y:=2*YOffset}}")
            # RaceCheckpointA4.TeleportTo[PositionsTuple[0]+ vector3{X:=-2*XOffset,Y:=2*YOffset}, RaceCheckpointA2.GetTransform().Rotation]
            # Print("Checkpoint A5 Position:{PositionsTuple[0]}")
            # RaceCheckpointA5.TeleportTo[PositionsTuple[0], RaceCheckpointA1.GetTransform().Rotation]
            # Print("Checkpoint A6 Position:{PositionsTuple[0]+vector3{X:=-1*XOffset,Y:=YOffset}}")
            # RaceCheckpointA6.TeleportTo[PositionsTuple[0]+vector3{X:=-1*XOffset,Y:=YOffset}, RaceCheckpointA2.GetTransform().Rotation]
            # Print("Checkpoint A7 Position:{PositionsTuple[0]+vector3{X:=1*XOffset,Y:=YOffset}}")
            # RaceCheckpointA7.TeleportTo[PositionsTuple[0]+vector3{X:=1*XOffset,Y:=YOffset}, RaceCheckpointA3.GetTransform().Rotation]
            # Print("Checkpoint A8 Position:{PositionsTuple[0]+ vector3{X:=-2*XOffset,Y:=2*YOffset}}")
            # RaceCheckpointA8.TeleportTo[PositionsTuple[0]+ vector3{X:=-2*XOffset,Y:=2*YOffset}, RaceCheckpointA2.GetTransform().Rotation]

            # Print("Checkpoint B1 Position:{PositionsTuple[1]}")
            # RaceCheckpointB1.TeleportTo[PositionsTuple[1], RaceCheckpointB1.GetTransform().Rotation]
            # Print("Checkpoint B2 Position:{PositionsTuple[1]+vector3{X:=-1*XOffset,Y:=-1*YOffset}}")
            # RaceCheckpointB2.TeleportTo[PositionsTuple[1]+vector3{X:=-1*XOffset,Y:=-1*YOffset}, RaceCheckpointB2.GetTransform().Rotation]
            # Print("Checkpoint B3 Position:{PositionsTuple[1]+vector3{X:=1*XOffset,Y:=-1*YOffset}}")
            # RaceCheckpointB3.TeleportTo[PositionsTuple[1]+vector3{X:=1*XOffset,Y:=-1*YOffset}, RaceCheckpointB3.GetTransform().Rotation]
            # Print("Checkpoint B4 Position:{PositionsTuple[1]+vector3{X:=-2*XOffset,Y:=-2*YOffset}}")
            # RaceCheckpointB4.TeleportTo[PositionsTuple[1]+vector3{X:=-2*XOffset,Y:=-2*YOffset}, RaceCheckpointB2.GetTransform().Rotation]
            # Print("Checkpoint B5 Position:{PositionsTuple[1]}")
            # RaceCheckpointB5.TeleportTo[PositionsTuple[1], RaceCheckpointB1.GetTransform().Rotation]
            # Print("Checkpoint B6 Position:{PositionsTuple[1]+vector3{X:=-1*XOffset,Y:=-1*YOffset}}")
            # RaceCheckpointB6.TeleportTo[PositionsTuple[1]+vector3{X:=-1*XOffset,Y:=-1*YOffset}, RaceCheckpointB2.GetTransform().Rotation]
            # Print("Checkpoint B7 Position:{PositionsTuple[1]+vector3{X:=1*XOffset,Y:=-1*YOffset}}")
            # RaceCheckpointB7.TeleportTo[PositionsTuple[1]+vector3{X:=1*XOffset,Y:=-1*YOffset}, RaceCheckpointB3.GetTransform().Rotation]
            # Print("Checkpoint B8 Position:{PositionsTuple[1]+vector3{X:=-2*XOffset,Y:=-2*YOffset}}")
            # RaceCheckpointB8.TeleportTo[PositionsTuple[1]+vector3{X:=-2*XOffset,Y:=-2*YOffset}, RaceCheckpointB2.GetTransform().Rotation]
            Print("Checkpoint A1 Position:{PositionsTuple[0]}")
            RaceCheckpointA1.TeleportTo[PositionsTuple[0] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointA1.GetTransform().Rotation]
            Print("Checkpoint A2 Position:{PositionsTuple[0]}")
            RaceCheckpointA2.TeleportTo[PositionsTuple[0] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointA1.GetTransform().Rotation]
            Print("Checkpoint A3 Position:{PositionsTuple[0]}")
            RaceCheckpointA3.TeleportTo[PositionsTuple[0] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointA1.GetTransform().Rotation]
            Print("Checkpoint A4 Position:{PositionsTuple[0]}")
            RaceCheckpointA4.TeleportTo[PositionsTuple[0] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointA1.GetTransform().Rotation]
            Print("Checkpoint A5 Position:{PositionsTuple[0]}")
            RaceCheckpointA5.TeleportTo[PositionsTuple[0] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointA1.GetTransform().Rotation]
            Print("Checkpoint A6 Position:{PositionsTuple[0]}")
            RaceCheckpointA6.TeleportTo[PositionsTuple[0] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointA1.GetTransform().Rotation]
            Print("Checkpoint A7 Position:{PositionsTuple[0]}")
            RaceCheckpointA7.TeleportTo[PositionsTuple[0] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointA1.GetTransform().Rotation]
            Print("Checkpoint A8 Position:{PositionsTuple[0]}")
            RaceCheckpointA8.TeleportTo[PositionsTuple[0] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointA1.GetTransform().Rotation]

            Print("Checkpoint B1 Position:{PositionsTuple[1]}")
            RaceCheckpointB1.TeleportTo[PositionsTuple[1] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointB1.GetTransform().Rotation]
            Print("Checkpoint B2 Position:{PositionsTuple[1]}")
            RaceCheckpointB2.TeleportTo[PositionsTuple[1] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointB1.GetTransform().Rotation]
            Print("Checkpoint B3 Position:{PositionsTuple[1]}")
            RaceCheckpointB3.TeleportTo[PositionsTuple[1] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointB1.GetTransform().Rotation]
            Print("Checkpoint B4 Position:{PositionsTuple[1]}")
            RaceCheckpointB4.TeleportTo[PositionsTuple[1] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointB1.GetTransform().Rotation]
            Print("Checkpoint B5 Position:{PositionsTuple[1]}")
            RaceCheckpointB5.TeleportTo[PositionsTuple[1] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointB1.GetTransform().Rotation]
            Print("Checkpoint B6 Position:{PositionsTuple[1]}")
            RaceCheckpointB6.TeleportTo[PositionsTuple[1] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointB1.GetTransform().Rotation]
            Print("Checkpoint B7 Position:{PositionsTuple[1]}")
            RaceCheckpointB7.TeleportTo[PositionsTuple[1] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointB1.GetTransform().Rotation]
            Print("Checkpoint B8 Position:{PositionsTuple[1]}")
            RaceCheckpointB8.TeleportTo[PositionsTuple[1] + vector3{Y:=1.0*GetRandomInt(0,10)}, RaceCheckpointB1.GetTransform().Rotation]
       
        else:
            Print("Failed to teleport Race Track Checkpoint ")

        if:
            RaceTrack=1
        then:
            Print("Current Racetrack is 1")
            for:
                Idx -> RoundVehicle : FirstRoundVehicles
                Pos := BasePosition + VehicleOffsets[Idx].Offset
                RoundVehicle.TeleportTo[
                    Pos,
                    RoundVehicle.GetTransform().Rotation
                ]
            do:
                Print("Teleported Vehicle no.{Idx} on Racetrack 1 to {Pos}")
                DebugDraw.DrawPoint(Pos , ?Thickness:= 30.0, ?DrawDurationPolicy := debug_draw_duration_policy.Persistent)

        else if:
            RaceTrack=2
        then:
            Print("Current Racetrack is 2")
            for:
                Idx -> RoundVehicle : SecondRoundVehicles
                Pos := BasePosition + VehicleOffsets[Idx].Offset
                RoundVehicle.TeleportTo[
                    Pos,
                    RoundVehicle.GetTransform().Rotation
                ]
            do:
                Print("Teleported Vehicle no.{Idx} on Racetrack 2 to {Pos}")
        else if:
            RaceTrack=3
        then:
            Print("Current Racetrack is 3")
            for:
                Idx -> RoundVehicle : ThirdRoundVehicles
                Pos := BasePosition + VehicleOffsets[Idx].Offset
                RoundVehicle.TeleportTo[
                    Pos,
                    RoundVehicle.GetTransform().Rotation
                ]
            do:
                Print("Teleported Vehicle no.{Idx} on Racetrack 3 to {Pos}")
        # for:
        #     Idx -> 
        #     vehicle_spawner_sports_car_device[]
        # do:
        #     Print("Vehicle Teleport Place:{BasePosition+VehicleOffset.Offset}, Offset: {VehicleOffset.Offset}")

    SetCurrentRoundOne():void=
        if(set SessionData[GetSession()].CurrentRound=1):
    SetCurrentRoundTwo():void=
        if(set SessionData[GetSession()].CurrentRound=2):
    SetCurrentRoundThree():void= 
        if(set SessionData[GetSession()].CurrentRound=3):


    
vehicle_offset := class<concrete>:
    # @editable
    # var SportCar : vehicle_spawner_device = vehicle_spawner_dirtbike_device{}
    @editable
    Offset : vector3 = vector3{}
Editor is loading...
Leave a Comment