Skip to content
This repository was archived by the owner on Mar 22, 2026. It is now read-only.

Commit 9d9e103

Browse files
committed
feat(core): add npc angle to pos natives
1 parent ce75809 commit 9d9e103

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

packages/core/src/components/npc/entity.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,6 +1021,18 @@ export class Npc {
10211021
}
10221022
return Npc.__inject__.getCustomSkin(this._id);
10231023
}
1024+
setAngleToPos(x: number, y: number, z: number) {
1025+
if (this.id === InvalidEnum.NPC_ID) {
1026+
throw new Error("[Npc]: Cannot setAngleToPos before create");
1027+
}
1028+
return Npc.__inject__.setAngleToPos(this._id, x, y, z);
1029+
}
1030+
setAngleToPlayer(player: Player) {
1031+
if (this.id === InvalidEnum.NPC_ID) {
1032+
throw new Error("[Npc]: Cannot setAngleToPlayer before create");
1033+
}
1034+
return Npc.__inject__.setAngleToPlayer(this._id, player.id);
1035+
}
10241036
static startRecordingPlayerData(
10251037
player: Player,
10261038
recordType: RecordTypesEnum,
@@ -1174,6 +1186,8 @@ export class Npc {
11741186
getPlayerMovingTo: w.NPC_GetPlayerMovingTo,
11751187
getPosMovingTo: w.NPC_GetPosMovingTo,
11761188
getCustomSkin: w.NPC_GetCustomSkin,
1189+
setAngleToPos: w.NPC_SetAngleToPos,
1190+
setAngleToPlayer: w.NPC_SetAngleToPlayer,
11771191

11781192
startRecordingPlayerData: w.StartRecordingPlayerData,
11791193
stopRecordingPlayerData: w.StopRecordingPlayerData,

packages/core/src/wrapper/native/npc.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -918,3 +918,16 @@ export const NPC_GetPosMovingTo = (id: number) => {
918918
export const NPC_GetCustomSkin = (id: number) => {
919919
return samp.callNative("NPC_GetCustomSkin", "i", id) as number;
920920
};
921+
922+
export const NPC_SetAngleToPos = (
923+
id: number,
924+
x: number,
925+
y: number,
926+
z: number,
927+
) => {
928+
return !!samp.callNative("NPC_SetAngleToPos", "ifff", id, x, y, z);
929+
};
930+
931+
export const NPC_SetAngleToPlayer = (id: number, playerId: number) => {
932+
return !!samp.callNative("NPC_SetAngleToPlayer", "ii", id, playerId);
933+
};

0 commit comments

Comments
 (0)