VerseIsland
Feed Learn Leaderboard Guides Reference Explore Search Docs Verse Library
Sign in
Feed Learn 📖 Codex Leaderboard Guides Reference Explore Search Docs Verse Library
Verse Library › Devices
Browse Verse Library

Library

Devices 634
  • Devices171
  • Triggers & Logic118
  • UI & HUD40
  • Audio39
  • Items & Inventory29
  • Events27
  • Scoring & Objectives25
  • Spawning19
  • Classes & Interfaces18
  • Game Modes17
  • Props & Meshes14
  • Variables & Mutability12
  • Player Management11
  • Modules & Structure10
  • Round Flow8
  • Animation6
  • Concurrency6
  • Functions6
  • Getting Started6
  • Teams & Classes6
  • NPCs & AI5
  • Tutorials5
  • VFX & Particles5
  • Arrays & Maps4
  • Cameras4
  • Debugging4
  • Control Flow3
  • Cinematics2
  • Other2
  • Persistence2
  • Scene Graph2
  • Structs & Enums2
  • Building1
  • Physics1
  • Publishing & Islands1
  • Syntax & Types1
  • Vehicles1
  • Weapons1
Verse Language 257
  • Control Flow35
  • Functions26
  • Arrays & Maps25
  • Classes & Interfaces22
  • Variables & Mutability22
  • Concurrency21
  • Syntax & Types18
  • Modules & Structure12
  • Debugging8
  • Devices8
  • Events7
  • Player Management6
  • Structs & Enums6
  • Triggers & Logic6
  • Game Modes5
  • Failure & Options4
  • Scene Graph4
  • UI & HUD4
  • Getting Started3
  • Round Flow3
  • Spawning3
  • VFX & Particles3
  • Reference2
  • Animation1
  • Best Practices1
  • Other1
  • Props & Meshes1
Materials/VFX 154
  • Triggers & Logic27
  • UI & HUD17
  • Devices16
  • VFX & Particles14
  • Props & Meshes11
  • Scoring & Objectives9
  • Game Modes7
  • Items & Inventory7
  • Functions6
  • Arrays & Maps5
  • Animation3
  • Cinematics3
  • Classes & Interfaces3
  • Control Flow3
  • Events3
  • Modules & Structure3
  • Round Flow3
  • Spawning3
  • Getting Started2
  • Scene Graph2
  • Variables & Mutability2
  • Concurrency1
  • Persistence1
  • Player Management1
  • Structs & Enums1
  • Syntax & Types1
General 153
  • Devices22
  • Events20
  • Triggers & Logic20
  • Classes & Interfaces10
  • Variables & Mutability8
  • Round Flow6
  • Scoring & Objectives6
  • UI & HUD6
  • Functions5
  • Player Management5
  • Game Modes4
  • Getting Started4
  • Props & Meshes4
  • Control Flow3
  • Syntax & Types3
  • VFX & Particles3
  • Arrays & Maps2
  • Best Practices2
  • NPCs & AI2
  • Other2
  • Physics2
  • Scene Graph2
  • Spawning2
  • Structs & Enums2
  • Tutorials2
  • Building1
  • Cameras1
  • Cinematics1
  • Failure & Options1
  • Items & Inventory1
  • Teams & Classes1
Player 133
  • Player Management22
  • Teams & Classes19
  • Classes & Interfaces12
  • Devices11
  • Events9
  • Persistence7
  • Triggers & Logic7
  • Arrays & Maps6
  • Functions4
  • Game Modes4
  • Items & Inventory4
  • Round Flow4
  • Debugging3
  • Getting Started3
  • Modules & Structure3
  • Concurrency2
  • Control Flow2
  • Scoring & Objectives2
  • Spawning2
  • Structs & Enums2
  • Physics1
  • Props & Meshes1
  • UI & HUD1
  • Variables & Mutability1
  • Weapons1
