I am learning with flamework components, what's wrong over here?

import { BaseComponent, Component } from "@flamework/components";
import { OnStart } from "@flamework/core";
import { RunService } from "@rbxts/services";
import { vector3_64, vector_64_operations } from "shared/data/globalData";

interface SpaceBody extends BasePart {
UniversePosition: vector3_64;
UniverseSize: vector3_64;
}

@Component({ tag: "SpaceBody" })
class SpatialDistance extends BaseComponent<{}, SpaceBody> implements OnStart {
private camera: Camera;

constructor() {
super();
this.camera = game.Workspace.CurrentCamera!;
this.instance.UniversePosition = vector_64_operations.create(0, 0, 0);
this.instance.UniversePosition = vector_64_operations.create(50, 50, 50);
}

onStart(): void {
print("woa i work ig");
RunService.RenderStepped.Connect(() => this.updateVisual());
}

private updateVisual(): void {
const cameraPosition = this.camera.CFrame.Position;
const spaceBodyMagnitude = this.instance.Position.sub(cameraPosition).Magnitude;
this.instance.Size = vector_64_operations.toVector3(
vector_64_operations.div(this.instance.UniverseSize, spaceBodyMagnitude),
);
}
}
import { BaseComponent, Component } from "@flamework/components";
import { OnStart } from "@flamework/core";
import { RunService } from "@rbxts/services";
import { vector3_64, vector_64_operations } from "shared/data/globalData";

interface SpaceBody extends BasePart {
UniversePosition: vector3_64;
UniverseSize: vector3_64;
}

@Component({ tag: "SpaceBody" })
class SpatialDistance extends BaseComponent<{}, SpaceBody> implements OnStart {
private camera: Camera;

constructor() {
super();
this.camera = game.Workspace.CurrentCamera!;
this.instance.UniversePosition = vector_64_operations.create(0, 0, 0);
this.instance.UniversePosition = vector_64_operations.create(50, 50, 50);
}

onStart(): void {
print("woa i work ig");
RunService.RenderStepped.Connect(() => this.updateVisual());
}

private updateVisual(): void {
const cameraPosition = this.camera.CFrame.Position;
const spaceBodyMagnitude = this.instance.Position.sub(cameraPosition).Magnitude;
this.instance.Size = vector_64_operations.toVector3(
vector_64_operations.div(this.instance.UniverseSize, spaceBodyMagnitude),
);
}
}
1 Reply
Nightmare
NightmareOP2w ago
only errors I am getting
16:48:30.116 [Flamework] Infinite yield possible on instance 'Workspace.uwu' - Server - componentTracker:169
16:48:30.118 Waiting for component 'server/components/SpatialDistance@SpatialDistance' - Server - componentTracker:170
16:48:30.118 Waiting for the following criteria: type guard - Server - componentTracker:171
16:48:30.116 [Flamework] Infinite yield possible on instance 'Workspace.uwu' - Server - componentTracker:169
16:48:30.118 Waiting for component 'server/components/SpatialDistance@SpatialDistance' - Server - componentTracker:170
16:48:30.118 Waiting for the following criteria: type guard - Server - componentTracker:171
oh wait nvm nothing okey uh discovered that the problem is in the custom instance but how to fix that vector3_64 is basically just this
export type vector3_64 = {
x: number;
y: number;
z: number;
};
export type vector3_64 = {
x: number;
y: number;
z: number;
};

Did you find this page helpful?