@beacon-oss/types
Version:
Typings for Beacon FiveM.
80 lines (76 loc) • 1.83 kB
text/typescript
interface PlayerIdentifiers {
primaryLicense: string;
licenses: string[];
steamHex?: string;
discordId?: string;
fivemId?: string;
liveId?: string;
xboxId?: string;
ipAddresses?: string[];
}
interface SocketData {
totalPlayers: number;
maxPlayers: number;
locale?: string;
serverDescription: string;
serverName: string;
tags: string;
serverInformation: {
status: "online" | "offline";
artifactVersion: string;
artifactOs: "windows" | "linux" | "unknown";
resourceCount: number;
txAdminVersion: string;
onesyncEnabled: string;
enforceGameBuild: string;
pureLevel: string;
};
}
interface SocketPlayer {
id: string;
identifiers: PlayerIdentifiers;
name: string;
characterName?: string;
isStaff: boolean;
isInVehicle: boolean;
mugshot?: string;
job?: {
name?: string;
grade?: string | number;
};
vehicle?: {
model: string;
plate: string;
};
}
interface SocketPlayersPositions {
[id: string]: {
x: number;
y: number;
z: number;
};
}
interface ServerSocket extends SocketData {
players: Array<SocketPlayer>;
}
type EventType = 'ban' | 'kick' | 'unban' | 'server-action' | 'warning';
interface StaffEvent {
actionId: string;
type: EventType;
reason: string;
timestamp: string;
staffMember: {
id: string;
name: string;
role: string;
};
targetPlayer: {
name: string;
identifiers: PlayerIdentifiers;
};
}
interface StaffEvents {
total_events: number;
events: Array<StaffEvent>;
}
export type { EventType, PlayerIdentifiers, ServerSocket, SocketData, SocketPlayer, SocketPlayersPositions, StaffEvent, StaffEvents };