Building & Props 131
  • Variables & Mutability15
  • Props & Meshes14
  • Triggers & Logic12
  • Classes & Interfaces10
  • Devices10
  • UI & HUD10
  • Events7
  • Teams & Classes7
  • Animation5
  • Building5
  • Functions5
  • VFX & Particles5
  • Structs & Enums4
  • Control Flow3
  • Game Modes3
  • Items & Inventory3
  • Round Flow3
  • Scene Graph3
  • Arrays & Maps2
  • Concurrency2
  • Reference2
  • Modules & Structure1
NPCs & AI 76
  • NPCs & AI35
  • Spawning7
  • Animation5
  • Variables & Mutability5
  • Classes & Interfaces3
  • Debugging3
  • UI & HUD3
  • Audio2
  • Concurrency2
  • Game Modes2
  • Props & Meshes2
  • Triggers & Logic2
  • Devices1
  • Functions1
  • Getting Started1
  • Reference1
  • VFX & Particles1
Spawning 73
  • Spawning31
  • Events7
  • Concurrency6
  • Player Management6
  • Vehicles5
  • Props & Meshes4
  • Devices3
  • Scene Graph3
  • Items & Inventory2
  • Teams & Classes2
  • Control Flow1
  • Publishing & Islands1
  • Reference1
  • Scoring & Objectives1
Cinematics 71
  • Cameras19
  • Cinematics15
  • Devices11
  • Audio5
  • Animation4
  • Triggers & Logic4
  • Functions2
  • Game Modes2
  • UI & HUD2
  • Classes & Interfaces1
  • Concurrency1
  • Control Flow1
  • Items & Inventory1
  • Modules & Structure1
  • Scene Graph1
  • Templates1
UI 57
  • UI & HUD35
  • Devices5
  • Scoring & Objectives4
  • Classes & Interfaces3
  • Round Flow2
  • Scene Graph2
  • Arrays & Maps1
  • Props & Meshes1
  • Structs & Enums1
  • Templates1
  • Triggers & Logic1
  • Variables & Mutability1
Scene Graph 40
  • Scene Graph9
  • Items & Inventory8
  • Classes & Interfaces3
  • Events3
  • Props & Meshes3
  • Functions2
  • Arrays & Maps1
  • Building1
  • Control Flow1
  • Debugging1
  • Modules & Structure1
  • Player Management1
  • Reference1
  • Structs & Enums1
  • Syntax & Types1
  • Triggers & Logic1
  • UI & HUD1
  • VFX & Particles1
Vehicles 38
  • Spawning11
  • Devices7
  • Vehicles7
  • Props & Meshes4
  • Functions2
  • Game Modes2
  • Failure & Options1
  • Items & Inventory1
  • Reference1
  • Teams & Classes1
  • Tutorials1
Tutorials 37
  • Game Modes6
  • Triggers & Logic5
  • Classes & Interfaces4
  • Events4
  • Props & Meshes3
  • Building2
  • Devices2
  • Items & Inventory2
  • Scoring & Objectives2
  • Animation1
  • Arrays & Maps1
  • Cameras1
  • Concurrency1
  • Physics1
  • Player Management1
  • Structs & Enums1
Weapons 30
  • Game Modes6
  • Weapons6
  • Devices5
  • Items & Inventory3
  • Scoring & Objectives3
  • Spawning2
  • Teams & Classes2
  • Best Practices1
  • Functions1
  • Triggers & Logic1
Items 28
  • Items & Inventory23
  • Devices2
  • Triggers & Logic2
  • Spawning1
Assets 20
  • Modules & Structure6
  • Arrays & Maps3
  • Functions3
  • Scene Graph2
  • Best Practices1
  • Devices1
  • Events1
  • Failure & Options1
  • Physics1
  • Variables & Mutability1
Animation 19
  • Animation10
  • Variables & Mutability4
  • Devices1
  • Player Management1
  • Props & Meshes1
  • Scene Graph1
  • Syntax & Types1
Release Notes 17
  • Classes & Interfaces5
  • Modules & Structure3
  • Concurrency2
  • Control Flow2
  • Variables & Mutability2
  • Debugging1
  • Devices1
  • Items & Inventory1
