What causes a crash when I do a build with this program?

When I build the program written below, it crashes like this.
I wrote ‘Construct()’ on line 18 of the program and when I build it, it crashes.
Does anyone know the cause of this problem?

Unhandled Exception: 0x80000003

UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
user32
user32
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
kernel32
ntdll

using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }

Othello := class(creative_device):
@editable var TileAsset : creative_prop_asset := DefaultCreativePropAsset
var TileGrid : []?creative_prop = array{}
@editable var Disc : []creative_prop = array{}
var Counter : int = 0

OnBegin<override>()<suspends>:void=
    construct()
    if(CONSTRUCT := Construct[]):
        return CONSTRUCT

Construct()<transacts><decides>:void=
    var bd : []int =
        for(i :=0..90):
            set Counter = 8
    for(y := 0..7):
        for(x := 0..7):
            set bd[pos(x,y)] = 0
    set bd[pos(3,3)] = 2
    set bd[pos(4,3)] = 1
    set bd[pos(3,4)] = 1
    set bd[pos(4,4)] = 2

    for(y := 0..7):
        for(x := 0..7):
            if(SETDISC := setDisc[x, y, bd[pos(x,y)]]):
                SETDISC

pos(x:int ,y:int)<transacts>:int=
    return (y+1) * 9 + x + 1

pos_y(p:int):int=
    if(0<=p and p<=8):
        return -1
    else if(9<=p and p<=17):
        return 0
    else if(18<=p and p<=26):
        return 1
    else if(27<=p and p<=35):
        return 2
    else if(36<=p and p<=44):
        return 3
    else if(45<=p and p<=53):
        return 4
    else if(54<=p and p<=62):
        return 5
    else if(63<=p and p<=71):
        return 6
    else if(72<=p and p<=80):
        return 7
    else:
        return 8

pos_x(p:int):int=
    if(0<=p and p<=8):
        return p - 1
    else if(9<=p and p<=17):
        return p - 10
    else if(18<=p and p<=26):
        return p - 19
    else if(27<=p and p<=35):
        return p - 28
    else if(36<=p and p<=44):
        return p - 37
    else if(45<=p and p<=53):
        return p - 46
    else if(54<=p and p<=62):
        return p - 55
    else if(63<=p and p<=71):
        return p - 64
    else if(72<=p and p<=80):
        return p - 73
    else:
        return p - 82


construct():void=
    set TileGrid =
        for (i := 0..63):
                CreateTileForIndex(i)

CreateTileForIndex(Ind : int) : ?creative_prop=
    if(0<=Ind and Ind<=7 ,XPos := float[Ind * 512.0-9000.0], YPos := float[512 * 0.0 - 2300.0 + 12.8]):
        Transform := transform{Translation := vector3{X := XPos, Y := YPos, Z := 208.0},Rotation := IdentityRotation(), Scale := vector3{X := 0.95, Y:= 0.95, Z := 1.0} }
        return SpawnProp(TileAsset, Transform)(0)
    else if(8<=Ind and Ind<=15 ,XPos := float[(Ind-8) * 512.0-9000.0], YPos := float[512 * 1.0 - 2300.0 + 12.8]):
        Transform := transform{Translation := vector3{X := XPos, Y := YPos, Z := 208.0},Rotation := IdentityRotation(), Scale := vector3{X := 0.95, Y:= 0.95, Z := 1.0} }
        return SpawnProp(TileAsset,Transform)(0)
    else if(16<=Ind and Ind<=23 ,XPos := float[(Ind-16) * 512.0-9000.0], YPos := float[512 * 2.0 - 2300.0 + 12.8]):
        Transform := transform{Translation := vector3{X := XPos, Y := YPos, Z := 208.0},Rotation := IdentityRotation(), Scale := vector3{X := 0.95, Y:= 0.95, Z := 1.0} }
        return SpawnProp(TileAsset, Transform)(0)
    else if(24<=Ind and Ind<=31 ,XPos := float[(Ind-24) * 512.0-9000.0], YPos := float[512 * 3.0 - 2300.0  + 12.8]):
        Transform := transform{Translation := vector3{X := XPos, Y := YPos, Z := 208.0},Rotation := IdentityRotation(), Scale := vector3{X := 0.95, Y:= 0.95, Z := 1.0} }
        return SpawnProp(TileAsset, Transform)(0)
    else if(32<=Ind and Ind<=39 ,XPos := float[(Ind-32) * 512.0-9000.0], YPos := float[512 * 4.0 - 2300.0 + 12.8]):
        Transform := transform{Translation := vector3{X := XPos, Y := YPos, Z := 208.0},Rotation := IdentityRotation(), Scale := vector3{X := 0.95, Y:= 0.95, Z := 1.0} }
        return SpawnProp(TileAsset, Transform)(0)
    else if(40<=Ind and Ind<=47 ,XPos := float[(Ind-40) * 512.0-9000.0], YPos := float[512 * 5.0 - 2300.0 + 12.8]):
        Transform := transform{Translation := vector3{X := XPos, Y := YPos, Z := 208.0},Rotation := IdentityRotation(), Scale := vector3{X := 0.95, Y:= 0.95, Z := 1.0} }
        return SpawnProp(TileAsset, Transform)(0)
    else if(48<=Ind and Ind<=55 ,XPos := float[(Ind-48) * 512.0-9000.0], YPos := float[512 * 6.0 - 2300.0 + 12.8]):
        Transform := transform{Translation := vector3{X := XPos, Y := YPos, Z := 208.0},Rotation := IdentityRotation(), Scale := vector3{X := 0.95, Y:= 0.95, Z := 1.0} }
        return SpawnProp(TileAsset, Transform)(0)
    else if(56<=Ind and Ind<=63 ,XPos := float[(Ind-56) * 512.0-9000.0], YPos := float[512 * 7.0 - 2300.0 + 12.8]):
        Transform := transform{Translation := vector3{X := XPos, Y := YPos, Z := 208.0},Rotation := IdentityRotation(), Scale := vector3{X := 0.95, Y:= 0.95, Z := 1.0} }
        return SpawnProp(TileAsset, Transform)(0)

    else:
        return false   

    

var cre : []creative_prop = array{}  

# (x,y) のマスに石を置く
#  d=0 : 石を消す
#  d=1 : 黒石を置く
# d=2 : 白石を置く
setDisc(x:int, y:int, d:int)<transacts><decides>:void=
    DiscTranslation := Disc[Dpos(x,y)].GetTransform().Translation
    RandX := DiscTranslation.X
    RandY := DiscTranslation.Y
    RandZ := DiscTranslation.Z
    DiscRotation :=  Disc[Dpos(x,y)].GetTransform().Rotation
    NewDiscRotation := DiscRotation.ApplyRoll(PiFloat)
    # d==0 の場合は下に隠す
    if(d = 0):
        Disc[Dpos(x,y)].TeleportTo[vector3{X := RandX, Y:= RandZ, Z := RandZ - 100.0}, IdentityRotation()]
    else if(d = 2):
        Disc[Dpos(x,y)].TeleportTo[DiscTranslation, NewDiscRotation]
    else:
        return
Dpos(x:int ,y:int)<transacts>:int=
    return 8 * y + x

@Online_Learner_B6TjD Thank you for your report! We would like to look into this further, would you be able to submit a bug report using the form available here? Fortnite Creative

OK! Thanks

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.