Skip to content

Commit

Permalink
feat: added streamer callback and settings natives
Browse files Browse the repository at this point in the history
  • Loading branch information
dockfries committed Sep 20, 2022
1 parent d685927 commit 08b96b3
Show file tree
Hide file tree
Showing 2 changed files with 147 additions and 0 deletions.
146 changes: 146 additions & 0 deletions src/controllers/streamer/common/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
import { BasePlayer } from "@/main";
import {
StreamerItemTypes,
Streamer_AmxUnloadDestroyItems,
Streamer_GetCellDistance,
Streamer_GetCellSize,
Streamer_GetChunkSize,
Streamer_GetChunkTickRate,
Streamer_GetMaxItems,
Streamer_GetPlayerTickRate,
Streamer_GetRadiusMultiplier,
Streamer_GetTickRate,
Streamer_GetTypePriority,
Streamer_GetVisibleItems,
Streamer_IsToggleChunkStream,
Streamer_IsToggleErrorCallback,
Streamer_IsToggleItemCallbacks,
Streamer_IsToggleItemInvAreas,
Streamer_IsToggleItemStatic,
Streamer_OnItemStreamIn,
Streamer_OnItemStreamOut,
Streamer_OnPluginError,
Streamer_SetCellDistance,
Streamer_SetCellSize,
Streamer_SetChunkSize,
Streamer_SetChunkTickRate,
Streamer_SetMaxItems,
Streamer_SetPlayerTickRate,
Streamer_SetRadiusMultiplier,
Streamer_SetTickRate,
Streamer_SetTypePriority,
Streamer_SetVisibleItems,
Streamer_ToggleChunkStream,
Streamer_ToggleErrorCallback,
Streamer_ToggleItemCallbacks,
Streamer_ToggleItemInvAreas,
Streamer_ToggleItemStatic,
} from "omp-wrapper-streamer";

export abstract class Streamer {
constructor() {
Streamer_OnItemStreamIn(this.onItemStreamIn);
Streamer_OnItemStreamOut(this.onItemStreamOut);
Streamer_OnPluginError(this.onPluginError);
}
public static getTickRate = Streamer_GetTickRate;
public static setTickRate = Streamer_SetTickRate;
public static getPlayerTickRate<P extends BasePlayer>(player: P): number {
return Streamer_GetPlayerTickRate(player.id);
}
public static setPlayerTickRate<P extends BasePlayer>(
player: P,
rate = 50
): number {
return Streamer_SetPlayerTickRate(player.id, rate);
}
public static toggleChunkStream = Streamer_ToggleChunkStream;
public static isToggleChunkStream = Streamer_IsToggleChunkStream;
public static getChunkTickRate<P extends BasePlayer>(
type: StreamerItemTypes,
player: number | P = -1
): number {
if (player instanceof BasePlayer) {
return Streamer_GetChunkTickRate(type, player.id);
}
return Streamer_GetChunkTickRate(type, player);
}
public static setChunkTickRate<P extends BasePlayer>(
type: StreamerItemTypes,
rate: number,
player: number | P = -1
): number {
if (player instanceof BasePlayer) {
return Streamer_SetChunkTickRate(type, rate, player.id);
}
return Streamer_SetChunkTickRate(type, rate, player);
}
public static getChunkSize = Streamer_GetChunkSize;
public static setChunkSize = Streamer_SetChunkSize;
public static getMaxItems = Streamer_GetMaxItems;
public static setMaxItems = Streamer_SetMaxItems;
public static getVisibleItems<P extends BasePlayer>(
type: StreamerItemTypes,
player: number | P = -1
): number {
if (player instanceof BasePlayer) {
return Streamer_GetVisibleItems(type, player.id);
}
return Streamer_GetVisibleItems(type, player);
}
public static setVisibleItems<P extends BasePlayer>(
type: StreamerItemTypes,
items: number,
player: number | P = -1
): number {
if (player instanceof BasePlayer) {
return Streamer_SetVisibleItems(type, items, player.id);
}
return Streamer_SetVisibleItems(type, items, player);
}
public static getRadiusMultiplier<P extends BasePlayer>(
type: StreamerItemTypes,
player: number | P = -1
): number {
if (player instanceof BasePlayer) {
return Streamer_GetRadiusMultiplier(type, player.id);
}
return Streamer_GetRadiusMultiplier(type, player);
}
public static setRadiusMultiplier<P extends BasePlayer>(
type: StreamerItemTypes,
multiplier: number,
player: number | P = -1
): number {
if (player instanceof BasePlayer) {
return Streamer_SetRadiusMultiplier(type, player.id);
}
return Streamer_SetRadiusMultiplier(type, multiplier, player);
}
public static getTypePriority = Streamer_GetTypePriority;
public static setTypePriority = Streamer_SetTypePriority;
public static getCellDistance = Streamer_GetCellDistance;
public static setCellDistance = Streamer_SetCellDistance;
public static getCellSize = Streamer_GetCellSize;
public static setCellSize = Streamer_SetCellSize;
public static toggleItemStatic = Streamer_ToggleItemStatic;
public static isToggleItemStatic = Streamer_IsToggleItemStatic;
public static toggleItemInvAreas = Streamer_ToggleItemInvAreas;
public static isToggleItemInvAreas = Streamer_IsToggleItemInvAreas;
public static toggleItemCallbacks = Streamer_ToggleItemCallbacks;
public static isToggleItemCallbacks = Streamer_IsToggleItemCallbacks;
public static toggleErrorCallback = Streamer_ToggleErrorCallback;
public static isToggleErrorCallback = Streamer_IsToggleErrorCallback;
public static amxUnloadDestroyItems = Streamer_AmxUnloadDestroyItems;
public abstract onItemStreamIn(
type: StreamerItemTypes,
id: number,
forplayerid: number
): number;
public abstract onItemStreamOut(
type: StreamerItemTypes,
id: number,
forplayerid: number
): number;
public abstract onPluginError(error: string): number;
}
1 change: 1 addition & 0 deletions src/controllers/streamer/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ export * from "./checkpoint";
export * from "./raceCP";
export * from "./actor";
export * from "./3dtext";
export * from "./common";

0 comments on commit 08b96b3

Please sign in to comment.