Input & Controls 16
  • Functions4
  • UI & HUD3
  • Control Flow2
  • Animation1
  • Arrays & Maps1
  • Cinematics1
  • Debugging1
  • Devices1
  • Events1
  • Items & Inventory1
Publishing 8
  • Control Flow5
  • Arrays & Maps1
  • Devices1
  • Syntax & Types1
Audio 7
  • Audio5
  • UI & HUD2
Landscape 7
  • Other4
  • VFX & Particles2
  • Scene Graph1
Persistence 6
  • Structs & Enums2
  • Items & Inventory1
  • Persistence1
  • Publishing & Islands1
  • Variables & Mutability1
Physics 5
  • Functions2
  • Classes & Interfaces1
  • Devices1
  • Syntax & Types1
Creator Economy 3
  • Publishing & Islands2
  • Modules & Structure1
Discovery 3
  • Devices1
  • NPCs & AI1
  • Structs & Enums1
Editor & Project 3
  • Other1
  • Props & Meshes1
  • Tutorials1

Debug Log Window

Module — 2 files
These files compile together (same module folder).
file_1.verse
GDebugLog<public> := module:

    <#
        Created by Gorosuke
        Version: 1.1.0
        
        Don't rename these modules
        モジュール名の変更はしないでください
    #>

    using { /Verse.org/Assets }
    using { /Verse.org/Colors }
    using { /Verse.org/Simulation }
    using { /UnrealEngine.com/Temporary/SpatialMath }
    using { /UnrealEngine.com/Temporary/UI }
    using { /Fortnite.com/Characters }
    using { /Fortnite.com/Devices }
    using { /Fortnite.com/UI }

    using { Categories }
    using { Data }
    using { Devices }
    using { Internal }
    using { Functions }
    using { Widgets }
    using { WidgetInternal }

    Devices<public> := module:

        debug_log_device<public> := class(creative_device):

            @editable
            DebugMode<private>:debug_mode = debug_mode.Development

            @editable
            ShowButton:button_device = button_device{}

            @editable
            MaxLog:?int = option{100}

            var DebugLogWindow<private>:[player]debug_log_widget = map{}

            OnBegin<override>()<suspends>:void=
                set GetDebugData().DebugMode = DebugMode
                set GetDebugData().MaxLog = MaxLog
                if(DebugMode <> debug_mode.Release):
                    ShowButton.InteractedWithEvent.Subscribe(OnInteractShow)

            Show<public><final>(InPlayer:player):void=
                if(not DebugLogWindow[InPlayer]):
                    NewWindow := MakeDebugLogWidget(InPlayer)
                    NewWindow.Show()
                    if(set DebugLogWindow[InPlayer] = NewWindow):
                        spawn{AwaitUIClose(NewWindow)}

            Hide<public><final>(InPlayer:player):void=
                if(Window := DebugLogWindow[InPlayer]):
                    Window.Hide()
                set DebugLogWindow = DebugLogWindow.RemoveKey(InPlayer)

            ShowAll<public><final>():void=
                for(PlayerElement : GetPlayspace().GetPlayers()):
                    Show(PlayerElement)

            HideAll<public><final>():void=
                for(PlayerElement : GetPlayspace().GetPlayers()):
                    Hide(PlayerElement)

            RegisterWindow<public><final>(InWindow:debug_log_window):void=
                return

            AwaitUIClose<private>(InWidget:debug_log_widget)<suspends>:void=
                InWidget.ClosedEvent.Await()
                set DebugLogWindow = DebugLogWindow.RemoveKey(InWidget.Player)

            OnInteractShow(Agent:agent):void=
                if(Player := player[Agent]):
                    Show(Player)

    DeviceCommandInput<public> := module:

        input_info<internal> := class<concrete>:
            @editable
            InputTrigger<public>:input_trigger_device = input_trigger_device{}

            @editable
            ApplyHoldTime<public>:range_float = range_float{}

        debug_log_device_command_input<public> := class(debug_log_device):
            @editable
            ShowInput:[]input_info = array{}

            var TryAgents<private>:[]agent = array{}

            OnBegin<override>()<suspends>:void=
                (super:)OnBegin()
                AwaitFirstInput()

            AwaitFirstInput<private><final>()<suspends>:void=
                if(FirstInput := ShowInput[0]):
                    loop:
                        FirstInputAgent := FirstInput.InputTrigger.PressedEvent.Await()
                        if(not TryAgents.Find[FirstInputAgent], Player := player[FirstInputAgent], GetDebugData().IsEnabledInputShow?):
                            set TryAgents += array{FirstInputAgent}
                            spawn{CheckInput(Player)}

            CheckInput<private><final>(InPlayer:player)<suspends>:void=
                defer:
                    set TryAgents = TryAgents.RemoveAllElements(InPlayer)
                for(InputElement : ShowInput):
                    ReleasedInfo := AwaitTargetPlayerReleased(InPlayer, InputElement.InputTrigger)
                    Sleep(0.0)
                    if(not IsInRange[ReleasedInfo(1), InputElement.ApplyHoldTime]):
                        return
                Self.Show(InPlayer)

            AwaitTargetPlayerReleased<private><final>(InPlayer:player, InInputTrigger:input_trigger_device)<suspends>:tuple(player, float)=
                loop:
                    ReleasedInfo := InInputTrigger.ReleasedEvent.Await()
                    if(ReleasedInfo(0) = InPlayer):
                        return (InPlayer, ReleasedInfo(1))

    Categories<public> := module:
        
        Normal<public>:category = category:
            Prefix := option{"Normal"}
            NameID := "Normal"
            Color := NamedColors.LightSkyBlue

        Warning<public>:category = category:
            Prefix := option{"Warning"}
            NameID := "Warning"
            Color := NamedColors.Yellow

        Error<public>:category = category:
            Prefix := option{"Error"}
            NameID := "Error"
            Color := NamedColors.Red

        category<public> := class<computes>:
            # {Prefix} | {debug_log_data.Message} | {Suffix}で表記される。
            Prefix<public>:?string = false
            Suffix<public>:?string = false
            # カテゴリの参照名を指定する。同名にすると同じカテゴリとして扱われる。
            NameID<public>:string
            Color<public>:color = NamedColors.White
            Icon<public>:?texture = false

    Data<public> := module:
        
        debug_mode<public> := enum:
            Development
            Simulation
            Release

        MakeDebugLog<public><constructor>(InMessage:string, InCategory:category, ?InChannel:debug_mode=debug_mode.Development)<transacts> := debug_log:
            Message := InMessage
            Category := InCategory
            Channel := InChannel
            Date := GetSimulationElapsedTime()

        MakeDebugLogAgent<public><constructor>(
            InMessage:string, InCategory:category, InAgent:agent, ?InChannel:debug_mode=debug_mode.Development
        )<transacts> := debug_log_agent:
            MakeDebugLog<constructor>(InMessage, InCategory, ?InChannel:=InChannel)
            Agent := InAgent

        MakeDebugLogVector3<public><constructor>(
            InMessage:string, InCategory:category, InVector3:vector3, ?InChannel:debug_mode=debug_mode.Development
        )<transacts> := debug_log_vector3:
            MakeDebugLog<constructor>(InMessage, InCategory, ?InChannel:=InChannel)
            Vector3 := InVector3

        debug_log<public> := class<computes><internal>:
            Category<public>:category
            Message<public>:string
            Date<public>:float
            Channel<public>:debug_mode

        debug_log_agent<public> := class<internal>(debug_log):
            Agent<public>:agent

        debug_log_vector3<public> := class<internal>(debug_log):
            Vector3<public>:vector3

        ToString<public>(InData:debug_log)<computes><reads>:string=
            Prefix := 
                if(Value := InData.Category.Prefix?):
                    "{Value} | "
                else:
                    ""
            Suffix :=
                if(Value := InData.Category.Suffix?):
                    " | {Value}"
                else:
                    ""
            "{Prefix}{InData.Message}{Suffix}"

    Logger<public> := module:

        NormalLog<public>(InMessage:string)<transacts>:void=
            NewDebugLog := MakeDebugLog(InMessage, Categories.Normal)
            PrintLog(NewDebugLog)

        WarningLog<public>(InMessage:string)<transacts>:void=
            NewDebugLog := MakeDebugLog(InMessage, Categories.Warning)
            PrintLog(NewDebugLog)

        ErrorLog<public>(InMessage:string)<transacts>:void=
            NewDebugLog := MakeDebugLog(InMessage, Categories.Error)
            PrintLog(NewDebugLog)

        CategoryLog<public>(InMessage:string, InCategory:category)<transacts>:void=
            NewDebugLog := MakeDebugLog(InMessage, InCategory)
            PrintLog(NewDebugLog)

        PrintLog<public>(InData:debug_log)<transacts>:void=
            AddLog(InData)
            if(IsDisplayable[InData.Channel]):
                DebugMessage := "{InData}"
                Print("{DebugMessage}", ?Color:=InData.Category.Color)

        AddLog<public>(InData:debug_log)<transacts>:void=
            set GetDebugData().DebugLogs += array{InData}
            if:
                MaxLength := GetDebugData().MaxLog?
                GetDebugData().DebugLogs.Length > MaxLength
                SlicedLogs := GetDebugData().DebugLogs.Slice[GetDebugData().DebugLogs.Length-MaxLength]
                set GetDebugData().DebugLogs = SlicedLogs

    Functions<public> := module:

        GetAllLogs<public>()<transacts>:[]debug_log=
            GetDebugData().DebugLogs

        GetLogs<public>(InCategory:category)<transacts>:[]debug_log=
            for(DataElemenet : GetDebugData().DebugLogs, DataElemenet.Category.NameID = InCategory.NameID):
                DataElemenet

        ClearLogs<public>()<transacts>:void=
            set GetDebugData().DebugLogs = array{}

        GetUsedCategories<public>()<transacts>:[]category=
            var Result:[]category = array{}
            for(DataElement : GetDebugData().DebugLogs):
                if:
                    not (
                        for(ResultElement : Result, ResultElement.NameID = DataElement.Category.NameID):
                            ResultElement
                    )[0]
                then:
                    set Result += array{DataElement.Category}
            Result

        SetDebugMode<public>(InMode:debug_mode)<transacts>:void=
            set GetDebugData().DebugMode = InMode

    Widgets<public> := module:

        MakeDebugLogWidget<public><constructor>(InPlayer:player, ?InWindows:[]debug_log_window=array{})<transacts> := debug_log_widget:
            Player := InPlayer
            CustomWindows := InWindows

        debug_log_window<public> := class<abstract><unique>:

            Title<public><localizes>:message="Debug Log Window"
            TitleButton<public><final>:text_button_base = button_loud{}

            var<private> MyCanvas<public>:canvas = canvas{}
            var<private> Layers<public>:[]canvas = array{}
            Order<public>:int = 0

            Create<public>():canvas=
                CreateLayers()
                SetLayer(0)
                NewCanvas := CreateCanvas()
                set MyCanvas = NewCanvas
                NewCanvas

            CreateCanvas<private>():canvas=
                canvas:
                    Slots := 
                        for(LayerElement : Layers):
                            canvas_slot:
                                Anchors := anchors:
                                    Minimum := vector2{X := 0.0, Y := 0.0}
                                    Maximum := vector2{X := 1.0, Y := 1.0}
                                Widget := LayerElement

            AddLayer<protected>(InLayer:canvas):void=
                set Layers += array{InLayer}

            SetLayer<public>(InIndex:int):void=
                for(Index -> LayerElement : Layers):
                    if(Index = InIndex):
                        LayerElement.SetVisibility(widget_visibility.Visible)
                    else:
                        LayerElement.SetVisibility(widget_visibility.Collapsed)

            CreateLayers<protected>():void

            Update<public>():void=
                return

            SetEnabled<public>(IsEnabled:logic):void=
                if(IsEnabled?):
                    MyCanvas.SetVisibility(widget_visibility.Visible)
                else:
                    MyCanvas.SetVisibility(widget_visibility.Hidden)

            AwaitEvents<public>()<suspends>:void=
                Sleep(Inf)

    WidgetLogHistory<public> := module:

        MessageOpenButton<public><localizes>:message="Open"
        MessageScrollUpButton<public><localizes>:message="↑"
        MessageScrollDownButton<public><localizes>:message="↓"

        # コンフィグウィンドウを作るまでの仮置き
        MessageIsEnabledInputShowButton<public><localizes>:message="Input: Enabled"
        MessageIsDisabledInputShowButton<public><localizes>:message="Input: Disabled"

        card_sort_mode<internal> := enum:
            Least
            Oldest

        ToString<internal>(InMode:card_sort_mode)<computes><reads>:string=
            case(InMode):
                card_sort_mode.Least=> "Least"
                card_sort_mode.Oldest=> "Oldest"

        ToSortMode<internal>:[int]card_sort_mode = map:
            0 => card_sort_mode.Least
            1 => card_sort_mode.Oldest

        debug_log_card<internal> := class:
            Background<public>:color_block
            TextBackground<public>:color_block
            IconOr<public>:color_block
            Text<public>:text_button_base
            TimeText<public>:text_block
            TimeTextBackground<public>:color_block
            OpenButton<public>:text_button_base

            SetVisible<public>(IsVisible:logic):void=
                if(IsVisible?):
                    Background.SetVisibility(widget_visibility.Visible)
                    TextBackground.SetVisibility(widget_visibility.Visible)
                    IconOr.SetVisibility(widget_visibility.Visible)
                    Text.SetVisibility(widget_visibility.Visible)
                    OpenButton.SetVisibility(widget_visibility.Visible)
                    TimeText.SetVisibility(widget_visibility.Visible)
                    TimeTextBackground.SetVisibility(widget_visibility.Visible)
                else:
                    Background.SetVisibility(widget_visibility.Collapsed)
                    TextBackground.SetVisibility(widget_visibility.Collapsed)
                    IconOr.SetVisibility(widget_visibility.Collapsed)
                    Text.SetVisibility(widget_visibility.Collapsed)
                    OpenButton.SetVisibility(widget_visibility.Collapsed)
                    TimeText.SetVisibility(widget_visibility.Collapsed)
                    TimeTextBackground.SetVisibility(widget_visibility.Collapsed)

        debug_log_detail<internal> := class:
            Background<public>:color_block
            Header<public>:color_block
            CategoryTitle<public>:text_button_base
            TrackedDate<public>:text_button_base
            Message<public>:text_block
            AgentName<public>:text_button_base
            TeleportToButton<public>:text_button_base
            CloseButton<public>:text_button_base

            Update<public>(InLog:debug_log):void=
                Header.SetColor(InLog.Category.Color)
                CategoryTitle.SetText(StringToMessage("{InLog.Category.NameID}"))
                TrackedDate.SetText(StringToMessage(ToMMSS(InLog.Date)))
                Message.SetText(StringToMessage("{InLog.Message}"))
                CategoryTitle.SetEnabled(false)
                TrackedDate.SetEnabled(false)

                if(AgentData := debug_log_agent[InLog]):
                    AgentName.SetVisibility(widget_visibility.Visible)
                    AgentName.SetText(AgentToMessage(AgentData.Agent))
                else:
                    AgentName.SetVisibility(widget_visibility.Collapsed)

                if(Vector3Data := debug_log_vector3[InLog]):
                    TeleportToButton.SetVisibility(widget_visibility.Visible)
                    TeleportToButton.SetText(StringToMessage("{Vector3Data.Vector3}"))
                else:
                    TeleportToButton.SetVisibility(widget_visibility.Collapsed)

        debug_log_window_history<public> := class(debug_log_window):
            Title<override><localizes>:message="Log History"

            var DebugLogCards<private>:[]debug_log_card = array{}
            ScrollUpButton<private>:text_button_base = button_loud{DefaultText := MessageScrollUpButton}
            ScrollDownButton<private>:text_button_base = button_loud{DefaultText := Message
hello_world_device.verse
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Random }
using { /Fortnite.com/Characters }
using { /Fortnite.com/Game }
using { /Verse.org/Colors }

using { GDebugLog.Data }
using { GDebugLog }
using { GDebugLog.Logger }
using { GDebugLog.Categories }

hello_world_device := class(creative_device):

    @editable
    Button: button_device = button_device{}

    @editable
    Button2 : button_device = button_device{}

    CustomAgentCategory : category = category:
        NameID := "Agents"
        Color := NamedColors.Blue

    CustomVectorCategory : category = category:
        NameID := "Vectors"
        Color := NamedColors.Green

    PlayerEventCategory : category = category:
        NameID := "Player Events"
        Color := NamedColors.Pink

    PassedTimeCategory : category = category:
        NameID := "Passed Time"
        Color := NamedColors.SkyBlue

    OnBegin<override>()<suspends>:void=
        NormalLog("Called On Begin")
        for(Player : GetPlayspace().GetPlayers(), FortChar := Player.GetFortCharacter[]):
            FortChar.JumpedEvent().Subscribe(OnJumped)
            FortChar.CrouchedEvent().Subscribe(OnCrouched)
            FortChar.EliminatedEvent().Subscribe(OnEliminated)
            NormalLog("サブスクライブが完了しました。")

        sync:
            loop:
                Target := Button.InteractedWithEvent.Await()
                NewLog := MakeDebugLogAgent("プレイヤーがボタンを押した", CustomAgentCategory, Target)
                PrintLog(NewLog)
            loop:
                Button2.InteractedWithEvent.Await()
                RandomVector := vector3:
                    X := GetRandomFloat(-2500.0, 2500.0)
                    Y := GetRandomFloat(-2500.0, 2500.0)
                    Z := 100.0
                NewLog := MakeDebugLogVector3("ランダムな座標が指定された", CustomVectorCategory, RandomVector)
                PrintLog(NewLog)
            loop:
                Sleep(10.0)
                CategoryLog("10秒経過しました。", PassedTimeCategory)

    OnJumped(FortChar:fort_character):void=
        CategoryLog("Called On Jumped", PlayerEventCategory)

    OnCrouched(FortChar:fort_character, IsCrouching:logic):void=
        if(IsCrouching?):
            CategoryLog("Called On Crouched", PlayerEventCategory)
        else:
            WarningLog("Called On UnCrouched")

    OnEliminated(ElimResult:elimination_result):void=
        ErrorLog("Called On Eliminated")
Sign in to download module

Copy-paste each file above is always free.

Comments

    Sign in to vote, comment, or suggest an edit. Sign in
    📄
    Source
    @int
    Epic Games Community
    @int

    Created by a member of the Epic Games community. Rights remain with the original author, under Epic's community content terms. Terms ↗

    View original Sources & licensing
    Request removal
    Last updated Jun 23, 2026
    Verse module (2 files)
    Build failed · 1 error

    Download the full module (zip) from the code panel above.

    Keep exploring
    More in Verse Language · 96 of 106
    Prev
    fortnite relic royale 0044 2395 4081
    Next
    fortnite height meter for onlyup style maps
    Related topics
    • Debug Your Game With Debug Draw In Verse Verse Language
    • diagnostics Verse Language
    • diagnostics Verse Language
    • Debug Settings In Fortnite Creative General
    • Log Level Verse Language

    Related

    Open in graph →

    Related topics

    • Debug Your Game With Debug Draw In Verse
    • diagnostics
    • diagnostics
    • Debug Settings In Fortnite Creative
    • Log Level
    VerseIsland · an archipelago of Verse & UEFN knowledge
    🗺️ Island atlas Learn Guides History About & Press Sources & Licensing Status

    Not affiliated with Epic Games. Fortnite, UEFN, Unreal Engine, and Verse are trademarks of Epic Games, Inc. Content is attributed to its source — see Sources & Licensing.

    🦜

    Scout · your island guide

    The Isle of Verse